optimize init method

This commit is contained in:
tangly1024.com
2023-01-20 13:23:54 +08:00
parent 9bc41254ba
commit 01839875f1
3 changed files with 20 additions and 19 deletions

View File

@@ -1,7 +1,7 @@
import cookie from 'react-cookies'
import BLOG from '@/blog.config'
import { ALL_THEME } from '@/themes'
import { getQueryVariable } from './utils'
import { isBrowser, getQueryVariable } from './utils'
/**
* 初始化主题 , 优先级 query > cookies > systemPrefer
@@ -27,14 +27,14 @@ export const initDarkMode = (isDarkMode, updateDarkMode) => {
* @param {*} changeTheme
*/
export const initTheme = (theme, changeTheme) => {
const queryTheme = getQueryVariable('theme')
if (queryTheme && ALL_THEME.indexOf(queryTheme) > -1) {
changeTheme(queryTheme)
} else {
const userTheme = loadThemeFromCookies()
if (userTheme !== theme) {
changeTheme(userTheme)
if (isBrowser()) {
const queryTheme = getQueryVariable('theme') || loadThemeFromCookies() || BLOG.THEME
let currentTheme = theme
if (queryTheme !== theme && ALL_THEME.indexOf(queryTheme) > -1) {
currentTheme = queryTheme
}
changeTheme(currentTheme)
saveThemeToCookies(currentTheme)
}
}