openAppDialog<T> function

Future<DialogAnswer<T>> openAppDialog<T>({
  1. required BuildContext context,
  2. required Widget builder(
    1. DialogCompleter<T>
    ),
  3. bool barrierDismissible = true,
})

Implementation

Future<DialogAnswer<T>> openAppDialog<T>({
  required BuildContext context,
  required Widget Function(DialogCompleter<T>) builder,
  bool barrierDismissible = true,
}) async {
  final rawAnswer = await showGeneralDialog<DialogAnswer<T>>(
    context: context,
    barrierDismissible: barrierDismissible,
    barrierLabel: 'dialog_barrier_label',
    barrierColor: Colors.black54,
    transitionDuration: Duration.zero,
    transitionBuilder: (ctx, a, sa, child) => child,
    pageBuilder: (ctx, a1, a2) =>
        Center(child: builder(DialogCompleter<T>(context: ctx))),
  );
  return rawAnswer ?? DialogAnswerCanceled<T>();
}