Moved JS from baseof

This commit is contained in:
Nathan Schneider
2025-07-19 21:49:44 -06:00
parent e7d02211a3
commit 57cd3fe19b
4 changed files with 117 additions and 116 deletions

50
static/js/mobile-menu.js Normal file
View File

@@ -0,0 +1,50 @@
// Mobile Menu Functionality
document.addEventListener('DOMContentLoaded', function() {
const mobileMenuToggle = document.querySelector('.mobile-menu-toggle');
const navLinks = document.querySelector('.nav-links');
const overlay = document.querySelector('.mobile-menu-overlay');
const body = document.body;
function toggleMenu() {
const isActive = mobileMenuToggle.classList.contains('active');
if (isActive) {
mobileMenuToggle.classList.remove('active');
navLinks.classList.remove('active');
overlay.classList.remove('active');
body.classList.remove('menu-open');
} else {
mobileMenuToggle.classList.add('active');
navLinks.classList.add('active');
overlay.classList.add('active');
body.classList.add('menu-open');
}
}
function closeMenu() {
mobileMenuToggle.classList.remove('active');
navLinks.classList.remove('active');
overlay.classList.remove('active');
body.classList.remove('menu-open');
}
if (mobileMenuToggle && navLinks && overlay) {
mobileMenuToggle.addEventListener('click', toggleMenu);
// Close menu when clicking on overlay
overlay.addEventListener('click', closeMenu);
// Close menu when clicking on a link
const navLinksItems = navLinks.querySelectorAll('a');
navLinksItems.forEach(link => {
link.addEventListener('click', closeMenu);
});
// Close menu on escape key
document.addEventListener('keydown', function(event) {
if (event.key === 'Escape') {
closeMenu();
}
});
}
});