Merge remote-tracking branch 'origin/main' into theme-medium

This commit is contained in:
tangly1024
2022-03-03 16:42:29 +08:00
2 changed files with 5 additions and 6 deletions

View File

@@ -25,13 +25,12 @@ export function GlobalContextProvider ({ children }) {
// 服务端静态渲染在渲染hooks后根据前端变量做初始化工作
setTimeout(() => {
console.log('初始化', hasInit, isDarkMode)
if (!hasInit) {
hasInit = true
initLocale(locale, updateLocale)
initDarkMode(isDarkMode, updateDarkMode)
}
}, 1000)
}, 100)
return (
<GlobalContext.Provider value={{ onLoading, locale, isDarkMode, updateDarkMode }}>
@@ -74,7 +73,7 @@ const generateLocaleDict = (langString) => {
* 根据用户当前浏览器语言进行切换
*/
const initLocale = (locale, changeLocale) => {
if (window) {
if (typeof window !== 'undefined') {
const targetLocale = generateLocaleDict(window.navigator.language)
if (JSON.stringify(locale) !== JSON.stringify(targetLocale)) {
changeLocale(targetLocale)

View File

@@ -8,10 +8,10 @@ import BLOG from '@/blog.config'
* @description 读取cookie中存的用户主题
*/
export const initDarkMode = (isDarkMode, updateDarkMode) => {
if (!isDarkMode) {
isDarkMode = isPreferDark()
}
if (typeof window !== 'undefined') {
if (!isDarkMode) {
isDarkMode = isPreferDark()
}
updateDarkMode(isDarkMode)
saveDarkModeToCookies(isDarkMode)
document.getElementsByTagName('html')[0].setAttribute('class', isDarkMode ? 'dark' : 'light')