feat: implement Settings page with theme selector (Closes #21) #70

Merged
shahondin1624 merged 1 commits from feature/issue-21-settings-theme-selection into main 2026-03-13 14:10:41 +01:00

Summary

  • Replace placeholder SettingsPage with a functional theme selection page offering System Default, Light, and Dark options via radio buttons
  • Add ThemePreference enum persisted via multiplatform-settings with load/save methods
  • Update AppTheme to respect saved preference on startup and react to changes via LaunchedEffect
  • Top-bar quick toggle now persists its choice (Light/Dark) rather than only changing in-memory state

Test plan

  • Project compiles successfully across all targets
  • Existing test suite passes (53 tests, 18 pre-existing JS/Compose UI failures)
  • Settings page navigable from drawer in all layout modes
  • Three radio button options: System Default, Light, Dark
  • Theme choice persisted and restored on app restart
  • Top-bar toggle continues to work and persists choice

Closes #21

## Summary - Replace placeholder SettingsPage with a functional theme selection page offering System Default, Light, and Dark options via radio buttons - Add `ThemePreference` enum persisted via multiplatform-settings with load/save methods - Update `AppTheme` to respect saved preference on startup and react to changes via `LaunchedEffect` - Top-bar quick toggle now persists its choice (Light/Dark) rather than only changing in-memory state ## Test plan - [x] Project compiles successfully across all targets - [x] Existing test suite passes (53 tests, 18 pre-existing JS/Compose UI failures) - [x] Settings page navigable from drawer in all layout modes - [x] Three radio button options: System Default, Light, Dark - [x] Theme choice persisted and restored on app restart - [x] Top-bar toggle continues to work and persists choice Closes #21
shahondin1624 added 1 commit 2026-03-13 14:10:37 +01:00
Add ThemePreference enum (System/Light/Dark) persisted via
multiplatform-settings. SettingsPage now shows radio-button theme
chooser. Top-bar quick toggle persists its choice. AppTheme respects
saved preference on startup and reacts to preference changes via
LaunchedEffect.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
shahondin1624 merged commit 37b223c96f into main 2026-03-13 14:10:41 +01:00
shahondin1624 deleted branch feature/issue-21-settings-theme-selection 2026-03-13 14:10:41 +01:00
Sign in to join this conversation.