diff --git a/apps/frontend/src/main.tsx b/apps/frontend/src/main.tsx
index f3b2854..f5fb82c 100644
--- a/apps/frontend/src/main.tsx
+++ b/apps/frontend/src/main.tsx
@@ -6,15 +6,22 @@ import { QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { RouterProvider } from '@tanstack/react-router';
import { TanStackRouterDevtools } from '@tanstack/router-devtools';
-import { StrictMode, useEffect } from 'react';
+import { StrictMode, useEffect, useRef } from 'react';
import { createRoot } from 'react-dom/client';
import { router } from './router';
import './index.css';
function AppRouter() {
const auth = useAuth();
+ const prevAuthRef = useRef(auth);
+
+ if (auth !== prevAuthRef.current) {
+ prevAuthRef.current = auth;
+ router.update({ context: { auth, api: apiClient } });
+ }
useEffect(() => {
+ router.update({ context: { auth, api: apiClient } });
router.invalidate();
}, [auth.isAuthenticated, auth.loading, auth.user]);
diff --git a/apps/frontend/src/routes/$complexSlug/booking/confirmed/$bookingCode.tsx b/apps/frontend/src/routes/$complexSlug/booking/confirmed/$bookingCode.tsx
index 9371023..f3d0584 100644
--- a/apps/frontend/src/routes/$complexSlug/booking/confirmed/$bookingCode.tsx
+++ b/apps/frontend/src/routes/$complexSlug/booking/confirmed/$bookingCode.tsx
@@ -1,11 +1,15 @@
-import { PublicBookingConfirmationPage } from '@/features/public-booking/public-booking-confirmation-page';
-import { createFileRoute } from '@tanstack/react-router';
+import { createFileRoute, lazyRouteComponent } from '@tanstack/react-router';
+
+const PublicBookingConfirmationPage = lazyRouteComponent(
+ () => import('@/features/public-booking/public-booking-confirmation-page'),
+ 'PublicBookingConfirmationPage'
+);
export const Route = createFileRoute('/$complexSlug/booking/confirmed/$bookingCode')({
- component: PublicBookingConfirmationRouteComponent,
+ component: RouteComponent,
});
-function PublicBookingConfirmationRouteComponent() {
+function RouteComponent() {
const { complexSlug, bookingCode } = Route.useParams();
return ;
diff --git a/apps/frontend/src/routes/$complexSlug/booking/index.tsx b/apps/frontend/src/routes/$complexSlug/booking/index.tsx
index 9d080a1..70b020d 100644
--- a/apps/frontend/src/routes/$complexSlug/booking/index.tsx
+++ b/apps/frontend/src/routes/$complexSlug/booking/index.tsx
@@ -1,11 +1,15 @@
-import { PublicBookingPage } from '@/features/public-booking/public-booking-page';
-import { createFileRoute } from '@tanstack/react-router';
+import { createFileRoute, lazyRouteComponent } from '@tanstack/react-router';
+
+const PublicBookingPage = lazyRouteComponent(
+ () => import('@/features/public-booking/public-booking-page'),
+ 'PublicBookingPage'
+);
export const Route = createFileRoute('/$complexSlug/booking/')({
- component: PublicBookingIndexRouteComponent,
+ component: RouteComponent,
});
-function PublicBookingIndexRouteComponent() {
+function RouteComponent() {
const { complexSlug } = Route.useParams();
return ;
diff --git a/apps/frontend/src/routes/_app/_authenticated/complex/$slug/edit.tsx b/apps/frontend/src/routes/_app/_authenticated/complex/$slug/edit.tsx
index b0705dd..6b80ccb 100644
--- a/apps/frontend/src/routes/_app/_authenticated/complex/$slug/edit.tsx
+++ b/apps/frontend/src/routes/_app/_authenticated/complex/$slug/edit.tsx
@@ -1,5 +1,9 @@
-import { ComplexSettingsPage } from '@/features/complex/complex-settings-page';
-import { createFileRoute } from '@tanstack/react-router';
+import { createFileRoute, lazyRouteComponent } from '@tanstack/react-router';
+
+const ComplexSettingsPage = lazyRouteComponent(
+ () => import('@/features/complex/complex-settings-page'),
+ 'ComplexSettingsPage'
+);
export const Route = createFileRoute('/_app/_authenticated/complex/$slug/edit')({
component: RouteComponent,
diff --git a/apps/frontend/src/routes/_app/profile.tsx b/apps/frontend/src/routes/_app/profile.tsx
index b6ad326..d2a9fe8 100644
--- a/apps/frontend/src/routes/_app/profile.tsx
+++ b/apps/frontend/src/routes/_app/profile.tsx
@@ -1,5 +1,9 @@
-import { ProfilePage } from '@/features/profile/profile-page';
-import { createFileRoute } from '@tanstack/react-router';
+import { createFileRoute, lazyRouteComponent } from '@tanstack/react-router';
+
+const ProfilePage = lazyRouteComponent(
+ () => import('@/features/profile/profile-page'),
+ 'ProfilePage'
+);
export const Route = createFileRoute('/_app/profile')({
component: ProfilePage,
diff --git a/apps/frontend/src/routes/onboard/setup.tsx b/apps/frontend/src/routes/onboard/setup.tsx
index 4459962..5643045 100644
--- a/apps/frontend/src/routes/onboard/setup.tsx
+++ b/apps/frontend/src/routes/onboard/setup.tsx
@@ -1,5 +1,9 @@
-import { SetupStepperPage } from '@/features/onboard/setup-stepper-page';
-import { createFileRoute, redirect } from '@tanstack/react-router';
+import { createFileRoute, lazyRouteComponent, redirect } from '@tanstack/react-router';
+
+const SetupStepperPage = lazyRouteComponent(
+ () => import('@/features/onboard/setup-stepper-page'),
+ 'SetupStepperPage'
+);
export const Route = createFileRoute('/onboard/setup')({
beforeLoad: ({ context }) => {