Skip to content

feat: light theme and configurable accent color - #210

Merged
nextestudios merged 2 commits into
mainfrom
feature/37-light-theme-accent
Sep 27, 2026
Merged

nextestudios merged 2 commits into
mainfrom
feature/37-light-theme-accent

Conversation

@nextestudios

Copy link
Copy Markdown
Owner

Summary

Light theme and configurable accent color (#37).

  • Core ThemePalettes: dark (the current navy look, unchanged by default in dark mode) and light palettes. Each of 6 accent presets (cyan, blue, green, amber, magenta, orange) has a bright variant for dark (dark text on the focused fill) and a deep variant for light (white text on the fill). ThemeContrast computes the WCAG contrast ratio.
  • Settings: AppSettings.Theme (System by default, follows Windows' app mode; Dark; Light) and AppSettings.Accent. They live in Menu → Configurações → Exibição → Tema / Cor de destaque. Both cycle and keep Configurações open, so the change can be compared right away with the controller.
  • Live apply: Theme brushes are shared by every view. Theme.Apply(palette) only changes their Color, so everything already on screen recolors instantly. MainWindow.ApplyTheme resolves the automatic mode (UISettings background, re-evaluated on ColorValuesChanged), sets RequestedTheme for system controls, and runs ApplyLayout to rebuild derived colors (details gradient). Retained modals include Theme.Revision in their key. The hardcoded details gradient color became a token; the fixed light glyph palette no longer snapshots the theme.
  • Smoke: existing captures are pinned to dark + cyan (so the references don't change on light-mode runners). New 7-light-folder, 7b-light-menu, 7c-light-keyboard, 7d-light-accent-magenta and 7e-dark-accent-amber.
  • Behavior change: users whose Windows is in light mode now get the light theme by default (as the issue asks). Tema: escuro restores the old look. This is noted in the CHANGELOG.

Tests (CI)

  • ThemeContrastTests: every theme × accent (12 combinations) meets the targets. Text, secondary text and danger ≥ 4.5:1 on all surfaces. Focus ring, marked and success ≥ 3:1. The focused filled option (accent, danger and disabled) ≥ 4.5:1. Text on the focused item ≥ 4.5:1. The automatic mode follows Windows.
  • AppearanceJourneyTests: theme/accent chosen in Configurações, which stays open; the change is published to the window at once and persists across launches.

Manual (not hardware validated)

docs/TESTING.md → "Tema claro e cor de destaque (#37)": live switch with Windows' app mode, TV-distance focus visibility per accent, no stray dark surfaces in light mode, and solid/high-contrast fallback.

Docs: CHANGELOG (both), GUIDE (both, new section), README (both), ui-redesign.md (token note + regression row).

Closes #37

🤖 Generated with Claude Code

@nextestudios
nextestudios force-pushed the feature/37-light-theme-accent branch 2 times, most recently from 1c4f781 to 0dcdb32 Compare September 27, 2026 22:47
nextestudios and others added 2 commits September 27, 2026 19:52
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nextestudios
nextestudios force-pushed the feature/37-light-theme-accent branch from 0dcdb32 to b54ec5d Compare September 27, 2026 22:52
@nextestudios

Copy link
Copy Markdown
Owner Author

Smoke (screens mode; 1-home, 2-folder, 4b and 7* at 1920x1080 and 1280x720): the dark captures match the references, and the light and accent captures look right. A follow-up commit puts a dark plate behind the logo on the light theme, because the wordmark is light. One smoke attempt crashed at startup (exit 0xC000027B, before any capture). The rerun of the same commit passed, so this looks like a pre-existing flake, but it's worth watching. One CI attempt failed on UndoJourneyTests.Undo_of_a_recycle_… ("Collection was modified" while enumerating bin.Items), a race in that test that isn't related to this PR; the rerun passed.

@nextestudios
nextestudios merged commit 53a27e4 into main Sep 27, 2026
1 check passed
@nextestudios
nextestudios deleted the feature/37-light-theme-accent branch September 27, 2026 22:55
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.

feat: add light theme and configurable accent color

1 participant