showOverlayDialog<T> function

Future<T?> showOverlayDialog<T>({
  1. required BuildContext context,
  2. required OverlayDialogBuilder<T> builder,
})

Implementation

Future<T?> showOverlayDialog<T>({
  required BuildContext context,
  required OverlayDialogBuilder<T> builder,
}) {
  final completer = Completer<T?>();
  OverlayEntry? entry;

  entry = OverlayEntry(
    opaque: false,
    builder: (context) {
      return builder(context, completer, entry);
    },
  );

  Overlay.of(context).insert(entry);

  return completer.future;
}