show static method

Future<bool?> show({
  1. BuildContext? context,
  2. required String title,
  3. required String message,
  4. String? confirmLabel,
  5. String? cancelLabel,
  6. bool? barrierDismissible,
  7. DraftModeUIDialogStyle mode = DraftModeUIDialogStyle.confirm,
  8. Duration? autoConfirm,
})

Displays the dialog using platform-aware styling and returns the choice.

Provide a context argument or call DraftModeUIContext.init earlier in the app lifecycle so the helper can derive a fallback navigator context.

Implementation

static Future<bool?> show({
  BuildContext? context,
  required String title,
  required String message,
  String? confirmLabel,
  String? cancelLabel,
  bool? barrierDismissible,
  DraftModeUIDialogStyle mode = DraftModeUIDialogStyle.confirm,
  Duration? autoConfirm,
}) async {
  final resolvedContext = DraftModeUIContext.buildContext(context);
  final style = DraftModeUIPlatform.resolveStyle(resolvedContext);
  final bool dismissible =
      barrierDismissible ?? style == DraftModePlatformStyle.android;
  final widget = DraftModeUIDialog(
    title: title,
    message: message,
    confirmLabel: confirmLabel,
    cancelLabel: cancelLabel,
    mode: mode,
    autoConfirm: autoConfirm,
  );

  if (style == DraftModePlatformStyle.ios) {
    return showCupertinoDialog<bool>(
      context: resolvedContext,
      barrierDismissible: dismissible,
      builder: (_) => widget,
    );
  }

  return material.showDialog<bool>(
    context: resolvedContext,
    barrierDismissible: dismissible,
    builder: (_) => widget,
  );
}