import {
getTranslations,
setNewLanguage,
getAvailableLanguages
} from '../language.js'
import { smallPageDisabler } from '../smallPageDesabler.js'
/* INFO: Initial setup */
let index = 0
async function setAvailableLanguage() {
const availableLanguages = await getAvailableLanguages()
for (index; index < availableLanguages.length; index++) {
const langCode = availableLanguages[index]
const langData = await getTranslations(langCode)
document.getElementById('lang_modal_list').innerHTML += `
`
}
}
setAvailableLanguage()
/* INFO: Event setup */
const navbar_data_tag = document.getElementById('cache-navbar-previous')
const small_panel_data_tag = document.getElementById('cache-page-small-previous')
document.getElementById('lang_page_toggle').addEventListener('click', () => {
const previous = !navbar_data_tag.getAttribute('content') ? setData('home', small_panel_data_tag) : navbar_data_tag.getAttribute('content')
document.getElementById(`panel_${previous}`).classList.remove('show')
document.getElementById('small_panel_language').classList.toggle('show')
small_panel_data_tag.setAttribute('content', 'language')
})
document.getElementById('sp_lang_close').addEventListener('click', () => smallPageDisabler('language', 'settings'))
document.addEventListener('click', async (event) => {
const getLangLocate = event.target.getAttribute('lang-data')
if (!getLangLocate || typeof getLangLocate !== 'string') return
smallPageDisabler('language', 'settings')
await setNewLanguage(getLangLocate)
localStorage.setItem('/system/language', getLangLocate)
}, false)
function setData(data, tag) {
tag.setAttribute('content', data)
return data
}