Spaces:
Running
Running
| // Global utility functions | |
| function debounce(func, wait) { | |
| let timeout; | |
| return function(...args) { | |
| clearTimeout(timeout); | |
| timeout = setTimeout(() => func.apply(this, args), wait); | |
| }; | |
| } | |
| // Responsive navbar toggle (will be used in navbar component) | |
| function setupMobileMenu() { | |
| const mobileMenuButton = document.querySelector('[data-mobile-menu-button]'); | |
| const mobileMenu = document.querySelector('[data-mobile-menu]'); | |
| if (mobileMenuButton && mobileMenu) { | |
| mobileMenuButton.addEventListener('click', () => { | |
| mobileMenu.classList.toggle('hidden'); | |
| }); | |
| } | |
| } | |
| // Initialize when DOM is loaded | |
| document.addEventListener('DOMContentLoaded', function() { | |
| setupMobileMenu(); | |
| // Add any other initialization code here | |
| }); |