profileShare

rasmusjy / tasteprint

Read-only snapshot

No repository description.

main default branch 169 files Expires Sep 13, 2026, 9:06 AM
App.tsx 2,345 bytes
1 import { Route, Routes } from "react-router-dom";
2 import { AppShell } from "./components/AppShell";
3 import { ProtectedRoute } from "./components/ProtectedRoute";
4 import { QuickTasteProvider } from "./components/QuickTaste";
5 import { AuthPage } from "./pages/AuthPage";
6 import { ChallengeDetailsPage } from "./pages/ChallengeDetailsPage";
7 import { ChallengesPage } from "./pages/ChallengesPage";
8 import { ComparePage } from "./pages/ComparePage";
9 import { DashboardPage } from "./pages/DashboardPage";
10 import { DestinationPage } from "./pages/DestinationPage";
11 import { ExplorePage } from "./pages/ExplorePage";
12 import { JoinChallengePage } from "./pages/JoinChallengePage";
13 import { LandingPage } from "./pages/LandingPage";
14 import { NotFoundPage } from "./pages/NotFoundPage";
15 import { ProfilePage } from "./pages/ProfilePage";
16 import { PublicTasteprintPage } from "./pages/PublicTasteprintPage";
17 import { TastingsPage } from "./pages/TastingsPage";
18 import { TripDetailsPage } from "./pages/TripDetailsPage";
19 import { TripsPage } from "./pages/TripsPage";
20
21 export function App() {
22 return (
23 <Routes>
24 <Route path="/" element={<LandingPage />} />
25 <Route path="/login" element={<AuthPage mode="login" />} />
26 <Route path="/register" element={<AuthPage mode="register" />} />
27 <Route path="/t/:shareSlug" element={<PublicTasteprintPage />} />
28
29 <Route element={<ProtectedRoute />}>
30 <Route path="/join/:code" element={<JoinChallengePage />} />
31 <Route path="/app" element={<QuickTasteProvider><AppShell /></QuickTasteProvider>}>
32 <Route index element={<DashboardPage />} />
33 <Route path="explore" element={<ExplorePage />} />
34 <Route path="destinations/:code" element={<DestinationPage />} />
35 <Route path="tastings" element={<TastingsPage />} />
36 <Route path="trips" element={<TripsPage />} />
37 <Route path="trips/:tripId" element={<TripDetailsPage />} />
38 <Route path="challenges" element={<ChallengesPage />} />
39 <Route path="challenges/:challengeId" element={<ChallengeDetailsPage />} />
40 <Route path="profile" element={<ProfilePage />} />
41 <Route path="compare/:shareSlug" element={<ComparePage />} />
42 </Route>
43 </Route>
44 <Route path="*" element={<NotFoundPage />} />
45 </Routes>
46 );
47 }
48