feat(theme): sync body background-color with theme-color meta tag #9325
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.
Summary
Fixes #7884.
Problem
(copied from the issue title)
Solution
Set "theme-color" to the background color of the page(
<body>
) onScreenshots
How did you test this change?
Tested by running
yarn dev
and<html>
is set correctlycontent
(color)The if block is identical to line 72-74 and do nothing else.
code copied from rust-lang/mdBook#547
I guess the
useEffect
(line 53) is for setting theme on page load, so I think putactiveTheme
in the dependency list (line 64) is a mistake and thus removed it.I added
?? "os-default"
to properly set "theme-color" meta tag when:localStorage.getItem
returnsnull
)localStorage.getItem
throws errorSetting theme here has a downside that "theme-color" meta tag will not be set until the content has loaded.
But I think it's OK because:
developer.mozilla.org
. I have never seen the loading screen before testing this PR on local.