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 builds on top of #4332 and unifies theme retrieval and theme switching into helpers that live in
src/utils/theme.js
. Tested this in local dev and against a remote hubs cloud instance.onThemeChanged
helper that listens to both hubs preference changes and browser/system dark mode changesgetThemeColor
helper which can retrieve a single color.registerDarkModeQuery
helper which takes a listener, and returns the dark mode query, and a function to remove the listener.src/react-components/styles/theme.js
tosrc/utils/theme.js
, for reusethemes
array export fromsrc/react-components/styles/theme.js
tosrc/utils/theme.js
, so that it can be used more broadlysprites.js
,avatar-preview.js
, andpin-networked-object-button.js
to use the newonThemeChanged
helper, so that they update immediately when dark mode is changed at the browser or system level, in addition to theme preference changes.