Mavidart commited on
Commit
b50fbf2
verified
1 Parent(s): 19feae1

Manual changes saved

Browse files
Files changed (1) hide show
  1. components/header.js +25 -29
components/header.js CHANGED
@@ -241,37 +241,33 @@ class CustomHeader extends HTMLElement {
241
  </button>
242
  </div>
243
  </header>
244
- <script>
245
- const shadowRoot = this.shadowRoot;
246
- const languageToggle = shadowRoot.getElementById('languageToggle');
247
- const languageDropdown = shadowRoot.getElementById('languageDropdown');
248
-
249
- // Abrir/cerrar el men煤
250
- languageToggle.addEventListener('click', (e) => {
251
- e.stopPropagation();
252
- languageDropdown.classList.toggle('show');
253
- });
254
-
255
- // Selecci贸n de idioma
256
- shadowRoot.querySelectorAll('.lang-option').forEach(option => {
257
- option.addEventListener('click', (e) => {
258
- e.preventDefault();
259
- const lang = option.getAttribute('data-lang');
260
- localStorage.setItem('language', lang);
261
- document.dispatchEvent(new CustomEvent('languageChange', { detail: lang }));
262
- languageDropdown.classList.remove('show');
263
- });
264
- });
265
 
266
- // Cerrar al hacer clic fuera (compatible con Shadow DOM)
267
- document.addEventListener('click', (e) => {
268
- const path = e.composedPath();
269
- if (!path.includes(languageToggle) && !path.includes(languageDropdown)) {
270
- languageDropdown.classList.remove('show');
271
- }
272
- });
273
- </script>
 
 
274
 
 
 
 
 
275
 
276
  // Mobile menu toggle
277
  const mobileMenuToggle = shadowRoot.getElementById('mobileMenuToggle');
 
241
  </button>
242
  </div>
243
  </header>
244
+ <script>
245
+ document.addEventListener('DOMContentLoaded', () => {
246
+ const shadowRoot = this.shadowRoot;
247
+ const languageToggle = shadowRoot.getElementById('languageToggle');
248
+ const languageDropdown = shadowRoot.getElementById('languageDropdown');
249
+
250
+ // Language toggle
251
+ languageToggle.addEventListener('click', (e) => {
252
+ e.stopPropagation();
253
+ languageDropdown.classList.toggle('show');
254
+ });
 
 
 
 
 
 
 
 
 
 
255
 
256
+ // Language selection
257
+ shadowRoot.querySelectorAll('.lang-option').forEach(option => {
258
+ option.addEventListener('click', (e) => {
259
+ e.preventDefault();
260
+ const lang = option.getAttribute('data-lang');
261
+ localStorage.setItem('language', lang);
262
+ document.dispatchEvent(new CustomEvent('languageChange', { detail: lang }));
263
+ languageDropdown.classList.remove('show');
264
+ });
265
+ });
266
 
267
+ // Close dropdown when clicking outside
268
+ document.addEventListener('click', () => {
269
+ languageDropdown.classList.remove('show');
270
+ });
271
 
272
  // Mobile menu toggle
273
  const mobileMenuToggle = shadowRoot.getElementById('mobileMenuToggle');