streamBuilderHelper function
Widget
streamBuilderHelper({
- required AsyncSnapshot snapshot,
- required BuildContext context,
- Widget? hasError,
- Widget? connectionNone,
- Widget? connectionWaiting,
- Widget? connectionActive,
- Widget? connectionDone,
Implementation
Widget streamBuilderHelper({
required AsyncSnapshot<dynamic> snapshot,
required BuildContext context,
Widget? hasError,
Widget? connectionNone,
Widget? connectionWaiting,
Widget? connectionActive,
Widget? connectionDone,
}) {
if (snapshot.hasError) {
return hasError ?? Text("Upps! I have an Error ${snapshot.error}");
} else if (snapshot.hasData) {
switch (snapshot.connectionState) {
case ConnectionState.none:
return connectionNone ?? const Text("Stream Connection is None");
case ConnectionState.waiting:
return connectionWaiting ??
const CircularProgressIndicator(
backgroundColor: Colors.black,
valueColor: AlwaysStoppedAnimation<Color>(Colors.yellow),
);
case ConnectionState.active:
return connectionActive ??
const Text("My Stream have a Datas is Active Connection");
case ConnectionState.done:
return connectionDone ?? const Text("My Stream Connection is Done");
default:
return const Text("Return is Default Connection");
}
} else {
return const Text("Return is Else variant");
}
}