Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PredBat already follows
prefers-color-scheme, including live appearance changes, when nodarkModepreference is stored. However, clicking “Toggle Dark Mode” saves an explicit Light/Dark preference, and the UI provides no way to clear it and return to following the system.This also affects desktop users who occasionally want to choose Light or Dark manually, then return to automatic switching. Once they use the toggle, their choice remains saved across reloads. Toggling again only selects the opposite fixed appearance; restoring automatic behaviour requires manually clearing the browser’s stored preference.
Similarly, when viewing PredBat in the Home Assistant Companion app on an iPhone, a previously saved preference takes priority over the appearance reported by the embedded browser. If the browser reports an appearance change, PredBat ignores it while that override remains stored.
This change replaces the toggle with an accessible System / Light / Dark selector:
'false'/'true'storage format.Users can choose a fixed theme whenever they need it, then select System to restore automatic switching. Removing the override lets PredBat’s existing detection work again without introducing a second theme-detection mechanism. Each browser or app stores its own preference independently.
The change preserves the existing pre-CSS flash prevention, logo switching, legacy media-query listener fallback, and page reload when choosing a mode.
Validation:
matchMedia.