streamBuilderHelper function

Widget streamBuilderHelper({
  1. required AsyncSnapshot snapshot,
  2. required BuildContext context,
  3. Widget? hasError,
  4. Widget? connectionNone,
  5. Widget? connectionWaiting,
  6. Widget? connectionActive,
  7. 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");
  }
}