// 主题切换(round3):默认 mint;.theme-amber 类挂 切到 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()); }