diff --git a/site/scripts/main.js b/site/scripts/main.js index 7bcc14ce..703b7ed8 100644 --- a/site/scripts/main.js +++ b/site/scripts/main.js @@ -46,6 +46,27 @@ window.addEventListener("DOMContentLoaded", () => { window.addEventListener("resize", () => 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()); themeBtn.addEventListener("click", () => {