// 主题切换(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());
}