Load configurations in parallel & stop suppressing errors

correct commit this time
This commit is contained in:
nexy7574 2025-01-13 16:55:32 +00:00
parent 50bb5b2e99
commit f830d10c68

View file

@ -4,26 +4,21 @@ import { ClientConfig } from '../hooks/useClientConfig';
import { trimTrailingSlash } from '../utils/common';
const getClientConfig = async (): Promise<ClientConfig> => {
let url = `${trimTrailingSlash(import.meta.env.BASE_URL)}/config.${window.location.hostname}.json`;
let config = await fetch(url, { method: 'GET' });
const defaultConfig = fetch(
`${trimTrailingSlash(import.meta.env.BASE_URL)}/config.json`, { method: 'GET' }
);
const perSiteConfig = fetch(
`${trimTrailingSlash(import.meta.env.BASE_URL)}/config.${window.location.hostname}.json`, { method: "GET" }
);
let loadedConfig = null;
try {
if(config.ok && import.meta.env.MODE != "development") {
loadedConfig = await config.json();
return perSiteConfig.then(
async (pscResponse) => {
if (import.meta.env.MODE === "development" || !pscResponse.ok) {
return defaultConfig.then((dcResponse) => dcResponse.json());
}
return pscResponse.json();
}
} catch (e) {}
if(!loadedConfig) {
url = `${trimTrailingSlash(import.meta.env.BASE_URL)}/config.json`;
config = await fetch(url, { method: 'GET' });
try {
loadedConfig = await config.json();
} catch (e) {
return {};
}
}
return loadedConfig;
)
};
type ClientConfigLoaderProps = {