rm cookie

This commit is contained in:
tangly1024.com
2024-02-08 11:42:20 +08:00
parent 4ba22615e7
commit b56b4ee192
18 changed files with 563 additions and 420 deletions

View File

@@ -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))
}

View File

@@ -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)
}