Explorar el Código

Apply Indeed-inspired light theme to dashboard

Replace dark Theme palette with white surfaces, brand blue (#2557a7),
primary and secondary grays, and light borders to match Indeed marketing UI.
Update search field border, sidebar branding, and selected nav styling.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 hace 3 semanas
padre
commit
4089c8742e
Se han modificado 1 ficheros con 22 adiciones y 19 borrados
  1. 22 19
      App for Indeed/Views/DashboardView.swift

+ 22 - 19
App for Indeed/Views/DashboardView.swift

@@ -6,22 +6,25 @@
6 6
 import Cocoa
7 7
 
8 8
 final class DashboardView: NSView {
9
+    /// Indeed.com-inspired neutrals and brand blue (white surfaces, `#2557a7` accent, `#2d2d2d` / `#767676` text, `#d4d2d0` borders).
9 10
     private enum Theme {
10
-        static let pageBackground = NSColor(calibratedWhite: 0.02, alpha: 1)
11
-        static let chromeBackground = NSColor(calibratedWhite: 0.04, alpha: 1)
12
-        static let sidebarBackground = NSColor(calibratedWhite: 0.07, alpha: 1)
13
-        static let mainHostBackground = NSColor(calibratedWhite: 0.06, alpha: 1)
14
-        static let selectionFill = NSColor(calibratedWhite: 1, alpha: 0.1)
15
-        static let cardBackground = NSColor(calibratedWhite: 0.11, alpha: 1)
16
-        static let toggleBackground = NSColor(calibratedWhite: 0.16, alpha: 1)
17
-        static let primaryText = NSColor(calibratedWhite: 0.96, alpha: 1)
18
-        static let secondaryText = NSColor(calibratedWhite: 0.62, alpha: 1)
19
-        static let tertiaryText = NSColor(calibratedWhite: 0.48, alpha: 1)
20
-        static let proCardFill = NSColor(calibratedRed: 0.1, green: 0.09, blue: 0.12, alpha: 1)
21
-        static let proCardBorder = NSColor(calibratedWhite: 1, alpha: 0.09)
22
-        static let proAccent = NSColor(calibratedRed: 0.98, green: 0.82, blue: 0.38, alpha: 1)
23
-        static let proCTABackground = NSColor(calibratedWhite: 0.97, alpha: 1)
24
-        static let proCTAText = NSColor(calibratedWhite: 0.05, alpha: 1)
11
+        static let brandBlue = NSColor(srgbRed: 37 / 255, green: 87 / 255, blue: 167 / 255, alpha: 1)
12
+        static let pageBackground = NSColor(srgbRed: 1, green: 1, blue: 1, alpha: 1)
13
+        static let chromeBackground = NSColor(srgbRed: 247 / 255, green: 247 / 255, blue: 247 / 255, alpha: 1)
14
+        static let sidebarBackground = NSColor(srgbRed: 1, green: 1, blue: 1, alpha: 1)
15
+        static let mainHostBackground = NSColor(srgbRed: 1, green: 1, blue: 1, alpha: 1)
16
+        static let selectionFill = NSColor(srgbRed: 37 / 255, green: 87 / 255, blue: 167 / 255, alpha: 0.12)
17
+        static let cardBackground = NSColor(srgbRed: 1, green: 1, blue: 1, alpha: 1)
18
+        static let toggleBackground = NSColor(srgbRed: 232 / 255, green: 232 / 255, blue: 232 / 255, alpha: 1)
19
+        static let primaryText = NSColor(srgbRed: 45 / 255, green: 45 / 255, blue: 45 / 255, alpha: 1)
20
+        static let secondaryText = NSColor(srgbRed: 118 / 255, green: 118 / 255, blue: 118 / 255, alpha: 1)
21
+        static let tertiaryText = NSColor(srgbRed: 118 / 255, green: 118 / 255, blue: 118 / 255, alpha: 1)
22
+        static let border = NSColor(srgbRed: 212 / 255, green: 210 / 255, blue: 208 / 255, alpha: 1)
23
+        static let proCardFill = NSColor(srgbRed: 239 / 255, green: 244 / 255, blue: 252 / 255, alpha: 1)
24
+        static let proCardBorder = NSColor(srgbRed: 212 / 255, green: 210 / 255, blue: 208 / 255, alpha: 1)
25
+        static let proAccent = NSColor(srgbRed: 37 / 255, green: 87 / 255, blue: 167 / 255, alpha: 1)
26
+        static let proCTABackground = NSColor(srgbRed: 37 / 255, green: 87 / 255, blue: 167 / 255, alpha: 1)
27
+        static let proCTAText = NSColor(srgbRed: 1, green: 1, blue: 1, alpha: 1)
25 28
     }
26 29
 
27 30
     private let contentStack = NSStackView()
@@ -197,7 +200,7 @@ final class DashboardView: NSView {
197 200
         searchCard.layer?.backgroundColor = Theme.cardBackground.cgColor
198 201
         searchCard.layer?.cornerRadius = 14
199 202
         searchCard.layer?.borderWidth = 1
200
-        searchCard.layer?.borderColor = NSColor(calibratedWhite: 1, alpha: 0.06).cgColor
203
+        searchCard.layer?.borderColor = Theme.border.cgColor
201 204
         searchCard.translatesAutoresizingMaskIntoConstraints = false
202 205
         searchCard.setContentHuggingPriority(.defaultHigh, for: .vertical)
203 206
 
@@ -255,7 +258,7 @@ final class DashboardView: NSView {
255 258
 
256 259
         let brand = NSTextField(labelWithString: "Indeed AI\nJob Finder")
257 260
         brand.font = .systemFont(ofSize: 18, weight: .bold)
258
-        brand.textColor = Theme.primaryText
261
+        brand.textColor = Theme.brandBlue
259 262
         brand.alignment = .left
260 263
         sidebar.addArrangedSubview(brand)
261 264
 
@@ -289,11 +292,11 @@ final class DashboardView: NSView {
289 292
             let icon = NSImageView()
290 293
             icon.symbolConfiguration = NSImage.SymbolConfiguration(pointSize: 13, weight: .medium)
291 294
             icon.image = NSImage(systemSymbolName: item.systemImage, accessibilityDescription: item.title)
292
-            icon.contentTintColor = isSelected ? Theme.primaryText : Theme.secondaryText
295
+            icon.contentTintColor = isSelected ? Theme.brandBlue : Theme.secondaryText
293 296
 
294 297
             let text = NSTextField(labelWithString: item.title)
295 298
             text.font = .systemFont(ofSize: 14, weight: .medium)
296
-            text.textColor = isSelected ? Theme.primaryText : Theme.secondaryText
299
+            text.textColor = isSelected ? Theme.brandBlue : Theme.secondaryText
297 300
             text.refusesFirstResponder = true
298 301
 
299 302
             row.addArrangedSubview(icon)