import 'package:flutter/material.dart'; import '../core/app_colors.dart'; class AppEmptyState extends StatelessWidget { final IconData icon; final String title; final String? subtitle; final Widget? action; final Color iconColor; final Color? iconBackground; final EdgeInsetsGeometry padding; const AppEmptyState({ super.key, required this.icon, required this.title, this.subtitle, this.action, this.iconColor = AppColors.primaryDark, this.iconBackground, this.padding = const EdgeInsets.all(48), }); @override Widget build(BuildContext context) { return Center( child: Padding( padding: padding, child: Column( mainAxisSize: MainAxisSize.min, children: [ Container( key: const ValueKey('empty-state-icon-surface'), width: 72, height: 72, decoration: BoxDecoration( color: iconBackground ?? iconColor.withValues(alpha: 0.09), shape: BoxShape.circle, ), child: Icon(icon, size: 32, color: iconColor), ), const SizedBox(height: 16), Text( title, style: const TextStyle( fontSize: 17, fontWeight: FontWeight.w700, color: AppColors.textPrimary, ), textAlign: TextAlign.center, ), if (subtitle != null) ...[ const SizedBox(height: 6), Text( subtitle!, style: const TextStyle( fontSize: 14, color: AppColors.textSecondary, ), textAlign: TextAlign.center, ), ], if (action != null) ...[const SizedBox(height: 20), action!], ], ), ), ); } }