From 6952bf1888435922bc0614e62b1b82c02ec8d268 Mon Sep 17 00:00:00 2001 From: RainyXeon Date: Sun, 7 Jul 2024 11:00:51 +0700 Subject: [PATCH] fix: language list on modal not synchronized --- webroot/js/list/language.js | 9 +++++++-- webroot/js/main.js | 8 ++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/webroot/js/list/language.js b/webroot/js/list/language.js index 4302074..f9ff312 100644 --- a/webroot/js/list/language.js +++ b/webroot/js/list/language.js @@ -5,18 +5,23 @@ import { } from '../language.js' const lang_list = document.getElementById('lang_modal_list') const target = document.getElementById('lang_modal') + let index = 0 -for (const langKey of avaliableLanguages) { +function setAvaliableLanguage() { + const langKey = avaliableLanguages[index] index += 1 - getTranslations(langKey).then(data => { lang_list.innerHTML += `
${data.langName}
` }) + .finally(() => { + if (index !== avaliableLanguages.length) setAvaliableLanguage() + }) } +setAvaliableLanguage() document.addEventListener('click', async (event) => { const getLangLocate = event.target.getAttribute('lang-data') diff --git a/webroot/js/main.js b/webroot/js/main.js index 341f6c3..f792fd9 100644 --- a/webroot/js/main.js +++ b/webroot/js/main.js @@ -1,6 +1,14 @@ import { fullScreen, exec, toast } from './kernelsu.js' import { setNewLanguage, getTranslations } from './language.js' +const loading_screen = document.getElementById('loading_screen') +loading_screen.style.display = 'none' + +let sys_lang = localStorage.getItem('/system/language') + +if (!sys_lang) sys_lang = setLangData('en_US') +if (sys_lang !== 'en_US') await setNewLanguage(sys_lang, true) + (async () => { const EXPECTED = 1 const UNEXPECTED_FAIL = 2