showSafaehConfirm function
Future<bool?>
showSafaehConfirm({
- required BuildContext context,
- required String title,
- required String content,
- required String confirmLabel,
- String? cancelLabel,
- bool isDestructive = false,
- bool dismissReturnsFalse = false,
- SafaehTitleBuilder? titleBuilder,
- SafaehTitleBuilder? contentBuilder,
- double railWidthOf(
- BuildContext context
- SafaehTransition? fadeScale,
- SafaehTransition? slideUp,
- SafaehPhoneSheetPlacement phonePlacement = SafaehPhoneSheetPlacement.bottom,
- double? tabletBreakpoint,
- Duration? motion,
- Curve? enterCurve,
- Curve? exitCurve,
- double? maxWidth,
- double? maxHeight,
- bool barrierDismissible = true,
- bool showTitleInBody = true,
- SafaehRouteOptions? route,
Adaptive confirm. Hosts pass every label — no .tr() here.
Returns true if confirmed, false if cancelled, null if dismissed.
Pass dismissReturnsFalse so a barrier tap or tablet close also yields
false (hosts that treat only ok == true as confirm can ignore this).
Implementation
Future<bool?> showSafaehConfirm({
required BuildContext context,
required String title,
required String content,
required String confirmLabel,
String? cancelLabel,
bool isDestructive = false,
bool dismissReturnsFalse = false,
SafaehTitleBuilder? titleBuilder,
SafaehTitleBuilder? contentBuilder,
double Function(BuildContext context)? railWidthOf,
SafaehTransition? fadeScale,
SafaehTransition? slideUp,
SafaehPhoneSheetPlacement phonePlacement = SafaehPhoneSheetPlacement.bottom,
double? tabletBreakpoint,
Duration? motion,
Curve? enterCurve,
Curve? exitCurve,
double? maxWidth,
double? maxHeight,
bool barrierDismissible = true,
bool useRootNavigator = true,
bool showTitleInBody = true,
SafaehRouteOptions? route,
}) {
return showSafaeh<bool>(
context: context,
title: title,
titleBuilder: titleBuilder,
maxWidth: maxWidth,
maxHeight: maxHeight,
barrierDismissible: barrierDismissible,
tabletBreakpoint: tabletBreakpoint,
motion: motion,
enterCurve: enterCurve,
exitCurve: exitCurve,
railWidthOf: railWidthOf,
fadeScale: fadeScale,
slideUp: slideUp,
phonePlacement: phonePlacement,
dismissValue: dismissReturnsFalse ? false : null,
useRootNavigator: useRootNavigator,
paintPhoneTitle: !showTitleInBody,
route: route,
child: SafaehConfirmSheet(
title: title,
content: content,
confirmLabel: confirmLabel,
cancelLabel: cancelLabel,
isDestructive: isDestructive,
showTitleInBody: showTitleInBody,
titleBuilder: titleBuilder,
contentBuilder: contentBuilder,
tabletBreakpoint: tabletBreakpoint,
),
);
}