mirror of
https://github.com/yattee/yattee.git
synced 2026-07-20 22:32:01 +00:00
Add custom accent color with system color picker
Add a Custom swatch to the appearance settings accent color grid, backed by a hex value stored in settings (synced via iCloud like the rest). iOS uses the native ColorPicker wheel; macOS uses a circular swatch that opens NSColorPanel, since the SwiftUI color well looks out of place among the circles. All accent consumers now read the resolved color through SettingsManager.resolvedAccentColor. The indigo preset is retired from the grid but kept in the enum, so users who selected it keep their color until they pick another one. Claude-Session: https://claude.ai/code/session_0154KH8RAVAvm6iVanhmoW8o
This commit is contained in:
@@ -102,7 +102,7 @@ struct ExpandedPlayerSheet: View {
|
||||
var playerState: PlayerState? { playerService?.state }
|
||||
var downloadManager: DownloadManager? { appEnvironment?.downloadManager }
|
||||
var navigationCoordinator: NavigationCoordinator? { appEnvironment?.navigationCoordinator }
|
||||
var accentColor: Color { appEnvironment?.settingsManager.accentColor.color ?? .accentColor }
|
||||
var accentColor: Color { appEnvironment?.settingsManager.resolvedAccentColor ?? .accentColor }
|
||||
|
||||
#if os(iOS)
|
||||
var inAppOrientationLock: Bool { appEnvironment?.settingsManager.inAppOrientationLock ?? false }
|
||||
|
||||
@@ -47,7 +47,7 @@ struct FloatingDetailsPanel: View {
|
||||
@State private var isDragHandleActive: Bool = false
|
||||
|
||||
private var settingsManager: SettingsManager? { appEnvironment?.settingsManager }
|
||||
private var accentColor: Color { settingsManager?.accentColor.color ?? .accentColor }
|
||||
private var accentColor: Color { settingsManager?.resolvedAccentColor ?? .accentColor }
|
||||
private var playerService: PlayerService? { appEnvironment?.playerService }
|
||||
private var playerState: PlayerState? { playerService?.state }
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ struct PanelPinButton: View {
|
||||
private static let buttonSize: CGFloat = 36
|
||||
|
||||
private var accentColor: Color {
|
||||
appEnvironment?.settingsManager.accentColor.color ?? .accentColor
|
||||
appEnvironment?.settingsManager.resolvedAccentColor ?? .accentColor
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
|
||||
@@ -31,7 +31,7 @@ struct PortraitDetailsPanel: View {
|
||||
@State private var showPlaylistSheet: Bool = false
|
||||
|
||||
private var settingsManager: SettingsManager? { appEnvironment?.settingsManager }
|
||||
private var accentColor: Color { settingsManager?.accentColor.color ?? .accentColor }
|
||||
private var accentColor: Color { settingsManager?.resolvedAccentColor ?? .accentColor }
|
||||
private var playerService: PlayerService? { appEnvironment?.playerService }
|
||||
private var playerState: PlayerState? { playerService?.state }
|
||||
private var isPanelDragging: Bool { appEnvironment?.navigationCoordinator.isPanelDragging ?? false }
|
||||
|
||||
Reference in New Issue
Block a user