Extract memind_adm admin server, add local dev tooling, and remove image-generation.
Split platform admin and ops APIs into standalone admin-server.mjs with network guards; simplify billing to RMB token pricing, refactor user auth, and add rsync deploy plus local-test scripts and docs. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+40
-12
@@ -1,25 +1,53 @@
|
||||
import { Navigate, Route, Routes } from 'react-router-dom';
|
||||
import { OpsLayout } from './components/OpsLayout';
|
||||
import { RequireOps } from './components/RequireOps';
|
||||
import { RequireAdmin } from './components/RequireAdmin';
|
||||
import { AdminLayout } from './components/AdminLayout';
|
||||
import { AnalyticsPage } from './pages/AnalyticsPage';
|
||||
import { CreatorsPage } from './pages/CreatorsPage';
|
||||
import { FeaturedPage } from './pages/FeaturedPage';
|
||||
import { ReportsPage } from './pages/ReportsPage';
|
||||
import { ReviewPage } from './pages/ReviewPage';
|
||||
import { SummaryPage } from './pages/admin/SummaryPage';
|
||||
import { UsersPage } from './pages/admin/UsersPage';
|
||||
import { LlmPage } from './pages/admin/LlmPage';
|
||||
import { BillingPage } from './pages/admin/BillingPage';
|
||||
|
||||
export function App() {
|
||||
return (
|
||||
<RequireOps>
|
||||
<Routes>
|
||||
<Route element={<OpsLayout />}>
|
||||
<Route index element={<ReviewPage />} />
|
||||
<Route path="reports" element={<ReportsPage />} />
|
||||
<Route path="featured" element={<FeaturedPage />} />
|
||||
<Route path="creators" element={<CreatorsPage />} />
|
||||
<Route path="analytics" element={<AnalyticsPage />} />
|
||||
<Route path="*" element={<Navigate to="/" replace />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
</RequireOps>
|
||||
<Routes>
|
||||
{/* Plaza ops console */}
|
||||
<Route
|
||||
element={
|
||||
<RequireOps>
|
||||
<OpsLayout />
|
||||
</RequireOps>
|
||||
}
|
||||
>
|
||||
<Route index element={<ReviewPage />} />
|
||||
<Route path="reports" element={<ReportsPage />} />
|
||||
<Route path="featured" element={<FeaturedPage />} />
|
||||
<Route path="creators" element={<CreatorsPage />} />
|
||||
<Route path="analytics" element={<AnalyticsPage />} />
|
||||
</Route>
|
||||
|
||||
{/* Super-admin console */}
|
||||
<Route
|
||||
path="admin"
|
||||
element={
|
||||
<RequireAdmin>
|
||||
<AdminLayout />
|
||||
</RequireAdmin>
|
||||
}
|
||||
>
|
||||
<Route index element={<SummaryPage />} />
|
||||
<Route path="users" element={<UsersPage />} />
|
||||
<Route path="llm" element={<LlmPage />} />
|
||||
<Route path="billing" element={<BillingPage />} />
|
||||
<Route path="*" element={<Navigate to="/admin" replace />} />
|
||||
</Route>
|
||||
|
||||
<Route path="*" element={<Navigate to="/" replace />} />
|
||||
</Routes>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user