import { useState } from 'react' import { Loader2 } from 'lucide-react' import { AnimatePresence } from 'framer-motion' import { AppProvider, useApp } from './lib/AppContext' import { PageFade } from './components/motion' import Setup from './pages/Setup' import Login from './pages/Login' import Layout, { Page } from './components/Layout' import Dashboard from './pages/Dashboard' import Kanban from './pages/Kanban' import Milestones from './pages/Milestones' import Bugs from './pages/Bugs' import Members from './pages/Members' const PAGES: Record JSX.Element> = { dashboard: Dashboard, kanban: Kanban, milestones: Milestones, bugs: Bugs, members: Members } function Shell(): JSX.Element { const { stage } = useApp() const [page, setPage] = useState('dashboard') if (stage === 'loading') { return (
) } if (stage === 'setup') return if (stage === 'login') return const ActivePage = PAGES[page] return ( ) } export default function App(): JSX.Element { return ( ) }