show<T> method

  1. @override
Future<T?> show<T>(
  1. BuildContext context, {
  2. required String title,
  3. String? content,
  4. required List<AdaptiveDialogButtonBuilder> actionButtons,
  5. bool dismissible = false,
  6. bool useRootNavigator = false,
  7. Brightness? brightness,
})
override

Implementation

@override
Future<T?> show<T>(
  BuildContext context, {
  required String title,
  String? content,
  required List<AdaptiveDialogButtonBuilder> actionButtons,
  bool dismissible = false,
  bool useRootNavigator = false,
  Brightness? brightness,
}) {
  List<Widget> getActions(BuildContext context) => actionButtons
      .map(
        (e) => AdaptiveDialogButton(TargetPlatform.android).build(
          context,
          text: e.text,
          onPressed: e.onPressed,
          isDefaultAction: e.isDefaultAction,
          isDestructiveAction: e.isDestructiveAction,
        ),
      )
      .toList();

  return showDialog<T>(
    context: context,
    barrierDismissible: dismissible,
    useRootNavigator: useRootNavigator,
    builder: (context) {
      return PopScope(
        canPop: dismissible,
        child: AlertDialog.adaptive(
          title: Text(title),
          content: content != null ? Text(content) : null,
          actions: getActions(context),
        ),
      );
    },
  );
}