import 'package:flutter/material.dart'; class AppEmptyState extends StatelessWidget { const AppEmptyState({ super.key, required this.icon, required this.title, required this.message, this.action, }); final IconData icon; final String title; final String message; final Widget? action; @override Widget build(BuildContext context) { final theme = Theme.of(context); return Center( child: Padding( padding: const EdgeInsets.all(24), child: Column( mainAxisSize: MainAxisSize.min, children: [ Icon(icon, size: 52, color: theme.colorScheme.primary), const SizedBox(height: 14), Text(title, style: theme.textTheme.titleLarge), const SizedBox(height: 8), Text( message, textAlign: TextAlign.center, style: theme.textTheme.bodyMedium?.copyWith( color: theme.colorScheme.onSurfaceVariant, ), ), if (action != null) ...[const SizedBox(height: 16), action!], ], ), ), ); } }