import 'package:flutter/material.dart'; /// A centered empty state display with icon, title, and optional subtitle/action. class EmptyState extends StatelessWidget { final IconData icon; final String title; final String? subtitle; final Widget? action; const EmptyState({ super.key, required this.icon, required this.title, this.subtitle, this.action, }); @override Widget build(BuildContext context) { return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(icon, size: 64, color: Colors.grey[400]), const SizedBox(height: 16), Text(title, style: TextStyle(fontSize: 16, color: Colors.grey[600])), if (subtitle != null) ...[ const SizedBox(height: 8), Text( subtitle!, style: TextStyle(fontSize: 14, color: Colors.grey[500]), textAlign: TextAlign.center, ), ], if (action != null) ...[const SizedBox(height: 24), action!], ], ), ); } }