Commit 0a0053c6 authored by Moody Salem's avatar Moody Salem

fix: prevent the interface from flashing the wrong locale temporarily on load

parent 9e10abbf
import React, { useEffect } from 'react'
import React, { useEffect, useState } from 'react'
import { i18n } from '@lingui/core'
import { I18nProvider } from '@lingui/react'
import { ReactNode } from 'react'
......@@ -15,13 +15,21 @@ export async function dynamicActivate(locale: SupportedLocale) {
export function LanguageProvider({ children }: { children: ReactNode }) {
useSetLocaleFromUrl()
const locale = useActiveLocale()
const [loaded, setLoaded] = useState(false)
useEffect(() => {
dynamicActivate(locale).catch((error) => {
dynamicActivate(locale)
.then(() => {
setLoaded(true)
})
.catch((error) => {
console.error('Failed to activate locale', locale, error)
})
}, [locale])
// prevent the app from rendering with placeholder text before the locale is loaded
if (!loaded) return null
return (
<I18nProvider forceRenderOnLocaleChange={false} i18n={i18n}>
{children}
......
......@@ -44,3 +44,15 @@ html {
transform: translate(-50vw, -100vh);
z-index: -1;
}
@media (prefers-color-scheme: dark) {
html {
background-color: #212429;
}
}
@media (prefers-color-scheme: light) {
html {
background-color: #F7F8FA;
}
}
......@@ -73,7 +73,6 @@ function TopLevelModals() {
export default function App() {
return (
<ErrorBoundary>
<Suspense fallback={null}>
<Route component={GoogleAnalyticsReporter} />
<Route component={DarkModeQueryParamReader} />
<Route component={ApeModeQueryParamReader} />
......@@ -102,12 +101,7 @@ export default function App() {
<Route exact strict path="/pool" component={Pool} />
<Route exact strict path="/pool/:tokenId" component={PositionPage} />
<Route
exact
strict
path="/add/v2/:currencyIdA?/:currencyIdB?"
component={RedirectDuplicateTokenIdsV2}
/>
<Route exact strict path="/add/v2/:currencyIdA?/:currencyIdB?" component={RedirectDuplicateTokenIdsV2} />
<Route
exact
strict
......@@ -134,7 +128,6 @@ export default function App() {
<Marginer />
</BodyWrapper>
</AppWrapper>
</Suspense>
</ErrorBoundary>
)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment