import 'package:flutter/material.dart'; import 'package:lucide_icons_flutter/lucide_icons.dart' as lucide; import 'package:shadcn_ui/shadcn_ui.dart'; /// 데이터가 없을 때 사용자에게 명확한 안내를 제공하는 공통 위젯. class SuperportEmptyState extends StatelessWidget { const SuperportEmptyState({ super.key, required this.title, this.description, this.icon = lucide.LucideIcons.inbox, this.action, }); final String title; final String? description; final IconData? icon; final Widget? action; @override Widget build(BuildContext context) { final theme = ShadTheme.of(context); return Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ if (icon != null) Icon(icon, size: 48, color: theme.colorScheme.mutedForeground), const SizedBox(height: 16), Text(title, style: theme.textTheme.h4), if (description != null) ...[ const SizedBox(height: 8), Text( description!, style: theme.textTheme.muted, textAlign: TextAlign.center, ), ], if (action != null) ...[const SizedBox(height: 20), action!], ], ), ); } }