fix: language list on modal not synchronized

This commit is contained in:
RainyXeon
2024-07-07 11:00:51 +07:00
committed by ThePedroo
parent eb22157a8f
commit 6952bf1888
2 changed files with 15 additions and 2 deletions

View File

@@ -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 += `
<div lang-data="${langKey}" class="${index === avaliableLanguages.length ? '' : 'spliter'}" style="padding-top: 25px; padding-bottom: 25px; font-size: 1.3em;">
<div lang-data="${langKey}" class="element_animation">${data.langName}</div>
</div>`
})
.finally(() => {
if (index !== avaliableLanguages.length) setAvaliableLanguage()
})
}
setAvaliableLanguage()
document.addEventListener('click', async (event) => {
const getLangLocate = event.target.getAttribute('lang-data')

View File

@@ -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