shitty (probably not working) fix for preset themes

This commit is contained in:
Samidy 2025-12-20 12:36:30 +03:00
parent 09e43b4954
commit e173b8a89e
2 changed files with 25 additions and 0 deletions

View file

@ -21,6 +21,7 @@ import { themeRegistry } from './configs'
const STORAGE_KEY_THEME = 'vitepress-theme-name'
const STORAGE_KEY_MODE = 'vitepress-display-mode'
const STORAGE_KEY_AMOLED = 'vitepress-amoled-enabled'
const STORAGE_KEY_THEME_DATA = 'vitepress-theme-data'
export class ThemeHandler {
private state = ref<ThemeState>({
@ -46,6 +47,20 @@ export class ThemeHandler {
if (themeRegistry[savedTheme]) {
this.state.value.currentTheme = savedTheme
this.state.value.theme = themeRegistry[savedTheme]
} else {
try {
const raw = localStorage.getItem(STORAGE_KEY_THEME_DATA)
if (raw) {
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