fix(frontend): block access until runtime config is loaded

This commit is contained in:
Tiago Yamamoto 2025-12-31 09:56:01 -03:00
parent e1bbd94224
commit 1eb3da814d

View file

@ -36,7 +36,10 @@ export function ConfigProvider({ children }: { children: ReactNode }) {
const response = await fetch('/api/config'); const response = await fetch('/api/config');
if (response.ok) { if (response.ok) {
const data = await response.json(); const data = await response.json();
console.log('[Config] Loaded runtime config:', data);
setConfig(data); setConfig(data);
// Also update the global cached config for non-React usage
cachedConfig = data;
} }
} catch (error) { } catch (error) {
console.warn('[Config] Failed to fetch runtime config, using defaults:', error); console.warn('[Config] Failed to fetch runtime config, using defaults:', error);
@ -48,6 +51,14 @@ export function ConfigProvider({ children }: { children: ReactNode }) {
fetchConfig(); fetchConfig();
}, []); }, []);
if (isLoading) {
return (
<div className="flex h-screen w-screen items-center justify-center bg-background">
<div className="h-8 w-8 animate-spin rounded-full border-4 border-primary border-t-transparent" />
</div>
);
}
return ( return (
<ConfigContext.Provider value={{ config, isLoading }}> <ConfigContext.Provider value={{ config, isLoading }}>
{children} {children}