This commit is contained in:
Mateusz Gruszczyński
2026-09-07 11:38:55 +02:00
parent 749172e527
commit 0cb09769fd
17 changed files with 83 additions and 44 deletions
+2 -7
View File
@@ -265,19 +265,14 @@ function renderLanguageOptions() {
async function loadLanguages() {
try {
const languageNonce = Date.now().toString(36);
const languageUrl = path => {
const separator = String(path).includes('?') ? '&' : '?';
return `${withBase(path)}${separator}v=${languageNonce}`;
};
const response = await fetch(languageUrl('/lang/index.json'), { cache: 'no-store' });
const response = await fetch(withBase('/lang/index.json'));
if (!response.ok) throw new Error(`Language index HTTP ${response.status}`);
const manifest = await response.json();
const languages = Array.isArray(manifest.languages) ? manifest.languages : [];
if (!languages.some(item => item.code === DEFAULT_LANGUAGE)) throw new Error('Default English language pack is missing');
const loaded = await Promise.all(languages.map(async item => {
const packResponse = await fetch(languageUrl(item.path || `/lang/${encodeURIComponent(item.code)}.json`), { cache: 'no-store' });
const packResponse = await fetch(withBase(item.path || `/lang/${encodeURIComponent(item.code)}.json`));
if (!packResponse.ok) throw new Error(`Language ${item.code} HTTP ${packResponse.status}`);
const pack = await packResponse.json();
return { item, pack };
+8 -4
View File
@@ -4,10 +4,14 @@ window.matchMedia('(prefers-color-scheme: light)').addEventListener('change', ()
if ('serviceWorker' in navigator) window.addEventListener('load', () => navigator.serviceWorker.register(withBase('/sw.js')).catch(() => { }));
async function startApplication() {
observeTopbarHeight();
applyTheme();
await loadLanguages();
applyTranslations();
try {
observeTopbarHeight();
applyTheme();
await loadLanguages();
applyTranslations();
} finally {
document.documentElement.classList.remove('i18n-loading');
}
setupFormUx();
updateZoneSensorFields();
updateSchedulePresetField();