Merge pull request #2236 from akx/error-page-fix

fix: load i18n before showing error page
This commit is contained in:
Timothy Jaeryang Baek 2024-05-13 10:58:31 -10:00 committed by GitHub
commit 4f87512bbc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 9 deletions

View File

@ -37,7 +37,7 @@ const createIsLoadingStore = (i18n: i18nType) => {
return isLoading;
};
export const initI18n = (defaultLocale: string) => {
export const initI18n = (defaultLocale: string | undefined) => {
let detectionOrder = defaultLocale
? ['querystring', 'localStorage']
: ['querystring', 'localStorage', 'navigator'];

View File

@ -21,20 +21,22 @@
onMount(async () => {
theme.set(localStorage.theme);
// Check Backend Status
const backendConfig = await getBackendConfig();
let backendConfig = null;
try {
backendConfig = await getBackendConfig();
console.log("Backend config:", backendConfig);
} catch (error) {
console.error("Error loading backend config:", error);
}
// Initialize i18n even if we didn't get a backend config,
// so `/error` can show something that's not `undefined`.
initI18n(backendConfig?.default_locale);
if (backendConfig) {
// Save Backend Status to Store
await config.set(backendConfig);
if ($config.default_locale) {
initI18n($config.default_locale);
} else {
initI18n();
}
await WEBUI_NAME.set(backendConfig.name);
console.log(backendConfig);
if ($config) {
if (localStorage.token) {