import 'package:flutter/material.dart'; /// Show a simple message dialog void showMsg(BuildContext context, String title, String content) { showDialog( context: context, builder: (context) => AlertDialog( title: Text(title), content: Text(content), actions: [ TextButton( onPressed: () { Navigator.of(context).pop(); }, child: const Text('OK'), ), ], ), ); } /// Show an error colored SnackBar with a [Dismiss] Button void showErrorSnackBar(BuildContext context, String message) { ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text( message, style: TextStyle( fontSize: 16, color: Theme.of(context).colorScheme.onErrorContainer, ), ), backgroundColor: Theme.of(context).colorScheme.errorContainer, action: SnackBarAction( label: 'Dismiss', textColor: Theme.of(context).colorScheme.primary, onPressed: () { ScaffoldMessenger.of(context).hideCurrentSnackBar(); }, ), ), ); } /// Show a confirmation dialog and return [true] on confirm, /// [false] on cancel, or null otherwise. Future showConfirmationDialog( BuildContext context, String title, String content) async { bool? confirm = await showDialog( context: context, builder: (BuildContext context) { return AlertDialog( title: Text(title), content: Text(content), actions: [ TextButton( onPressed: () => Navigator.of(context).pop(false), child: const Text('Cancel'), ), TextButton( onPressed: () => Navigator.of(context).pop(true), child: const Text('Confirm'), ), ], ); }, ); return confirm; }