feat: update landing page and add new library and scan pages

- Refactor landing page content and links for better user experience.
- Introduce a new library page to display disease information with filtering and modal details.
- Add a scan page for users to upload images for diagnosis with a preview modal.
- Enhance login and registration pages with automatic navigation to the dashboard.
- Integrate vite-tsconfig-paths for improved path resolution in Vite configuration.
This commit is contained in:
seriouselly
2026-06-02 02:42:07 +07:00
parent 73772f5f56
commit 0745dd903d
20 changed files with 1029 additions and 287 deletions
+56 -31
View File
@@ -1,47 +1,72 @@
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
import { AuthGuard } from '@/components/auth-guard';
import { DashboardPage } from '@/pages/dashboard-page';
import { LandingPage } from '@/pages/landing-page';
import { CatalogPage } from '@/pages/catalog-page';
import { DiseaseDetailPage } from '@/pages/disease-detail-page';
import { DiagnosisDetailPage } from '@/pages/diagnosis-detail-page';
import { ExpertReviewsPage } from '@/pages/expert-reviews-page';
import { LoginPage } from '@/pages/login-page';
import { RegisterPage } from '@/pages/register-page';
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import {
createBrowserRouter,
RouterProvider,
Navigate,
} from "react-router-dom";
import { DashboardPage } from "@/pages/dashboard-page";
// import { LandingPage } from "@/pages/landing-page";
import { ScanPage } from "@/pages/scan-page";
import { LibraryPage } from "@/pages/library-page";
import { CatalogPage } from "@/pages/catalog-page";
import { DiseaseDetailPage } from "@/pages/disease-detail-page";
import { DiagnosisDetailPage } from "@/pages/diagnosis-detail-page";
import { ExpertReviewsPage } from "@/pages/expert-reviews-page";
// import { LoginPage } from "@/pages/login-page";
// import { RegisterPage } from "@/pages/register-page";
import { MainLayout } from "@/components/layout/main-layout";
const queryClient = new QueryClient();
const router = createBrowserRouter([
{ path: '/', element: <LandingPage /> },
{ path: '/login', element: <LoginPage /> },
{ path: '/register', element: <RegisterPage /> },
// {
// path: "/",
// element: (
// <MainLayout>
// <LandingPage />
// </MainLayout>
// ),
// },
{
path: '/dashboard',
path: "/",
element: <Navigate to="/dashboard" replace />,
},
{
path: "/scan",
element: (
<AuthGuard>
<MainLayout>
<ScanPage />
</MainLayout>
),
},
{
path: "/library",
element: (
<MainLayout>
<LibraryPage />
</MainLayout>
),
},
// { path: "/login", element: <LoginPage /> },
// { path: "/register", element: <RegisterPage /> },
{
path: "/dashboard",
element: (
<MainLayout>
<DashboardPage />
</AuthGuard>
</MainLayout>
),
},
{
path: '/diagnoses/:id',
element: (
<AuthGuard>
<DiagnosisDetailPage />
</AuthGuard>
),
path: "/diagnoses/:id",
element: <DiagnosisDetailPage />,
},
{
path: '/expert/reviews',
element: (
<AuthGuard requireExpert>
<ExpertReviewsPage />
</AuthGuard>
),
path: "/expert/reviews",
element: <ExpertReviewsPage />,
},
{ path: '/catalog', element: <CatalogPage /> },
{ path: '/catalog/:slug', element: <DiseaseDetailPage /> },
{ path: "/catalog", element: <CatalogPage /> },
{ path: "/catalog/:slug", element: <DiseaseDetailPage /> },
]);
export function App() {