AppTheme.swift 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import SwiftUI
  2. enum AppTheme {
  3. private static var palette: ThemePalette {
  4. AppearanceManager.shared.palette
  5. }
  6. static var background: Color { palette.background }
  7. static var sidebarBackground: Color { palette.sidebarBackground }
  8. static var panelBackground: Color { palette.panelBackground }
  9. static var cardBackground: Color { palette.cardBackground }
  10. static var quickAccessBackground: Color { palette.quickAccessBackground }
  11. static var border: Color { palette.border }
  12. static var cardBorder: Color { palette.cardBorder }
  13. static var textPrimary: Color { palette.textPrimary }
  14. static var textSecondary: Color { palette.textSecondary }
  15. static var textTertiary: Color { palette.textTertiary }
  16. static var hoverFill: Color { palette.hoverFill }
  17. static var hoverBorder: Color { palette.hoverBorder }
  18. static var selectedRowFill: Color { palette.selectedRowFill }
  19. static var scrim: Color { palette.scrim }
  20. static let accentPurple = Color(hex: 0x5833C7)
  21. static let accentPurpleLight = Color(hex: 0x6B46E5)
  22. static let accentBlue = Color(hex: 0x3B82F6)
  23. static let accentGreen = Color(hex: 0x22C55E)
  24. static let accentOrange = Color(hex: 0xFF4500)
  25. static let accentYellow = Color(hex: 0xFBBF24)
  26. static let accentPink = Color(hex: 0xEC4899)
  27. static let accentTeal = Color(hex: 0x14B8A6)
  28. static let sidebarWidth: CGFloat = 260
  29. static let sidebarContentInset: CGFloat = 10
  30. static let sidebarRowPaddingH: CGFloat = 8
  31. static let sidebarRowPaddingV: CGFloat = 7
  32. static let sidebarRowSpacing: CGFloat = 11
  33. static let sidebarItemSpacing: CGFloat = 4
  34. static let sidebarSectionSpacing: CGFloat = 16
  35. static let cornerRadius: CGFloat = 12
  36. static let cornerRadiusSmall: CGFloat = 10
  37. static let iconContainerSize: CGFloat = 32
  38. static let textEditorHorizontalInset: CGFloat = 10
  39. static let textEditorVerticalInset: CGFloat = 8
  40. static let formFieldFontSize: CGFloat = 12
  41. }
  42. extension Color {
  43. init(hex: UInt, alpha: Double = 1.0) {
  44. self.init(
  45. red: Double((hex >> 16) & 0xFF) / 255,
  46. green: Double((hex >> 8) & 0xFF) / 255,
  47. blue: Double(hex & 0xFF) / 255,
  48. opacity: alpha
  49. )
  50. }
  51. }