// main menu
document.body.innerHTML = `
` + document.body.innerHTML;
const sunIcon = '☀️';
const moonIcon = '🌕';
document.addEventListener('DOMContentLoaded', () => {
const darkModeToggle = document.getElementById('darkModeToggle');
const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)');
const updateToggleButton = () => {
if (isDarkModeEnabled()) {
darkModeToggle.innerHTML = sunIcon;
darkModeToggle.setAttribute('aria-label', 'Enable light mode');
} else {
darkModeToggle.innerHTML = moonIcon;
darkModeToggle.setAttribute('aria-label', 'Enable dark mode');
}
};
const isDarkModeEnabled = () => document.body.classList.contains('dark-mode');
const updateDarkMode = () => {
if (prefersDarkScheme.matches) {
document.body.classList.add('dark-mode');
} else {
document.body.classList.remove('dark-mode');
}
};
updateDarkMode();
updateToggleButton();
prefersDarkScheme.addListener(updateDarkMode);
darkModeToggle.addEventListener('click', () => {
document.body.classList.toggle('dark-mode');
if (document.body.classList.contains('dark-mode')) {
localStorage.setItem('darkMode', 'enabled');
darkModeToggle.innerHTML = sunIcon;
} else {
localStorage.removeItem('darkMode');
darkModeToggle.innerHTML = moonIcon;
}
});
if (localStorage.getItem('darkMode') === 'enabled' || prefersDarkScheme.matches) {
document.body.classList.add('dark-mode');
}
});