diff options
Diffstat (limited to 'frontend/src/lib/theme.ts')
| -rw-r--r-- | frontend/src/lib/theme.ts | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/frontend/src/lib/theme.ts b/frontend/src/lib/theme.ts deleted file mode 100644 index ad949a4..0000000 --- a/frontend/src/lib/theme.ts +++ /dev/null @@ -1,28 +0,0 @@ -// 主题切换(round3):默认 mint;.theme-amber 类挂 <html> 切到 amber 变量组。 -// 两套 token 都是 app.css 里的 CSS 变量组,本模块只负责持久化与挂类。 - -export type BrandTheme = 'mint' | 'amber'; -const KEY = 'sl-brand-theme'; - -export function currentTheme(): BrandTheme { - if (typeof document === 'undefined' || typeof localStorage === 'undefined') return 'mint'; - const stored = localStorage.getItem(KEY); - return stored === 'amber' ? 'amber' : 'mint'; -} - -export function applyTheme(t: BrandTheme): void { - if (typeof document === 'undefined') return; - if (t === 'amber') document.documentElement.classList.add('theme-amber'); - else document.documentElement.classList.remove('theme-amber'); - if (typeof localStorage !== 'undefined') localStorage.setItem(KEY, t); -} - -export function toggleTheme(): BrandTheme { - const next: BrandTheme = currentTheme() === 'mint' ? 'amber' : 'mint'; - applyTheme(next); - return next; -} - -if (typeof document !== 'undefined') { - applyTheme(currentTheme()); -} |
