Fix manifest list create/edit navigation after Vite HMR.
Keep a single browser router across hot reloads and drive ManifestList/Form via withNavigate instead of a stale router.navigate singleton.
This commit is contained in:
@@ -26,7 +26,7 @@ const KundeGruppenPage = lazy(() => import('./pages/kunde/gruppen'));
|
||||
const KundeEditPage = lazy(() => import('./pages/kunde/edit'));
|
||||
const InfosPage = lazy(() => import('./pages/infos/index'));
|
||||
|
||||
export const router = createBrowserRouter([
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
element: <AppShell />,
|
||||
@@ -64,14 +64,9 @@ export const router = createBrowserRouter([
|
||||
children: [
|
||||
{ index: true, element: <AuftragAngebotPage /> },
|
||||
{ path: 'neu', element: <AuftragAngebotNeuPage /> },
|
||||
{
|
||||
path: 'bestellung',
|
||||
children: [
|
||||
{ index: true, element: <AuftragBestellungPage /> },
|
||||
{ path: 'neu', element: <AuftragBestellungNeuPage /> },
|
||||
{ path: ':orderId', element: <AuftragBestellungEditPage /> },
|
||||
],
|
||||
},
|
||||
{ path: 'bestellung', element: <AuftragBestellungPage /> },
|
||||
{ path: 'bestellung/neu', element: <AuftragBestellungNeuPage /> },
|
||||
{ path: 'bestellung/:orderId', element: <AuftragBestellungEditPage /> },
|
||||
{ path: 'ausliefern', element: <AuftragAusliefernPage /> },
|
||||
{ path: 'retoure', element: <AuftragRetourePage /> },
|
||||
{ path: ':quoteId', element: <AuftragAngebotEditPage /> },
|
||||
@@ -90,4 +85,12 @@ export const router = createBrowserRouter([
|
||||
{ path: '*', element: <Navigate to="/artikel" replace /> },
|
||||
],
|
||||
},
|
||||
]);
|
||||
];
|
||||
|
||||
/** Keep one router across Vite HMR — recreating breaks navigate()/Link mid-session. */
|
||||
export const router =
|
||||
import.meta.hot?.data?.router ?? createBrowserRouter(routes);
|
||||
|
||||
if (import.meta.hot) {
|
||||
import.meta.hot.data.router = router;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user