Theme Toggle that bypasses the auto detector on demand if needed #6197
+540
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds support for a persistent light/dark theme mode in the app. The main changes include reading and storing the user's preferred theme mode in
localStorage, updating the HTML root attribute accordingly, and providing a UI button to toggle between light and dark modes.Theme mode persistence and initialization:
packages/app/index.htmlandpackages/desktop/index.htmlnow read thetheme-modevalue fromlocalStorageand set thedata-theme-modeattribute on the HTML root element if the value is"light"or"dark". [1] [2]packages/app/src/pages/layout.tsx, the initial theme mode is determined by checkinglocalStorageor falling back to the user's system preference usingwindow.matchMedia.Theme mode UI and logic:
localStorage, and updates thedata-theme-modeattribute. [1] [2]