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 };