feat(settings): add dark/light/system appearance mode toggle

- Add AppearanceMode enum with system, light, and dark options
- Add AppearanceManager singleton to persist user preference
- Add appearance section in SettingsView with icon and description
- Apply preferredColorScheme at app root for immediate effect
- Include appearance mode in reset to defaults

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-14 13:08:38 -06:00
parent 3d4952e5ff
commit f7f1bbd87a
4 changed files with 116 additions and 0 deletions

View File

@@ -72,6 +72,7 @@ final class SettingsViewModel {
selectedTheme = .teal
selectedSports = Set(Sport.supported)
maxDrivingHoursPerDay = 8
AppearanceManager.shared.currentMode = .system
}
// MARK: - Persistence