// ── theme.js — theme toggle, no imports ──────────────────
export const THEME_CYCLE = ['system', 'light', 'dark'];
export const THEME_ICONS = {
system: '',
light: '',
dark: '',
};
export const THEME_LABELS = { system: 'System theme', light: 'Light theme', dark: 'Dark theme' };
export function getTheme() { return localStorage.getItem('theme') || 'system'; }
export function applyTheme(theme) {
if (theme === 'system') document.documentElement.removeAttribute('data-theme');
else document.documentElement.setAttribute('data-theme', theme);
}
export function updateToggleBtn(theme) {
const btn = document.getElementById('theme-toggle');
if (!btn) return;
btn.innerHTML = THEME_ICONS[theme];
btn.title = THEME_LABELS[theme];
}
export function cycleTheme() {
const next = THEME_CYCLE[(THEME_CYCLE.indexOf(getTheme()) + 1) % THEME_CYCLE.length];
if (next === 'system') localStorage.removeItem('theme');
else localStorage.setItem('theme', next);
applyTheme(next);
updateToggleBtn(next);
}