colors.dart 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import 'package:flutter/material.dart';
  2. import 'theme_manager.dart';
  3. /// ZenTap color scheme with seasonal theme support
  4. class ZenColors {
  5. /// Get the current theme colors
  6. static SeasonalColors get current => ThemeManager.colors;
  7. // Static brand colors (for reference and fallback, const-compatible)
  8. static const Color black = Color(0xFF000000);
  9. static const Color white = Color(0xFFFFFFFF);
  10. static const Color red = Color(0xFFFF0000);
  11. static const Color gray = Color(0xFF808080);
  12. static const Color navyBlue = Color(0xFF000080);
  13. // Static default theme colors (const-compatible for const contexts)
  14. static const Color appBackground = Color(0xFF000000);
  15. static const Color secondaryBackground = Color(0xFF0A0A0A);
  16. static const Color primaryText = Color(0xFFFFFFFF);
  17. static const Color secondaryText = Color(0xDEFFFFFF);
  18. static const Color mutedText = Color(0xFF808080);
  19. static const Color buttonBackground = Color(0xFF0BC2F9);
  20. static const Color buttonText = Color(0xFFFFFFFF);
  21. static const Color uiElements = Color(0xFF808080);
  22. static const Color gameBoardBorder = Color(0xFF808080);
  23. static const Color bubbleDefault = Color(0xFF646CFF);
  24. static const Color bubblePopEffect = Color(0xFFFF0000);
  25. static const Color scoreText = Color(0xFFFFFFFF);
  26. static const Color timerText = Color(0xDEFFFFFF);
  27. static const Color links = Color(0xFF000080);
  28. static const Color linkHover = Color(0xFFFF0000);
  29. static const Color selectedMenuItem = Color(0xFFFFFFFF);
  30. // Dynamic theme-aware color getters (use these for runtime theming)
  31. static Color get currentAppBackground => current.appBackground;
  32. static Color get currentSecondaryBackground => current.secondaryBackground;
  33. static Color get currentPrimaryText => current.primaryText;
  34. static Color get currentSecondaryText => current.secondaryText;
  35. static Color get currentMutedText => current.mutedText;
  36. static Color get currentButtonBackground => current.buttonBackground;
  37. static Color get currentButtonText => current.buttonText;
  38. static Color get currentUiElements => current.uiElements;
  39. static Color get currentGameBoardBorder => current.gameBoardBorder;
  40. static Color get currentBubbleDefault => current.bubbleDefault;
  41. static Color get currentBubblePopEffect => current.bubblePopEffect;
  42. static Color get currentScoreText => current.scoreText;
  43. static Color get currentTimerText => current.timerText;
  44. static Color get currentLinks => current.links;
  45. static Color get currentLinkHover => current.linkHover;
  46. static Color get currentSelectedMenuItem => current.selectedMenuItem;
  47. // Animation colors
  48. static List<Color> get animationLayer1 => current.animationLayer1;
  49. static List<Color> get animationLayer2 => current.animationLayer2;
  50. static List<Color> get animationLayer3 => current.animationLayer3;
  51. static List<Color> get zenModeColors => current.zenModeColors;
  52. // Legacy colors for backward compatibility
  53. static const Color defaultLink = Color(0xFF646CFF);
  54. static const Color hoverLink = Color(0xFF535BF2);
  55. static const Color lightModeHover = Color(0xFF747BFF);
  56. static const Color buttonFocus = Color(0xFF646CFF);
  57. // Opacity Values
  58. static const double primaryOpacity = 0.87;
  59. static const double ghostOpacity = 0.3;
  60. static const double controlOpacity = 0.627; // A0 in hex
  61. static const double inactiveOpacity = 0.25; // 40 in hex
  62. static const double borderOpacity = 0.98; // fa in hex
  63. }