snapWidgetHelper<T> method

Widget snapWidgetHelper<T>(
  1. AsyncSnapshot<T> snap, {
  2. Widget? errorWidget,
  3. Widget? loadingWidget,
  4. String? defaultErrorMessage,
  5. BuildContext? context,
  6. @Deprecated('Do not use this') bool checkHasData = false,
})

Handle error and loading widget when using FutureBuilder or StreamBuilder

Implementation

Widget snapWidgetHelper<T>(
  AsyncSnapshot<T> snap, {
  Widget? errorWidget,
  Widget? loadingWidget,
  String? defaultErrorMessage,
  BuildContext? context,
  @Deprecated('Do not use this') bool checkHasData = false,
}) {
  if (snap.hasError) {
    FuLog(snap.error.toString());
    return errorWidget ??
        Text(
          defaultErrorMessage ?? snap.error.toString(),
          style: FuTextStyle.primaryTextStyle(),
        ).center();
  } else if (!snap.hasData) {
    return loadingWidget ??
        CircularProgressIndicator(color: context?.theme.primaryColor);
  } else {
    return const SizedBox();
  }
}