present method

void present(
  1. BuildContext context, {
  2. required Widget child,
  3. Duration? duration,
})

Inserts child in a snackbar host, replacing any current bar.

When duration is null, the bar stays until dismiss, close, action, or Escape.

Implementation

void present(
  BuildContext context, {
  required Widget child,
  Duration? duration,
}) {
  if (_disposed) {
    return;
  }
  final OverlayState overlay = Overlay.of(context, rootOverlay: true);
  dismiss(immediate: true);

  late final OverlayEntry entry;
  entry = OverlayEntry(
    builder: (BuildContext context) {
      return M3ESnackbarHost(
        duration: duration,
        entry: entry,
        controller: this,
        child: child,
      );
    },
  );
  _entry = entry;
  overlay.insert(entry);
  _notify();
}