(function() {
'use strict';
const STORAGE_KEY = 'csaf-theme';
function getStoredTheme() {
return localStorage.getItem(STORAGE_KEY);
}
function setStoredTheme(theme) {
localStorage.setItem(STORAGE_KEY, theme);
}
function applyTheme(theme) {
document.documentElement.setAttribute('data-bs-theme', theme);
const icon = document.getElementById('theme-icon');
if (icon) {
icon.className = theme === 'dark' ? 'bi bi-moon-fill' : 'bi bi-sun-fill';
}
}
const stored = getStoredTheme();
if (stored) {
applyTheme(stored);
}
document.addEventListener('DOMContentLoaded', function() {
const btn = document.getElementById('theme-toggle');
if (btn) {
btn.addEventListener('click', function() {
const current = document.documentElement.getAttribute('data-bs-theme') || 'light';
const next = current === 'dark' ? 'light' : 'dark';
applyTheme(next);
setStoredTheme(next);
});
}
});
})();