Spaces:
Sleeping
Sleeping
File size: 2,857 Bytes
a8ea7fe 7249792 a8ea7fe | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | function toggleMobileMenu() {
const mobileMenu = document.getElementById('mobile-menu');
const menuIcon = document.getElementById('menu-icon');
const closeIcon = document.getElementById('close-icon');
if (mobileMenu) {
mobileMenu.classList.toggle('hidden');
if (menuIcon && closeIcon) {
menuIcon.classList.toggle('hidden');
closeIcon.classList.toggle('hidden');
}
}
}
function closeMobileMenu() {
const mobileMenu = document.getElementById('mobile-menu');
const menuIcon = document.getElementById('menu-icon');
const closeIcon = document.getElementById('close-icon');
if (mobileMenu) {
mobileMenu.classList.add('hidden');
if (menuIcon && closeIcon) {
menuIcon.classList.remove('hidden');
closeIcon.classList.add('hidden');
}
}
}
function toggleMobileLanguageMenu() {
const menu = document.getElementById('mobile-lang-menu');
if (menu) {
menu.classList.toggle('hidden');
}
}
function initMenuEvents() {
document.addEventListener('click', (event) => {
const mobileMenu = document.getElementById('mobile-menu');
const mobileMenuBtn = document.getElementById('mobile-menu-btn');
const mobileLangMenu = document.getElementById('mobile-lang-menu');
const mobileLangBtn = document.getElementById('mobile-lang-switcher');
if (mobileMenu && !mobileMenu.contains(event.target) && !mobileMenuBtn?.contains(event.target)) {
if (!mobileMenu.classList.contains('hidden')) {
closeMobileMenu();
}
}
if (mobileLangMenu && !mobileLangMenu.contains(event.target) && !mobileLangBtn?.contains(event.target)) {
if (!mobileLangMenu.classList.contains('hidden')) {
mobileLangMenu.classList.add('hidden');
}
}
});
document.addEventListener('click', (e) => {
const langSwitcher = document.getElementById('lang-switcher');
const langMenu = document.getElementById('lang-menu');
if (langSwitcher && langMenu && !langSwitcher.contains(e.target) && !langMenu.contains(e.target)) {
langMenu.classList.add('hidden');
}
const accountBtn = document.getElementById('sign-in-btn');
const accountMenu = document.getElementById('account-menu');
if (accountBtn && accountMenu && !accountBtn.contains(e.target) && !accountMenu.contains(e.target)) {
accountMenu.classList.add('hidden');
}
const mobileAccountBtn = document.getElementById('mobile-sign-in-btn');
const mobileAccountMenu = document.getElementById('mobile-account-menu');
if (mobileAccountBtn && mobileAccountMenu && !mobileAccountBtn.contains(e.target) && !mobileAccountMenu.contains(e.target)) {
mobileAccountMenu.classList.add('hidden');
}
});
}
export { toggleMobileMenu, closeMobileMenu, toggleMobileLanguageMenu, initMenuEvents };
|