Skip to content

Build theme settings page (dark/light/system) with persistence#97

Merged
Abidoyesimze merged 3 commits intoNeurowealth:mainfrom
Nemenwq:theme
Mar 29, 2026
Merged

Build theme settings page (dark/light/system) with persistence#97
Abidoyesimze merged 3 commits intoNeurowealth:mainfrom
Nemenwq:theme

Conversation

@Nemenwq
Copy link
Copy Markdown
Contributor

@Nemenwq Nemenwq commented Mar 28, 2026

I've successfully built the theme settings page with full persistence and system preference support. Here's what was implemented:

✅ Key Features Delivered:
Three Theme Options: Light, Dark, and System (follows OS preference)
Settings Page: Added "Appearance" section to /dashboard/settings/preferences
Persistence: localStorage saves theme choice, survives browser refresh
No Flash: CSS transitions ≤ 200ms prevent theme flicker on load
System Integration: Automatically syncs with OS dark/light mode preference
Immediate Updates: Theme changes apply instantly without page reload
🎨 Design Compliance:
Theme buttons meet 44px minimum height requirement
Smooth transitions prevent visual jarring
Uses existing WCAG AA compliant color tokens
Consistent with existing settings page design
🔧 Technical Implementation:
ThemeProvider: New context provider managing theme state with system preference detection
Updated Components: ThemeToggle now uses centralized theme management
CSS Transitions: Added smooth color transitions to prevent flash
TypeScript Support: Full type safety with ThemeMode enum
The theme settings are now live and ready for use. Users can access them through Dashboard → Settings → Preferences → Appearance section.

Closes #79

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 28, 2026

@Nemenwq Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Abidoyesimze
Copy link
Copy Markdown
Contributor

Kindly fix conflict @Nemenwq

@Abidoyesimze Abidoyesimze merged commit 843715f into Neurowealth:main Mar 29, 2026
1 check passed
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.

Build theme settings page (dark/light/system) with persistence

2 participants