/** * Theme management functionality */ export class ThemeManager { constructor() { this.init(); } /** * Initialize theme system and load saved preference */ init() { const savedTheme = localStorage.getItem('theme'); const html = document.documentElement; const themeToggle = document.getElementById('themeToggle'); if (savedTheme === 'light') { html.setAttribute('data-theme', 'light'); if (themeToggle) themeToggle.textContent = '🌙'; } else { html.removeAttribute('data-theme'); if (themeToggle) themeToggle.textContent = '☀️'; } } /** * Toggle between light and dark themes */ toggle() { const html = document.documentElement; const themeToggle = document.getElementById('themeToggle'); if (html.getAttribute('data-theme') === 'light') { html.removeAttribute('data-theme'); if (themeToggle) themeToggle.textContent = '☀️'; localStorage.setItem('theme', 'dark'); } else { html.setAttribute('data-theme', 'light'); if (themeToggle) themeToggle.textContent = '🌙'; localStorage.setItem('theme', 'light'); } } }