Initial commit: portal

This commit is contained in:
jtricerolph 2026-07-01 12:09:54 +00:00
commit b54081113b
18 changed files with 736 additions and 0 deletions

29
src/App.tsx Normal file
View file

@ -0,0 +1,29 @@
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import { AuthGate } from './components/AuthGate'
import { Login } from './pages/Login'
import { Dashboard } from './pages/Dashboard'
import { AppFrame } from './pages/AppFrame'
import { AdminUsers } from './pages/AdminUsers'
export default function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/login" element={<Login />} />
<Route path="/*" element={
<AuthGate>
{user => (
<Routes>
<Route path="/" element={<Dashboard user={user} />} />
<Route path="/app/:slug" element={<AppFrame user={user} />} />
<Route path="/admin/users" element={user.is_admin ? <AdminUsers user={user} /> : <Navigate to="/" />} />
<Route path="/admin/monitor" element={<Navigate to="/notices/" />} />
<Route path="*" element={<Navigate to="/" />} />
</Routes>
)}
</AuthGate>
} />
</Routes>
</BrowserRouter>
)
}