🩹(frontend) make "not found screen" accessible again
With the recent introduction of SDK, the route "not found screen" was broken. Fixed it.
This commit is contained in:
committed by
aleb_the_flash
parent
2236674849
commit
19a240c63f
@@ -5,7 +5,7 @@ import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
|
|||||||
import { QueryClientProvider } from '@tanstack/react-query'
|
import { QueryClientProvider } from '@tanstack/react-query'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import { useLang } from 'hoofd'
|
import { useLang } from 'hoofd'
|
||||||
import { Switch, Route } from 'wouter'
|
import { Switch, Route, useLocation } from 'wouter'
|
||||||
import { I18nProvider } from 'react-aria-components'
|
import { I18nProvider } from 'react-aria-components'
|
||||||
import { Layout } from './layout/Layout'
|
import { Layout } from './layout/Layout'
|
||||||
import { NotFoundScreen } from './components/NotFoundScreen'
|
import { NotFoundScreen } from './components/NotFoundScreen'
|
||||||
@@ -15,39 +15,47 @@ import { queryClient } from '@/api/queryClient'
|
|||||||
import { AppInitialization } from '@/components/AppInitialization'
|
import { AppInitialization } from '@/components/AppInitialization'
|
||||||
import { SdkCreateButton } from './features/sdk/routes/CreateButton'
|
import { SdkCreateButton } from './features/sdk/routes/CreateButton'
|
||||||
|
|
||||||
|
const SDK_BASE_ROUTE = '/sdk'
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
const { i18n } = useTranslation()
|
const { i18n } = useTranslation()
|
||||||
useLang(i18n.language)
|
useLang(i18n.language)
|
||||||
|
|
||||||
|
const [location] = useLocation()
|
||||||
|
const isSDKRoute = location.startsWith(SDK_BASE_ROUTE)
|
||||||
|
|
||||||
|
if (isSDKRoute) {
|
||||||
|
return (
|
||||||
|
<QueryClientProvider client={queryClient}>
|
||||||
|
<Suspense fallback={null}>
|
||||||
|
<I18nProvider locale={i18n.language}>
|
||||||
|
<Switch>
|
||||||
|
<Route path={SDK_BASE_ROUTE} nest>
|
||||||
|
<Route path="/create-button">
|
||||||
|
<SdkCreateButton />
|
||||||
|
</Route>
|
||||||
|
</Route>
|
||||||
|
</Switch>
|
||||||
|
</I18nProvider>
|
||||||
|
</Suspense>
|
||||||
|
</QueryClientProvider>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<QueryClientProvider client={queryClient}>
|
<QueryClientProvider client={queryClient}>
|
||||||
|
<AppInitialization />
|
||||||
<Suspense fallback={null}>
|
<Suspense fallback={null}>
|
||||||
<I18nProvider locale={i18n.language}>
|
<I18nProvider locale={i18n.language}>
|
||||||
<Switch>
|
<Layout>
|
||||||
<Route path="/sdk" nest>
|
<Switch>
|
||||||
<Route path="/create-button">
|
{Object.entries(routes).map(([, route], i) => (
|
||||||
<SdkCreateButton />
|
<Route key={i} path={route.path} component={route.Component} />
|
||||||
</Route>
|
))}
|
||||||
</Route>
|
<Route component={NotFoundScreen} />
|
||||||
{/* We only want support and ReactQueryDevTools in non /sdk routes */}
|
</Switch>
|
||||||
<Route path="*">
|
</Layout>
|
||||||
<AppInitialization />
|
<ReactQueryDevtools initialIsOpen={false} buttonPosition="top-left" />
|
||||||
<Layout>
|
|
||||||
{Object.entries(routes).map(([, route], i) => (
|
|
||||||
<Route
|
|
||||||
key={i}
|
|
||||||
path={route.path}
|
|
||||||
component={route.Component}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</Layout>
|
|
||||||
<ReactQueryDevtools
|
|
||||||
initialIsOpen={false}
|
|
||||||
buttonPosition="top-left"
|
|
||||||
/>
|
|
||||||
</Route>
|
|
||||||
|
|
||||||
<Route component={NotFoundScreen} />
|
|
||||||
</Switch>
|
|
||||||
</I18nProvider>
|
</I18nProvider>
|
||||||
</Suspense>
|
</Suspense>
|
||||||
</QueryClientProvider>
|
</QueryClientProvider>
|
||||||
|
|||||||
Reference in New Issue
Block a user