23 lines
746 B
JavaScript
23 lines
746 B
JavaScript
// Theme toggle — persisted to localStorage
|
|
(function() {
|
|
const saved = localStorage.getItem('theme') || 'dark';
|
|
document.documentElement.setAttribute('data-theme', saved);
|
|
})();
|
|
|
|
function initThemeToggle() {
|
|
const btn = document.getElementById('theme-toggle');
|
|
if (!btn) return;
|
|
function update() {
|
|
const t = document.documentElement.getAttribute('data-theme');
|
|
btn.textContent = t === 'dark' ? '☀️' : '🌙';
|
|
}
|
|
update();
|
|
btn.addEventListener('click', () => {
|
|
const current = document.documentElement.getAttribute('data-theme');
|
|
const next = current === 'dark' ? 'light' : 'dark';
|
|
document.documentElement.setAttribute('data-theme', next);
|
|
localStorage.setItem('theme', next);
|
|
update();
|
|
});
|
|
}
|