feat(web): soft-redirect to login on 401 via a navigate bridge (#48)
This commit is contained in:
+13
-3
@@ -1,6 +1,7 @@
|
||||
import { lazy, Suspense } from "react";
|
||||
import { createBrowserRouter, createRoutesFromElements, Navigate, Route, RouterProvider } from "react-router-dom";
|
||||
import { createBrowserRouter, createRoutesFromElements, Navigate, Outlet, Route, RouterProvider } from "react-router-dom";
|
||||
|
||||
import { NavigationBridge } from "./shell/navigation-bridge";
|
||||
import { RequireAuth } from "./auth/require-auth";
|
||||
import { LoginPage } from "./auth/login-page";
|
||||
import { AppShell } from "./shell/app-shell";
|
||||
@@ -26,9 +27,18 @@ const FieldsPage = lazy(() =>
|
||||
import("./fields/fields-page").then((m) => ({ default: m.FieldsPage })),
|
||||
);
|
||||
|
||||
function RootLayout() {
|
||||
return (
|
||||
<>
|
||||
<NavigationBridge />
|
||||
<Outlet />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
const router = createBrowserRouter(
|
||||
createRoutesFromElements(
|
||||
<>
|
||||
<Route element={<RootLayout />}>
|
||||
<Route path="/login" element={<LoginPage />} />
|
||||
<Route element={<RequireAuth />}>
|
||||
<Route element={<AppShell />}>
|
||||
@@ -73,7 +83,7 @@ const router = createBrowserRouter(
|
||||
</Route>
|
||||
</Route>
|
||||
<Route path="*" element={<Navigate to="/objects" replace />} />
|
||||
</>,
|
||||
</Route>,
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user