import AppKit import SwiftUI /// Appearance-aware colours for the panel. /// /// Dark mode is pure black rather than the system window grey: the panel is a /// full-height strip that sits beside your work, and the grey reads as a /// half-lit window next to a dark editor or terminal. enum Theme { static func isDark(_ appearance: NSAppearance) -> Bool { appearance.bestMatch(from: [.aqua, .darkAqua]) == .darkAqua } /// The panel's own background (also handed to the NSPanel so the area under /// the transparent titlebar matches). static let background = NSColor(name: nil) { appearance in isDark(appearance) ? .black : .windowBackgroundColor } /// Card background, kept subtle but visible against pure black. static let row = NSColor(name: nil) { appearance in isDark(appearance) ? NSColor(white: 1, alpha: 0.07) : NSColor(white: 0, alpha: 0.05) } /// Same colours for SwiftUI. static let backgroundSwiftUI = Color(nsColor: background) static let rowSwiftUI = Color(nsColor: row) }