content: import 'package:flutter/material.dart';
  import 'package:flutter/cupertino.dart';
  import 'dart:io' show Platform;
  
  /// Reusable empty state widget for various scenarios
  /// 
  /// Features:
  /// - Platform-specific design
  /// - Customizable icon, title, message, and action
  /// - Consistent styling across the app
  /// - Support for both informational and actionable empty states
  class EmptyStateWidget extends StatelessWidget {
    /// Icon to display in the empty state
    final IconData icon;
    
    /// Title text for the empty state
    final String title;
    
    /// Descriptive message explaining the empty state
    final String message;
    
    /// Text for the action button (optional)
    final String? actionText;
    
    /// Callback for the action button (optional)
    final VoidCallback? onAction;
  
    const EmptyStateWidget({
      super.key,
      required this.icon,
      required this.title,
      required this.message,
      this.actionText,
      this.onAction,
    });
  
    @override
    Widget build(BuildContext context) {
      if (Platform.isIOS) {
        return _buildCupertinoEmptyState(context);
      } else {
        return _buildMaterialEmptyState(context);
      }
    }
  
    /// Builds iOS-style empty state
    Widget _buildCupertinoEmptyState(BuildContext context) {
      return Expanded(
        child: Center(
          child: Padding(
            padding: const EdgeInsets.all(32),
            child: Column(
              mainAxisSize: MainAxisSize.min,
              children: [
                Icon(
                  icon,
                  size: 80,
                  color: CupertinoColors.secondaryLabel.resolveFrom(context),
                ),
                const SizedBox(height: 24),
                Text(
                  title,
                  style: TextStyle(
                    fontSize: 20,
                    fontWeight: FontWeight.w600,
                    color: CupertinoColors.label.resolveFrom(context),
                  ),
                  textAlign: TextAlign.center,
                ),
                const SizedBox(height: 12),
                Text(
                  message,
                  style: TextStyle(
                    fontSize: 16,
                    color: CupertinoColors.secondaryLabel.resolveFrom(context),
                  ),
                  textAlign: TextAlign.center,
                ),
                if (actionText != null && onAction != null) ...[
                  const SizedBox(height: 24),
                  CupertinoButton.filled(
                    onPressed: onAction,
                    child: Text(actionText!),
                  ),
                ],
              ],
            ),
          ),
        ),
      );
    }
  
    /// Builds Android-style empty state
    Widget _buildMaterialEmptyState(BuildContext context) {
      final theme = Theme.of(context);
      
      return Expanded(
        child: Center(
          child: Padding(
            padding: const EdgeInsets.all(32),
            child: Column(
              mainAxisSize: MainAxisSize.min,
              children: [
                Icon(
                  icon,
                  size: 80,
                  color: theme.colorScheme.onSurfaceVariant,
                ),
                const SizedBox(height: 24),
                Text(
                  title,
                  style: theme.textTheme.headlineSmall?.copyWith(
                    fontWeight: FontWeight.w600,
                    color: theme.colorScheme.onSurface,
                  ),
                  textAlign: TextAlign.center,
                ),
                const SizedBox(height: 12),
                Text(
                  message,
                  style: theme.textTheme.bodyLarge?.copyWith(
                    color: theme.colorScheme.onSurfaceVariant,
                  ),
                  textAlign: TextAlign.center,
                ),
                if (actionText != null && onAction != null) ...[
                  const SizedBox(height: 24),
                  ElevatedButton(
                    onPressed: onAction,
                    child: Text(actionText!),
                  ),
                ],
              ],
            ),
          ),
        ),
      );
    }
  }
  