import 'package:flutter/material.dart'; class EmptyStateWidget extends StatelessWidget { final IconData icon; final String message; final String? actionButtonText; final VoidCallback? onActionButtonPressed; const EmptyStateWidget({ super.key, required this.icon, required this.message, this.actionButtonText, this.onActionButtonPressed, }); @override Widget build(BuildContext context) { final theme = Theme.of(context); return Center( child: Padding( padding: const EdgeInsets.all(20.0), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ Icon( icon, size: 80, color: theme.textTheme.bodySmall?.color?.withOpacity(0.6), ), const SizedBox(height: 20), Text( message, textAlign: TextAlign.center, style: theme.textTheme.titleLarge?.copyWith( color: theme.textTheme.bodyMedium?.color?.withOpacity(0.8), ), ), if (actionButtonText != null && onActionButtonPressed != null) ...[ const SizedBox(height: 24), ElevatedButton( onPressed: onActionButtonPressed, child: Text(actionButtonText!), ), ] ], ), ), ); } }