mirror of
https://github.com/warmbly/warmbly.git
synced 2026-08-26 00:00:41 +00:00
1b316b9169
Separate from the user dashboard at web/ so admin and end-user surfaces never get confused. Same stack (React 19 + Vite + Tailwind v4 + shadcn) for consistency; differentiated visually via: - 3px amber top stripe on every authenticated page - persistent ADMIN badge in the sidebar header and login card - amber-tinted sidebar with diagonal pattern - amber accent on active nav items and primary buttons - env pill (red/amber/emerald for prod/staging/dev) in the topbar - 'Admin · Warmbly' title and amber-stroked shield favicon Pages with real data wiring: Overview, Workers (list+detail with SSH actions), Egresses, Audit Log, Settings (Encryption / Storage / Messaging / Cache / Transports) backed by /admin/settings/backends Stub pages with placeholder bodies (nav exists, no 404): Mailboxes, Users, Organizations, Plans, Warmup, Campaigns, Analytics Auth reuses backend session cookies. Dev server runs on port 5174 to coexist with the dashboard on 5173. pnpm install && pnpm build → clean pnpm typecheck && pnpm lint → clean (2 pre-existing fast-refresh warnings in shadcn primitives kept verbatim from the dashboard)
16 lines
500 B
HTML
16 lines
500 B
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="icon" type="image/svg+xml" href="/admin-icon.svg" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Admin · Warmbly</title>
|
|
<meta name="apple-mobile-web-app-title" content="Admin · Warmbly" />
|
|
<meta name="robots" content="noindex, nofollow" />
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|