Files
tcms/themes/neon/assets/app.js
T
2026-07-04 19:41:44 -04:00

36 lines
1.2 KiB
JavaScript

(function () {
var root = document.documentElement;
var storedMode = localStorage.getItem('neon-mode') || 'dark';
var storedAccent = localStorage.getItem('neon-accent') || 'green';
var modeButton = document.querySelector('[data-mode-toggle]');
function applyMode(mode) {
root.dataset.mode = mode;
localStorage.setItem('neon-mode', mode);
if (modeButton) {
modeButton.textContent = mode === 'light' ? 'Dark' : 'Light';
modeButton.setAttribute('aria-label', mode === 'light' ? 'Use dark mode' : 'Use light mode');
}
}
function applyAccent(accent) {
root.dataset.accent = accent;
localStorage.setItem('neon-accent', accent);
}
applyMode(storedMode);
applyAccent(storedAccent);
if (modeButton) {
modeButton.addEventListener('click', function () {
applyMode(root.dataset.mode === 'light' ? 'dark' : 'light');
});
}
document.querySelectorAll('[data-accent]').forEach(function (button) {
button.addEventListener('click', function () {
applyAccent(button.dataset.accent || 'green');
});
});
}());