import 'package:flutter/material.dart'; import '../../../core/theme/app_theme.dart'; /// 空状态组件 /// 统一的空数据展示样式 class EmptyStateWidget extends StatelessWidget { final IconData icon; final String message; final String? actionText; final VoidCallback? onAction; const EmptyStateWidget({ super.key, required this.icon, required this.message, this.actionText, this.onAction, }); @override Widget build(BuildContext context) { return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon( icon, size: 64, color: AppTheme.idleColor, ), const SizedBox(height: 16), Text( message, style: TextStyle( color: AppTheme.textSecondary, fontSize: 16, ), ), if (actionText != null && onAction != null) ...[ const SizedBox(height: 24), ElevatedButton.icon( onPressed: onAction, icon: const Icon(Icons.add, size: 20), label: Text(actionText!), style: ElevatedButton.styleFrom( backgroundColor: AppTheme.primaryColor, foregroundColor: Colors.white, ), ), ], ], ), ); } }