snapWidgetHelper<T> method
Widget
snapWidgetHelper<T>(
- AsyncSnapshot<
T> snap, { - Widget? errorWidget,
- Widget? loadingWidget,
- String? defaultErrorMessage,
- BuildContext? context,
- @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();
}
}