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); }