mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 18:31:09 -05:00
40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
// Theme Toggle
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
const themeToggle = document.getElementById('theme-toggle');
|
|
const themeIcon = themeToggle.nextElementSibling.querySelector('i');
|
|
|
|
// Set initial icon
|
|
updateThemeIcon();
|
|
|
|
themeToggle.addEventListener('change', () => {
|
|
if (document.documentElement.classList.contains('dark')) {
|
|
document.documentElement.classList.remove('dark');
|
|
localStorage.setItem('theme', 'light');
|
|
} else {
|
|
document.documentElement.classList.add('dark');
|
|
localStorage.setItem('theme', 'dark');
|
|
}
|
|
updateThemeIcon();
|
|
});
|
|
|
|
function updateThemeIcon() {
|
|
const isDark = document.documentElement.classList.contains('dark');
|
|
themeIcon.classList.remove('fa-sun', 'fa-moon');
|
|
themeIcon.classList.add(isDark ? 'fa-sun' : 'fa-moon');
|
|
}
|
|
|
|
// Mobile Menu Toggle
|
|
const mobileMenuBtn = document.getElementById('mobileMenuBtn');
|
|
const mobileMenu = document.getElementById('mobileMenu');
|
|
const menuIcon = mobileMenuBtn.querySelector('i');
|
|
|
|
mobileMenu.style.display = 'none';
|
|
let isMenuOpen = false;
|
|
|
|
mobileMenuBtn.addEventListener('click', () => {
|
|
isMenuOpen = !isMenuOpen;
|
|
mobileMenu.style.display = isMenuOpen ? 'block' : 'none';
|
|
menuIcon.classList.remove('fa-bars', 'fa-times');
|
|
menuIcon.classList.add(isMenuOpen ? 'fa-times' : 'fa-bars');
|
|
});
|
|
}); |