show static method

void show(
  1. BuildContext context, {
  2. required String message,
  3. String? title,
  4. Color color = const Color(0xFF2962FF),
  5. IconData? icon,
  6. Duration duration = const Duration(milliseconds: 2500),
})

Displays a responsive toast notification.

Implementation

static void show(
  BuildContext context, {
  required String message,
  String? title,
  Color color = const Color(0xFF2962FF),
  IconData? icon,
  Duration duration = const Duration(milliseconds: 2500),
}) {
  // Dismiss any existing toast before displaying the new one
  dismiss();

  final overlay = Overlay.maybeOf(context);
  if (overlay == null) return;

  final mediaQuery = MediaQuery.of(context);
  final isMobile = mediaQuery.size.width < 600;

  late OverlayEntry entry;
  entry = OverlayEntry(
    builder: (ctx) => _ToastAnimationWrapper(
      message: message,
      title: title,
      color: color,
      icon: icon,
      isMobile: isMobile,
      topPadding: isMobile ? mediaQuery.padding.top + 10 : 18.0,
      onDismiss: () => dismiss(),
    ),
  );

  _currentEntry = entry;
  overlay.insert(entry);

  _dismissTimer = Timer(duration, () {
    dismiss();
  });
}