Skip to content

feat: add light/dark theme switching - #18

Merged
coldhighsun merged 1 commit into
mainfrom
feature/light-dark-theme
Jul 24, 2026
Merged

feat: add light/dark theme switching#18
coldhighsun merged 1 commit into
mainfrom
feature/light-dark-theme

Conversation

@coldhighsun

Copy link
Copy Markdown
Owner

Summary

  • Extracts the Catppuccin palette out of Styles.xaml into Theme.Dark.xaml (Mocha) / Theme.Light.xaml (Latte), referenced everywhere via DynamicResource instead of hardcoded hex colors
  • Adds ThemeService (mirrors LocalizationService) to swap the active palette dictionary at runtime; "auto" resolves from the Windows AppsUseLightTheme registry setting
  • Adds SalarySettings.Theme ("auto"/"light"/"dark", default "auto"), persisted to settings.json
  • Adds a Theme dropdown to the Settings window's Display tab (grouped with DisplayMode/Opacity/AlwaysOnTop as visual-presentation settings), applied and saved immediately like Language

Test plan

  • dotnet build passes with 0 warnings/errors (TreatWarningsAsErrors is on)
  • App launches cleanly against an existing settings.json missing the new Theme field (defaults to "auto")
  • Manually open Settings → Display tab → switch Theme Auto/Light/Dark and confirm Normal/Mini/Flex views, Settings window, and About window recolor correctly with good contrast

Extract the Catppuccin Mocha palette out of Styles.xaml into
Theme.Dark.xaml/Theme.Light.xaml behind DynamicResource-bound keys,
and add ThemeService to swap the active palette at runtime (mirroring
LocalizationService). SalarySettings gains a Theme field ("auto"/
"light"/"dark"), with a dropdown in the settings Display tab that
applies and persists immediately.
@coldhighsun
coldhighsun merged commit 0006d86 into main Jul 24, 2026
4 checks passed
@coldhighsun
coldhighsun deleted the feature/light-dark-theme branch July 24, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant