class AppConstants {
  // App Info
  static const String appName = 'AMORI Menu Recommender';
  static const String appVersion = '1.0.0';
  static const String kafeName = 'Amori Kofie Kediri';

  // Firebase Collections
  static const String usersCollection = 'users';
  static const String recommendationsCollection = 'recommendations';
  static const String menusCollection = 'menus';

  // Shared Preferences Keys
  static const String isFirstLaunchKey = 'is_first_launch';
  static const String userPreferencesKey = 'user_preferences';
  static const String themeKey = 'theme_mode';

  // Hive Boxes
  static const String userPreferencesBox = 'user_preferences';
  static const String recommendationsBox = 'recommendations';
  static const String menusBox = 'menus';

  // API Keys (akan diisi dari environment variables)
  static const String geminiApiKey = String.fromEnvironment('GEMINI_API_KEY');

  // Image Picker Settings
  static const int maxImageWidth = 1024;
  static const int maxImageHeight = 1024;
  static const int imageQuality = 85;

  // OCR Settings
  static const double ocrConfidenceThreshold = 0.7;

  // UI Constants
  static const double defaultPadding = 16.0;
  static const double smallPadding = 8.0;
  static const double largePadding = 24.0;
  static const double borderRadius = 12.0;
  static const double smallBorderRadius = 8.0;
  static const double largeBorderRadius = 20.0;

  // Animation Durations
  static const Duration shortAnimation = Duration(milliseconds: 200);
  static const Duration mediumAnimation = Duration(milliseconds: 300);
  static const Duration longAnimation = Duration(milliseconds: 500);

  // Network Timeouts
  static const Duration connectionTimeout = Duration(seconds: 30);
  static const Duration receiveTimeout = Duration(seconds: 30);
}
