import { lazy, Suspense } from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { BrowserRouter, Routes, Route, Navigate, Link } from 'react-router-dom'; import Layout from '@/components/Layout'; // Lightweight pages stay in the main chunk. import Extensions from '@/pages/Extensions'; import Faq from '@/pages/Faq'; // Heavy pages lazy-load — keeps the initial bundle small so the home // screen and quick tools (Extensions, FAQ) paint fast, and users only // download the big clinical-reference tables (PE_DATA, Fenton LMS, // Rosner BP splines, Bedside drug panels, Admin sub-tabs) when they // open those specific routes. const Dictation = lazy(() => import('@/pages/Dictation')); const Encounter = lazy(() => import('@/pages/Encounter')); const Soap = lazy(() => import('@/pages/Soap')); const SickVisit = lazy(() => import('@/pages/SickVisit')); const HospitalCourse = lazy(() => import('@/pages/HospitalCourse')); const ChartReview = lazy(() => import('@/pages/ChartReview')); const WellVisit = lazy(() => import('@/pages/WellVisit')); const VaxSchedule = lazy(() => import('@/pages/VaxSchedule')); const Catchup = lazy(() => import('@/pages/Catchup')); const Settings = lazy(() => import('@/pages/Settings')); const Learning = lazy(() => import('@/pages/Learning')); const PeGuide = lazy(() => import('@/pages/PeGuide')); const Bedside = lazy(() => import('@/pages/Bedside')); const Calculators = lazy(() => import('@/pages/Calculators')); const Admin = lazy(() => import('@/pages/Admin')); const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 30_000, retry: 1 } }, }); function RouteFallback() { return (
This is the new React tree. The legacy vanilla-JS app still lives at{' '} /.
Quick links: