mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-05-16 23:16:48 +00:00
rm cookie
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { generateLocaleDict, initLocale, saveLangToCookies } from './lang'
|
||||
import { generateLocaleDict, initLocale, saveLangToLocalStorage } from './lang'
|
||||
import { createContext, useContext, useEffect, useState } from 'react'
|
||||
import { useRouter } from 'next/router'
|
||||
import { THEMES, initDarkMode, saveDarkModeToCookies } from '@/themes/theme'
|
||||
import { THEMES, initDarkMode, saveDarkModeToLocalStorage } from '@/themes/theme'
|
||||
import { APPEARANCE, LANG, THEME } from 'blog.config'
|
||||
const GlobalContext = createContext()
|
||||
|
||||
@@ -38,7 +38,8 @@ export function GlobalContextProvider(props) {
|
||||
// 切换深色模式
|
||||
const toggleDarkMode = () => {
|
||||
const newStatus = !isDarkMode
|
||||
saveDarkModeToCookies(newStatus)
|
||||
saveDarkModeToLocalStorage(newStatus)
|
||||
console.log('切换中', isDarkMode, newStatus)
|
||||
updateDarkMode(newStatus)
|
||||
const htmlElement = document.getElementsByTagName('html')[0]
|
||||
htmlElement.classList?.remove(newStatus ? 'light' : 'dark')
|
||||
@@ -50,7 +51,7 @@ export function GlobalContextProvider(props) {
|
||||
*/
|
||||
function changeLang(lang) {
|
||||
if (lang) {
|
||||
saveLangToCookies(lang)
|
||||
saveLangToLocalStorage(lang)
|
||||
updateLang(lang)
|
||||
updateLocale(generateLocaleDict(lang))
|
||||
}
|
||||
|
||||
13
lib/lang.js
13
lib/lang.js
@@ -5,7 +5,6 @@ import zhTW from './lang/zh-TW'
|
||||
import frFR from './lang/fr-FR'
|
||||
import trTR from './lang/tr-TR'
|
||||
import jaJP from './lang/ja-JP'
|
||||
import cookie from 'react-cookies'
|
||||
import { getQueryVariable, isBrowser, mergeDeep } from './utils'
|
||||
|
||||
/**
|
||||
@@ -65,14 +64,14 @@ export function generateLocaleDict(langString) {
|
||||
*/
|
||||
export function initLocale(lang, locale, changeLang, changeLocale) {
|
||||
if (isBrowser) {
|
||||
const queryLang = getQueryVariable('lang') || loadLangFromCookies()
|
||||
const queryLang = getQueryVariable('lang') || loadLangFromLocalStorage()
|
||||
let currentLang = lang
|
||||
if (queryLang && queryLang !== 'undefined' && queryLang !== lang) {
|
||||
currentLang = queryLang
|
||||
}
|
||||
|
||||
changeLang(currentLang)
|
||||
saveLangToCookies(currentLang)
|
||||
saveLangToLocalStorage(currentLang)
|
||||
|
||||
const targetLocale = generateLocaleDict(currentLang)
|
||||
if (JSON.stringify(locale) !== JSON.stringify(currentLang)) {
|
||||
@@ -84,14 +83,14 @@ export function initLocale(lang, locale, changeLang, changeLocale) {
|
||||
* 读取语言
|
||||
* @returns {*}
|
||||
*/
|
||||
export const loadLangFromCookies = () => {
|
||||
return cookie.load('lang')
|
||||
export const loadLangFromLocalStorage = () => {
|
||||
return localStorage.getItem('lang')
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存语言
|
||||
* @param newTheme
|
||||
*/
|
||||
export const saveLangToCookies = (lang) => {
|
||||
cookie.save('lang', lang, { path: '/' })
|
||||
export const saveLangToLocalStorage = (lang) => {
|
||||
localStorage.setItem('lang', lang)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user