import { Routes, Route, Navigate, Outlet } from 'react-router-dom' import { AuthProvider } from './contexts/AuthContext.jsx' import { SiteProvider } from './contexts/SiteContext.jsx' import MaintenanceGate from './components/MaintenanceGate.jsx' import RequireAuth from './components/RequireAuth.jsx' // Public import Portal from './routes/public/Portal.jsx' import Website from './routes/public/Website.jsx' import News from './routes/public/News.jsx' import Screenshots from './routes/public/Screenshots.jsx' import FiveOnFriday from './routes/public/FiveOnFriday.jsx' import Newsletter from './routes/public/Newsletter.jsx' import NewsletterIssue from './routes/public/NewsletterIssue.jsx' import About from './routes/public/About.jsx' import Status from './routes/public/Status.jsx' import Wiki from './routes/wiki/Wiki.jsx' import WikiArticle from './routes/wiki/WikiArticle.jsx' // Admin import AdminLogin from './routes/admin/AdminLogin.jsx' import AdminLayout from './routes/admin/AdminLayout.jsx' import Dashboard from './routes/admin/views/Dashboard.jsx' import PostsAdmin from './routes/admin/views/PostsAdmin.jsx' import WikiAdmin from './routes/admin/views/WikiAdmin.jsx' import SettingsAdmin from './routes/admin/views/SettingsAdmin.jsx' import ActivityAdmin from './routes/admin/views/ActivityAdmin.jsx' import UsersAdmin from './routes/admin/views/UsersAdmin.jsx' export default function App() { return ( {/* Public site — gated by maintenance mode (admins preview through it) */} } > } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Admin */} } /> } > } /> } /> } /> } /> } /> } /> } /> } /> ) }