config.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // GrabZilla 2.1 - Application Configuration
  2. // Central configuration constants and settings
  3. // Application constants
  4. const APP_CONFIG = {
  5. DEFAULT_QUALITY: '1080p',
  6. DEFAULT_FORMAT: 'None',
  7. DEFAULT_FILENAME_PATTERN: '%(title)s.%(ext)s',
  8. STATUS_AUTO_CLEAR_DELAY: 5000,
  9. INPUT_DEBOUNCE_DELAY: 300,
  10. SUPPORTED_QUALITIES: ['720p', '1080p', '1440p', '4K'],
  11. SUPPORTED_FORMATS: ['None', 'H264', 'ProRes', 'DNxHR', 'Audio only']
  12. };
  13. // Platform-specific default paths
  14. const DEFAULT_PATHS = {
  15. darwin: '~/Downloads/GrabZilla_Videos',
  16. win32: 'C:\\Users\\Admin\\Desktop\\GrabZilla_Videos',
  17. linux: '~/Downloads/GrabZilla_Videos'
  18. };
  19. // UI constants
  20. const UI_CONFIG = {
  21. VIDEO_THUMBNAIL_SIZE: { width: 64, height: 48 },
  22. MAX_CONCURRENT_DOWNLOADS: 3,
  23. PROGRESS_UPDATE_INTERVAL: 500,
  24. STATUS_MESSAGE_TIMEOUT: 5000
  25. };
  26. // Validation patterns
  27. const VALIDATION_PATTERNS = {
  28. YOUTUBE_URL: /^(https?:\/\/)?(www\.)?(youtube\.com\/(watch\?v=|embed\/|v\/)|youtu\.be\/)[\w\-_]{11}(&[\w=]*)?$/i,
  29. VIMEO_URL: /^(https?:\/\/)?(www\.)?vimeo\.com\/\d+/i,
  30. GENERIC_VIDEO_URL: /^https?:\/\/.+/i
  31. };
  32. // Export for use in other modules
  33. if (typeof module !== 'undefined' && module.exports) {
  34. // Node.js environment
  35. module.exports = {
  36. APP_CONFIG,
  37. DEFAULT_PATHS,
  38. UI_CONFIG,
  39. VALIDATION_PATTERNS
  40. };
  41. } else {
  42. // Browser environment - attach to window
  43. window.AppConfig = {
  44. APP_CONFIG,
  45. DEFAULT_PATHS,
  46. UI_CONFIG,
  47. VALIDATION_PATTERNS
  48. };
  49. }