showBottomSheetError static method
Implementation
static Future<bool> showBottomSheetError({
required dynamic exception,
List<String>? ignoreErrors,
String? additionalInfo,
String? processMessage,
Widget? additionalWidget,
bool withRetryButton = false,
bool isError = true,
String? customCloseButtonLabel,
}) async {
if (BasfLogicLocalizationUtils.appNavigatorKey.currentContext != null) {
final String message = resolveLongExceptionMessage(exception);
final String shortMessage = resolveShortExceptionMessage(exception);
if (ignoreErrors?.any(
(i) => message.contains(i) || shortMessage.contains(i),
) ??
false) {
return false;
}
final BuildContext context =
BasfLogicLocalizationUtils.appNavigatorKey.currentContext!;
final bool? retry = await showCustomModalBottomSheet(
context: context,
constraints: BoxConstraints(
maxHeight: MediaQuery.of(context).size.height * 0.8,
maxWidth: 500,
),
builder: (context) {
final warningMessage = [?processMessage, shortMessage].join('\n\n');
final modalAdditionalInfo = [
if (shortMessage != message) message,
?additionalInfo,
];
if (additionalWidget == null) {
return WarningModalLayout(
warningMessage: warningMessage,
additionalInfo: modalAdditionalInfo,
customButtonLabel: customCloseButtonLabel,
isError: isError,
withRetryButton: withRetryButton,
);
}
return _WarningModalLayoutWithAdditionalWidget(
warningMessage: warningMessage,
additionalInfo: modalAdditionalInfo,
customButtonLabel: customCloseButtonLabel,
isError: isError,
withRetryButton: withRetryButton,
additionalWidget: additionalWidget,
);
},
);
return retry ?? false;
} else {
showSnackBarError(exception: exception);
return false;
}
}