mirror of
https://github.com/imfing/hextra.git
synced 2025-09-13 18:46:44 -04:00

* fix: menu positions * refactor: factorize menu management and handle window resize * chore: the placement is better with +4 then +10 * chore: the placement is better with -10 than -15
27 lines
826 B
JavaScript
27 lines
826 B
JavaScript
(function () {
|
|
const languageSwitchers = document.querySelectorAll('.hextra-language-switcher');
|
|
|
|
languageSwitchers.forEach((switcher) => {
|
|
switcher.addEventListener('click', (e) => {
|
|
e.preventDefault();
|
|
|
|
switcher.dataset.state = switcher.dataset.state === 'open' ? 'closed' : 'open';
|
|
|
|
toggleMenu(switcher);
|
|
});
|
|
});
|
|
|
|
window.addEventListener("resize", () => languageSwitchers.forEach(resizeMenu))
|
|
|
|
// Dismiss language switcher when clicking outside
|
|
document.addEventListener('click', (e) => {
|
|
if (e.target.closest('.hextra-language-switcher') === null) {
|
|
languageSwitchers.forEach((switcher) => {
|
|
switcher.dataset.state = 'closed';
|
|
const optionsElement = switcher.nextElementSibling;
|
|
optionsElement.classList.add('hx:hidden');
|
|
});
|
|
}
|
|
});
|
|
})();
|