Kairo-Jinkendo/frontend/src/App.jsx

39 lines
960 B
React
Raw Normal View History

import { Navigate, Route, Routes } from 'react-router-dom'
import { SessionProvider, useSession } from './context/SessionContext.jsx'
import { AppLayout } from './layout/AppLayout.jsx'
import { AuthPanel } from './pages/AuthPanel.jsx'
import { VIEWS } from './registry/viewRegistry.js'
import './app.css'
function AppRoutes() {
const { isAuthenticated, loading } = useSession()
if (loading) {
return null
}
if (!isAuthenticated) {
return <AuthPanel />
}
return (
<Routes>
<Route element={<AppLayout />}>
{VIEWS.map((view) => (
<Route key={view.key} path={view.path} element={<view.component />} />
))}
<Route path="/" element={<Navigate to="/workspace" replace />} />
<Route path="*" element={<Navigate to="/workspace" replace />} />
</Route>
</Routes>
)
}
export default function App() {
return (
<SessionProvider>
<AppRoutes />
</SessionProvider>
)
}