class AppConstants {
  // App Info
  static const String appName = 'Drama Ling';
  static const String appVersion = '1.0.0';
  
  // API Configuration
  static const String baseUrl = 'https://api.dramaling.com';
  static const String apiVersion = 'v1';
  static const String apiBaseUrl = '$baseUrl/api/$apiVersion';
  
  // Local API for Development
  static const String localBaseUrl = 'http://localhost:5000';
  static const String localApiBaseUrl = '$localBaseUrl/api/$apiVersion';
  
  // Storage Keys
  static const String accessTokenKey = 'access_token';
  static const String refreshTokenKey = 'refresh_token';
  static const String userDataKey = 'user_data';
  static const String languageKey = 'language';
  static const String themeKey = 'theme';
  
  // Learning Constants
  static const int maxLifePoints = 5;
  static const int lifePointRecoveryHours = 5;
  static const int dailyExperienceBonus = 50;
  
  // Dialogue Constants
  static const int maxDialogueTurns = 12;
  static const int dialogueTimeoutSeconds = 600; // 10 minutes
  static const double passingScore = 60.0;
  static const double excellentScore = 90.0;
  
  // Time Challenge Constants
  static const int timeChallengeSeconds = 300; // 5 minutes
  static const int timeWarningSeconds = 60;
  static const int timeCriticalSeconds = 30;
  
  // Animation Durations
  static const Duration shortAnimation = Duration(milliseconds: 200);
  static const Duration normalAnimation = Duration(milliseconds: 300);
  static const Duration longAnimation = Duration(milliseconds: 500);
  
  // Network
  static const Duration connectionTimeout = Duration(seconds: 30);
  static const Duration receiveTimeout = Duration(seconds: 30);
  
  // Pagination
  static const int defaultPageSize = 20;
  static const int maxPageSize = 100;
}

class AppStrings {
  // Common
  static const String ok = '確定';
  static const String cancel = '取消';
  static const String retry = '重試';
  static const String loading = '載入中...';
  static const String error = '錯誤';
  static const String success = '成功';
  
  // Authentication
  static const String login = '登入';
  static const String register = '註冊';
  static const String logout = '登出';
  static const String email = '電子郵件';
  static const String password = '密碼';
  static const String confirmPassword = '確認密碼';
  static const String forgotPassword = '忘記密碼？';
  
  // Learning
  static const String startLearning = '開始學習';
  static const String continueDialogue = '繼續對話';
  static const String vocabularyPractice = '詞彙練習';
  static const String dialoguePractice = '對話練習';
  static const String timeChallenge = '限時挑戰';
  
  // Errors
  static const String networkError = '網路連線錯誤';
  static const String serverError = '伺服器錯誤';
  static const String unknownError = '未知錯誤';
  static const String invalidCredentials = '帳號或密碼錯誤';
  static const String sessionExpired = '登入已過期，請重新登入';
}