import React from 'react'; import { createBrowserRouter, Outlet, useParams } from 'react-router-dom'; import Header from './components/Header'; import BottomNav from './components/BottomNav'; import { EventStatsProvider } from './context/EventStatsContext'; import { GuestIdentityProvider } from './context/GuestIdentityContext'; import LandingPage from './pages/LandingPage'; import ProfileSetupPage from './pages/ProfileSetupPage'; import HomePage from './pages/HomePage'; import TaskPickerPage from './pages/TaskPickerPage'; import TaskDetailPage from './pages/TaskDetailPage'; import UploadPage from './pages/UploadPage'; import UploadQueuePage from './pages/UploadQueuePage'; import GalleryPage from './pages/GalleryPage'; import PhotoLightbox from './pages/PhotoLightbox'; import AchievementsPage from './pages/AchievementsPage'; import SlideshowPage from './pages/SlideshowPage'; import SettingsPage from './pages/SettingsPage'; import LegalPage from './pages/LegalPage'; import NotFoundPage from './pages/NotFoundPage'; function HomeLayout() { const { slug } = useParams(); if (!slug) { return (
); } return (
); } export const router = createBrowserRouter([ { path: '/event', element: }, { path: '/setup/:slug', element: , children: [ { index: true, element: }, ], }, { path: '/e/:slug', element: , children: [ { index: true, element: }, { path: 'tasks', element: }, { path: 'tasks/:taskId', element: }, { path: 'upload', element: }, { path: 'queue', element: }, { path: 'gallery', element: }, { path: 'photo/:photoId', element: }, { path: 'achievements', element: }, { path: 'slideshow', element: }, ], }, { path: '/settings', element: }, { path: '/legal/:page', element: }, { path: '*', element: }, ]); function SetupLayout() { const { slug } = useParams<{ slug: string }>(); if (!slug) return null; return (
); } function SimpleLayout({ title, children }: { title: string; children: React.ReactNode }) { return (
{children}
); }