2026-05-22 12:41:55 +00:00
|
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
|
|
|
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
|
2026-05-22 16:51:01 +00:00
|
|
|
import { AuthGuard } from '@/components/auth-guard';
|
2026-05-22 12:41:55 +00:00
|
|
|
import { DashboardPage } from '@/pages/dashboard-page';
|
|
|
|
|
import { LandingPage } from '@/pages/landing-page';
|
2026-05-22 14:26:13 +00:00
|
|
|
import { CatalogPage } from '@/pages/catalog-page';
|
|
|
|
|
import { DiseaseDetailPage } from '@/pages/disease-detail-page';
|
2026-05-22 16:58:23 +00:00
|
|
|
import { DiagnosisDetailPage } from '@/pages/diagnosis-detail-page';
|
2026-05-22 16:51:01 +00:00
|
|
|
import { LoginPage } from '@/pages/login-page';
|
|
|
|
|
import { RegisterPage } from '@/pages/register-page';
|
2026-05-22 12:41:55 +00:00
|
|
|
|
|
|
|
|
const queryClient = new QueryClient();
|
|
|
|
|
|
|
|
|
|
const router = createBrowserRouter([
|
2026-05-22 16:51:01 +00:00
|
|
|
{ path: '/', element: <LandingPage /> },
|
|
|
|
|
{ path: '/login', element: <LoginPage /> },
|
|
|
|
|
{ path: '/register', element: <RegisterPage /> },
|
2026-05-22 12:41:55 +00:00
|
|
|
{
|
|
|
|
|
path: '/dashboard',
|
2026-05-22 16:51:01 +00:00
|
|
|
element: (
|
|
|
|
|
<AuthGuard>
|
|
|
|
|
<DashboardPage />
|
|
|
|
|
</AuthGuard>
|
|
|
|
|
),
|
2026-05-22 14:26:13 +00:00
|
|
|
},
|
2026-05-22 16:58:23 +00:00
|
|
|
{
|
|
|
|
|
path: '/diagnoses/:id',
|
|
|
|
|
element: (
|
|
|
|
|
<AuthGuard>
|
|
|
|
|
<DiagnosisDetailPage />
|
|
|
|
|
</AuthGuard>
|
|
|
|
|
),
|
|
|
|
|
},
|
2026-05-22 16:51:01 +00:00
|
|
|
{ path: '/catalog', element: <CatalogPage /> },
|
|
|
|
|
{ path: '/catalog/:slug', element: <DiseaseDetailPage /> },
|
2026-05-22 12:41:55 +00:00
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
export function App() {
|
|
|
|
|
return (
|
|
|
|
|
<QueryClientProvider client={queryClient}>
|
|
|
|
|
<RouterProvider router={router} />
|
|
|
|
|
</QueryClientProvider>
|
|
|
|
|
);
|
|
|
|
|
}
|