Няма описание

AppTheme.swift 3.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import Cocoa
  2. enum AppTheme {
  3. static let windowWidth: CGFloat = 680
  4. static let windowHeight: CGFloat = 720
  5. static let windowMinWidth: CGFloat = 600
  6. static let windowMinHeight: CGFloat = windowHeight
  7. static let sidebarWidth: CGFloat = 200
  8. static let contentPadding: CGFloat = 20
  9. static let quickStartSpacing: CGFloat = 12
  10. static let featureGridSpacing: CGFloat = 10
  11. static let quickStartIconMax: CGFloat = 80
  12. static let quickStartIconMin: CGFloat = 56
  13. static let featureIconMax: CGFloat = 48
  14. static let featureIconMin: CGFloat = 36
  15. static func quickStartIconSize(forCardWidth width: CGFloat) -> CGFloat {
  16. min(quickStartIconMax, max(quickStartIconMin, width * 0.58))
  17. }
  18. static func featureIconSize(forCardWidth width: CGFloat) -> CGFloat {
  19. min(featureIconMax, max(featureIconMin, width * 0.24))
  20. }
  21. static let cornerRadius: CGFloat = 14
  22. static let cardCornerRadius: CGFloat = 20
  23. static let featureCardCornerRadius: CGFloat = 16
  24. static let background = NSColor(calibratedWhite: 0.965, alpha: 1)
  25. static let sidebarBackground = NSColor.white
  26. static let cardBackground = NSColor.white
  27. static let textPrimary = NSColor(calibratedWhite: 0.12, alpha: 1)
  28. static let textSecondary = NSColor(calibratedWhite: 0.48, alpha: 1)
  29. static let homeActiveBackground = NSColor(red: 0.91, green: 0.94, blue: 1.0, alpha: 1)
  30. static let homeActiveForeground = NSColor(red: 0.22, green: 0.47, blue: 0.96, alpha: 1)
  31. static let premiumBackground = NSColor(red: 0.95, green: 0.93, blue: 1.0, alpha: 1)
  32. static let premiumForeground = NSColor(red: 0.55, green: 0.36, blue: 0.96, alpha: 1)
  33. static let blue = NSColor(red: 0.22, green: 0.47, blue: 0.96, alpha: 1)
  34. static let blueLight = NSColor(red: 0.88, green: 0.93, blue: 1.0, alpha: 1)
  35. static let green = NSColor(red: 0.13, green: 0.68, blue: 0.42, alpha: 1)
  36. static let greenLight = NSColor(red: 0.88, green: 0.97, blue: 0.91, alpha: 1)
  37. static let orange = NSColor(red: 0.96, green: 0.52, blue: 0.18, alpha: 1)
  38. static let orangeLight = NSColor(red: 1.0, green: 0.94, blue: 0.88, alpha: 1)
  39. static let purple = NSColor(red: 0.55, green: 0.36, blue: 0.96, alpha: 1)
  40. static let teal = NSColor(red: 0.18, green: 0.72, blue: 0.82, alpha: 1)
  41. static let navy = NSColor(red: 0.12, green: 0.18, blue: 0.32, alpha: 1)
  42. static let paywallPink = NSColor(red: 0.98, green: 0.85, blue: 0.90, alpha: 1)
  43. static let paywallPinkText = NSColor(red: 0.75, green: 0.30, blue: 0.45, alpha: 1)
  44. static let paywallGold = NSColor(red: 0.96, green: 0.90, blue: 0.78, alpha: 1)
  45. static let paywallGoldText = NSColor(red: 0.65, green: 0.48, blue: 0.22, alpha: 1)
  46. static let paywallBorder = NSColor(calibratedWhite: 0.88, alpha: 1)
  47. static func semiboldFont(size: CGFloat) -> NSFont {
  48. .systemFont(ofSize: size, weight: .semibold)
  49. }
  50. static func mediumFont(size: CGFloat) -> NSFont {
  51. .systemFont(ofSize: size, weight: .medium)
  52. }
  53. static func regularFont(size: CGFloat) -> NSFont {
  54. .systemFont(ofSize: size, weight: .regular)
  55. }
  56. }
  57. extension NSView {
  58. func applyCardShadow() {
  59. wantsLayer = true
  60. layer?.shadowColor = NSColor.black.cgColor
  61. layer?.shadowOpacity = 0.07
  62. layer?.shadowOffset = NSSize(width: 0, height: -3)
  63. layer?.shadowRadius = 14
  64. layer?.masksToBounds = false
  65. }
  66. func roundCorners(_ radius: CGFloat) {
  67. wantsLayer = true
  68. layer?.cornerRadius = radius
  69. layer?.masksToBounds = true
  70. }
  71. }