forked from Decentrala/website
[Lang] fix persistance
This commit is contained in:
@@ -46,6 +46,27 @@ window.addEventListener("DOMContentLoaded", () => {
|
|||||||
|
|
||||||
window.addEventListener("resize", () => isMenuOpen() && closeMenu());
|
window.addEventListener("resize", () => isMenuOpen() && closeMenu());
|
||||||
main.addEventListener("click", () => isMenuOpen() && closeMenu());
|
main.addEventListener("click", () => isMenuOpen() && closeMenu());
|
||||||
|
|
||||||
|
/* Language persistence */
|
||||||
|
const currentLang = document.documentElement.lang || "sr";
|
||||||
|
const anchors = document.getElementsByTagName("a");
|
||||||
|
Array.from(anchors).forEach((a) => {
|
||||||
|
// Skip language switcher links
|
||||||
|
if (a.classList.contains("lang")) return;
|
||||||
|
const href = a.getAttribute("href");
|
||||||
|
if (!href) return;
|
||||||
|
if (href.startsWith("/")) {
|
||||||
|
// Replace existing language prefix or add one
|
||||||
|
if (href.startsWith("/sr") || href.startsWith("/en")) {
|
||||||
|
if (!href.startsWith(`/${currentLang}`)) {
|
||||||
|
a.setAttribute("href", `/${currentLang}${href.slice(3)}`);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// No language prefix, prepend currentLang
|
||||||
|
a.setAttribute("href", `/${currentLang}${href}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
hamburger?.addEventListener("click", () => isMenuOpen() ? closeMenu() : openMenu());
|
hamburger?.addEventListener("click", () => isMenuOpen() ? closeMenu() : openMenu());
|
||||||
|
|
||||||
themeBtn.addEventListener("click", () => {
|
themeBtn.addEventListener("click", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user