// Mobile Menu Script document.addEventListener('DOMContentLoaded', function() { console.log('Mobile menu script loaded'); // Для отладки const mobileMenuBtn = document.getElementById('mobileMenuBtn'); const mobileMenuClose = document.getElementById('mobileMenuClose'); const mobileMenuOverlay = document.getElementById('mobileMenuOverlay'); const mobileMenu = document.getElementById('mobileMenu'); const mobileThemeToggle = document.getElementById('mobile-theme-toggle'); const mainThemeToggle = document.getElementById('theme-toggle'); // Проверяем, что элементы существуют if (!mobileMenuBtn || !mobileMenu) { console.error('Mobile menu elements not found'); return; } console.log('Mobile menu elements found:', { mobileMenuBtn, mobileMenuClose, mobileMenuOverlay, mobileMenu, mobileThemeToggle, mainThemeToggle }); // Открытие мобильного меню mobileMenuBtn.addEventListener('click', function() { console.log('Opening mobile menu'); mobileMenu.classList.add('active'); mobileMenuOverlay.style.display = 'block'; document.body.style.overflow = 'hidden'; }); // Закрытие мобильного меню function closeMobileMenu() { console.log('Closing mobile menu'); mobileMenu.classList.remove('active'); mobileMenuOverlay.style.display = 'none'; document.body.style.overflow = ''; } if (mobileMenuClose) { mobileMenuClose.addEventListener('click', closeMobileMenu); } if (mobileMenuOverlay) { mobileMenuOverlay.addEventListener('click', closeMobileMenu); } // Закрытие меню при клике на ссылку const mobileNavLinks = document.querySelectorAll('.mobile-nav-link'); mobileNavLinks.forEach(link => { link.addEventListener('click', closeMobileMenu); }); // Синхронизация переключателей темы function syncThemeToggles() { if (mobileThemeToggle && mainThemeToggle) { mobileThemeToggle.checked = mainThemeToggle.checked; } } if (mainThemeToggle) { mainThemeToggle.addEventListener('change', function() { console.log('Main theme toggle changed:', this.checked); syncThemeToggles(); }); } if (mobileThemeToggle) { mobileThemeToggle.addEventListener('change', function() { console.log('Mobile theme toggle changed:', this.checked); if (mainThemeToggle) { mainThemeToggle.checked = this.checked; // Триггерим событие change const event = new Event('change'); mainThemeToggle.dispatchEvent(event); } }); } // Инициализация синхронизации syncThemeToggles(); // Закрытие меню по ESC document.addEventListener('keydown', function(event) { if (event.key === 'Escape') { closeMobileMenu(); } }); console.log('Mobile menu script initialized successfully'); });