document.addEventListener('DOMContentLoaded', fetchLanguages); async function fetchLanguages() { try { const [languagesResponse, currentLanguageResponse] = await Promise.all([ fetch(`${url_prefix}/get-languages`), fetch(`${url_prefix}/get-locale`) ]); const languages = await languagesResponse.json(); const currentLanguage = await currentLanguageResponse.text(); const languageSelect = document.getElementById('language'); languages.forEach(lang => { const option = document.createElement('option'); option.value = lang; option.textContent = lang; languageSelect.appendChild(option); }); const savedLanguage = localStorage.getItem("language") || currentLanguage; setLanguageOnPageLoad(savedLanguage); } catch (error) { console.error("Failed to fetch languages or current language"); } } function setLanguageOnPageLoad(language) { document.getElementById("language").value = language; } function changeLanguage(lang) { fetch(`${url_prefix}/change-language`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ language: lang }), }).then((response) => { if (response.ok) { localStorage.setItem("language", lang); location.reload(); } else { console.error("Failed to change language"); } }); }