/**
* AITBC Documentation Theme Toggle
* Handles dark/light mode switching with localStorage persistence
*/
(function() {
'use strict';
const STORAGE_KEY = 'aitbc-docs-theme';
// Initialize theme on page load
function initTheme() {
const savedTheme = localStorage.getItem(STORAGE_KEY);
const themeToggle = document.getElementById('theme-toggle');
if (savedTheme === 'light') {
document.body.classList.add('light');
if (themeToggle) {
themeToggle.innerHTML = '';
}
}
// Setup toggle button listener
if (themeToggle) {
themeToggle.addEventListener('click', toggleTheme);
}
}
// Toggle between light and dark themes
function toggleTheme() {
const themeToggle = document.getElementById('theme-toggle');
document.body.classList.toggle('light');
const isLight = document.body.classList.contains('light');
if (themeToggle) {
themeToggle.innerHTML = isLight
? ''
: '';
}
localStorage.setItem(STORAGE_KEY, isLight ? 'light' : 'dark');
}
// Run on DOM ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initTheme);
} else {
initTheme();
}
// Expose for manual use if needed
window.toggleTheme = toggleTheme;
})();