mirror of
https://github.com/fmhy/edit.git
synced 2026-01-12 23:11:06 +11:00
tf
This commit is contained in:
parent
e173b8a89e
commit
b41e6b3c9b
2 changed files with 3 additions and 25 deletions
|
|
@ -205,16 +205,6 @@ watch(selectedColor, async (color) => {
|
||||||
if (!color) return;
|
if (!color) return;
|
||||||
const theme = generateThemeFromColor(color)
|
const theme = generateThemeFromColor(color)
|
||||||
themeRegistry[`color-${color}`] = theme
|
themeRegistry[`color-${color}`] = theme
|
||||||
// Hopeful Fix For Preset Themes
|
|
||||||
try {
|
|
||||||
const key = 'vitepress-theme-data'
|
|
||||||
const raw = localStorage.getItem(key)
|
|
||||||
const parsed = raw ? JSON.parse(raw) as Record<string, any> : {}
|
|
||||||
parsed[`color-${color}`] = theme
|
|
||||||
localStorage.setItem(key, JSON.stringify(parsed))
|
|
||||||
} catch (e) {
|
|
||||||
// ignore storage errors
|
|
||||||
}
|
|
||||||
// Explicitly set the theme to override any previous selection
|
// Explicitly set the theme to override any previous selection
|
||||||
await nextTick()
|
await nextTick()
|
||||||
console.log('Setting theme to:', `color-${color}`)
|
console.log('Setting theme to:', `color-${color}`)
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ import { themeRegistry } from './configs'
|
||||||
const STORAGE_KEY_THEME = 'vitepress-theme-name'
|
const STORAGE_KEY_THEME = 'vitepress-theme-name'
|
||||||
const STORAGE_KEY_MODE = 'vitepress-display-mode'
|
const STORAGE_KEY_MODE = 'vitepress-display-mode'
|
||||||
const STORAGE_KEY_AMOLED = 'vitepress-amoled-enabled'
|
const STORAGE_KEY_AMOLED = 'vitepress-amoled-enabled'
|
||||||
const STORAGE_KEY_THEME_DATA = 'vitepress-theme-data'
|
|
||||||
|
|
||||||
export class ThemeHandler {
|
export class ThemeHandler {
|
||||||
private state = ref<ThemeState>({
|
private state = ref<ThemeState>({
|
||||||
|
|
@ -43,24 +42,13 @@ export class ThemeHandler {
|
||||||
const savedMode = localStorage.getItem(STORAGE_KEY_MODE) as DisplayMode | null
|
const savedMode = localStorage.getItem(STORAGE_KEY_MODE) as DisplayMode | null
|
||||||
const savedAmoled = localStorage.getItem(STORAGE_KEY_AMOLED) === 'true'
|
const savedAmoled = localStorage.getItem(STORAGE_KEY_AMOLED) === 'true'
|
||||||
|
|
||||||
// Set theme
|
|
||||||
if (themeRegistry[savedTheme]) {
|
if (themeRegistry[savedTheme]) {
|
||||||
this.state.value.currentTheme = savedTheme
|
this.state.value.currentTheme = savedTheme
|
||||||
this.state.value.theme = themeRegistry[savedTheme]
|
this.state.value.theme = themeRegistry[savedTheme]
|
||||||
} else {
|
} else {
|
||||||
try {
|
localStorage.removeItem(STORAGE_KEY_THEME)
|
||||||
const raw = localStorage.getItem(STORAGE_KEY_THEME_DATA)
|
this.state.value.currentTheme = 'christmas'
|
||||||
if (raw) {
|
this.state.value.theme = themeRegistry.christmas
|
||||||
const parsed = JSON.parse(raw) as Record<string, any>
|
|
||||||
if (parsed && parsed[savedTheme]) {
|
|
||||||
themeRegistry[savedTheme] = parsed[savedTheme]
|
|
||||||
this.state.value.currentTheme = savedTheme
|
|
||||||
this.state.value.theme = parsed[savedTheme]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
// ignore parse errors
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set amoled preference
|
// Set amoled preference
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue