empty_state.dart 990 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:flutter/material.dart';
  2. class EmptyState extends StatelessWidget {
  3. final IconData icon;
  4. final String title;
  5. final String? subtitle;
  6. const EmptyState({
  7. super.key,
  8. required this.icon,
  9. required this.title,
  10. this.subtitle,
  11. });
  12. @override
  13. Widget build(BuildContext context) {
  14. return Center(
  15. child: Padding(
  16. padding: const EdgeInsets.all(32),
  17. child: Column(
  18. mainAxisSize: MainAxisSize.min,
  19. children: [
  20. Icon(icon, size: 64, color: Theme.of(context).colorScheme.outline),
  21. const SizedBox(height: 16),
  22. Text(title, style: Theme.of(context).textTheme.titleMedium),
  23. if (subtitle != null) ...[
  24. const SizedBox(height: 8),
  25. Text(subtitle!, style: Theme.of(context).textTheme.bodyMedium?.copyWith(
  26. color: Theme.of(context).colorScheme.outline,
  27. )),
  28. ],
  29. ],
  30. ),
  31. ),
  32. );
  33. }
  34. }