mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-05-13 23:16:47 +00:00
保存用户深色模式
This commit is contained in:
@@ -24,7 +24,7 @@ export function GlobalContextProvider({ children }) {
|
||||
|
||||
useEffect(() => {
|
||||
initLocale(lang, locale, updateLang, updateLocale)
|
||||
initDarkMode(isDarkMode, updateDarkMode)
|
||||
initDarkMode(updateDarkMode)
|
||||
initTheme()
|
||||
}, [])
|
||||
|
||||
|
||||
@@ -60,16 +60,26 @@ export const getLayoutNameByPath = (path) => {
|
||||
* @param updateDarkMode 更改主题ChangeState函数
|
||||
* @description 读取cookie中存的用户主题
|
||||
*/
|
||||
export const initDarkMode = (isDarkMode, updateDarkMode) => {
|
||||
export const initDarkMode = (updateDarkMode) => {
|
||||
console.log('检查深色模式')
|
||||
// 查看用户设备浏览器是否深色模型
|
||||
let newDarkMode = isPreferDark()
|
||||
|
||||
// 查看cookie中是否用户强制设置深色模式
|
||||
const cookieDarkMode = loadDarkModeFromCookies()
|
||||
if (cookieDarkMode) {
|
||||
newDarkMode = JSON.parse(cookieDarkMode)
|
||||
}
|
||||
|
||||
// url查询条件中是否深色模式
|
||||
const queryMode = getQueryVariable('mode')
|
||||
if (queryMode) {
|
||||
isDarkMode = queryMode === 'dark'
|
||||
} else if (!isDarkMode) {
|
||||
isDarkMode = isPreferDark()
|
||||
newDarkMode = queryMode === 'dark'
|
||||
}
|
||||
updateDarkMode(isDarkMode)
|
||||
saveDarkModeToCookies(isDarkMode)
|
||||
document.getElementsByTagName('html')[0].setAttribute('class', isDarkMode ? 'dark' : 'light')
|
||||
|
||||
updateDarkMode(newDarkMode)
|
||||
saveDarkModeToCookies(newDarkMode)
|
||||
document.getElementsByTagName('html')[0].setAttribute('class', newDarkMode ? 'dark' : 'light')
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user