diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 2f0fe60..61956da 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,26 +1,43 @@ +import { lazy, Suspense } from "react"; import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; import { DashboardLayout } from "./components/DashboardLayout"; -import { DashboardPage } from "./pages/DashboardPage"; -import { QueuePage } from "./pages/QueuePage"; -import { ChatPage } from "./pages/ChatPage"; -import { ProjectsPage } from "./pages/ProjectsPage"; -import { TaskPage } from "./pages/TaskPage"; -import { AdminPage } from "./components/AdminPage"; import { LoginPage } from "./components/LoginPage"; import { ToastProvider } from "./components/Toast"; import { useSession } from "./lib/auth-client"; +// Lazy-loaded pages for code splitting +const DashboardPage = lazy(() => import("./pages/DashboardPage").then(m => ({ default: m.DashboardPage }))); +const QueuePage = lazy(() => import("./pages/QueuePage").then(m => ({ default: m.QueuePage }))); +const ChatPage = lazy(() => import("./pages/ChatPage").then(m => ({ default: m.ChatPage }))); +const ProjectsPage = lazy(() => import("./pages/ProjectsPage").then(m => ({ default: m.ProjectsPage }))); +const TaskPage = lazy(() => import("./pages/TaskPage").then(m => ({ default: m.TaskPage }))); +const ActivityPage = lazy(() => import("./pages/ActivityPage").then(m => ({ default: m.ActivityPage }))); +const AdminPage = lazy(() => import("./components/AdminPage").then(m => ({ default: m.AdminPage }))); + +function PageLoader() { + return ( +
+ {allActivity.length} updates across {tasks.length} tasks +
++ {item.note.note} +
++ {item.task.title} +
+