Files
retail/lib/core/widgets/error_widget.dart
Phuoc Nguyen b94c158004 runable
2025-10-10 16:38:07 +07:00

49 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
/// Error display widget
class ErrorDisplay extends StatelessWidget {
final String message;
final VoidCallback? onRetry;
final IconData? icon;
const ErrorDisplay({
super.key,
required this.message,
this.onRetry,
this.icon,
});
@override
Widget build(BuildContext context) {
return Center(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
icon ?? Icons.error_outline,
size: 64,
color: Theme.of(context).colorScheme.error,
),
const SizedBox(height: 16),
Text(
message,
style: Theme.of(context).textTheme.titleMedium,
textAlign: TextAlign.center,
),
if (onRetry != null) ...[
const SizedBox(height: 24),
ElevatedButton.icon(
onPressed: onRetry,
icon: const Icon(Icons.refresh),
label: const Text('Retry'),
),
],
],
),
),
);
}
}