feat(web): soft-redirect to login on 401 via a navigate bridge (#48)

This commit is contained in:
2026-06-08 14:58:25 +02:00
parent 76f65a95dd
commit 3c59f47f81
4 changed files with 95 additions and 7 deletions
+13 -3
View File
@@ -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>,
),
);