Spaces:
Running
Running
Manual changes saved
Browse files- components/header.js +26 -26
components/header.js
CHANGED
|
@@ -241,36 +241,36 @@ class CustomHeader extends HTMLElement {
|
|
| 241 |
</button>
|
| 242 |
</div>
|
| 243 |
</header>
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
});
|
| 264 |
});
|
|
|
|
| 265 |
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
|
| 275 |
|
| 276 |
// Mobile menu toggle
|
|
|
|
| 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
|