fix: redirect to lang parameter when loading from localStorage
- Change from HTMX partial update to full page redirect - Ensures modal and all UI elements render in correct language - Uses window.location.replace() to avoid history pollution
This commit is contained in:
+4
-16
@@ -732,22 +732,10 @@
|
|||||||
const savedLang = localStorage.getItem('cv-language');
|
const savedLang = localStorage.getItem('cv-language');
|
||||||
|
|
||||||
if (!urlLang && savedLang) {
|
if (!urlLang && savedLang) {
|
||||||
// URL is clean but we have a saved preference - load that language
|
// URL is clean but we have a saved preference - redirect with lang parameter
|
||||||
htmx.ajax('GET', `/cv?lang=${savedLang}`, {
|
const url = new URL(window.location);
|
||||||
target: '#cv-content',
|
url.searchParams.set('lang', savedLang);
|
||||||
swap: 'innerHTML swap:0ms settle:0ms'
|
window.location.replace(url.toString());
|
||||||
});
|
|
||||||
|
|
||||||
// Update button states
|
|
||||||
document.querySelectorAll('.language-selector .selector-btn').forEach(btn => {
|
|
||||||
btn.classList.remove('active');
|
|
||||||
if (btn.getAttribute('onclick').includes(savedLang)) {
|
|
||||||
btn.classList.add('active');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Update html lang attribute
|
|
||||||
document.documentElement.lang = savedLang;
|
|
||||||
} else if (urlLang) {
|
} else if (urlLang) {
|
||||||
// Save URL language to localStorage
|
// Save URL language to localStorage
|
||||||
localStorage.setItem('cv-language', urlLang);
|
localStorage.setItem('cv-language', urlLang);
|
||||||
|
|||||||
Reference in New Issue
Block a user