snackbar static method
Widget
snackbar({
- required BuildContext context,
- required Exception error,
- required VoidCallback onRetry,
- String? message,
- Color? backgroundColor,
Creates a snackbar-style error widget that appears at the bottom
Best for non-intrusive error messages that don't block content
Implementation
static Widget snackbar({
required BuildContext context,
required Exception error,
required VoidCallback onRetry,
String? message,
Color? backgroundColor,
}) {
return Align(
alignment: Alignment.bottomCenter,
child: Container(
margin: const EdgeInsets.all(16.0),
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0),
decoration: BoxDecoration(
color: backgroundColor ?? Colors.grey[900],
borderRadius: BorderRadius.circular(8),
),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
const Icon(
Icons.error_outline,
color: Colors.white,
size: 20,
),
const SizedBox(width: 12),
Flexible(
child: Text(
message ?? 'Failed to load',
style: const TextStyle(color: Colors.white),
),
),
const SizedBox(width: 12),
TextButton(
onPressed: onRetry,
child: const Text(
'RETRY',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
),
],
),
),
);
}