From b4a968d9916cdb53688d82545c39719e01a4a3c9 Mon Sep 17 00:00:00 2001 From: coja Date: Sun, 9 Aug 2026 04:39:00 +0200 Subject: [PATCH] [Lang] fix persistance --- site/scripts/main.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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", () => {