Files
EugeneTes 85d5d183f0 feat(frontend): tesanti brand re-skin — palette, wordmark, graph, toast, confirm
Applies the tesanti brand pack (docs/brand/tesanti.md) across every admin
surface, replacing the old slate + orange Tailwind defaults with black + white
+ signal red, three variable-weight fonts (Space Grotesk / Inter / JetBrains
Mono), mono eyebrows above every heading, and a hairline-first (not shadow-
first) elevation language.

New primitives:
- Wordmark  — "VolcanicCore" in Space Grotesk 500 with the red signal dot.
- Toast     — provider + useToast() hook + 360px surface-2 card with slide+
              fade. Replaces every alert() (edge/node mutation failures).
- ConfirmDialog — provider + promise-based useConfirm() covering optional
              type-to-confirm gating. Replaces every confirm()/prompt()
              (user delete, node remove, edge delete). Zero browser dialogs
              left in the app.
- RouteEdge — custom React Flow edge that keeps the canvas quiet by default
              and surfaces the mono "filter → transform" label as an opaque
              pill only when the edge is selected.

Graph marquee:
- vc-node states (source / router / sink) differentiated by top-border
  weight, inverse fill for sinks, and eyebrow — never by color. Red is
  reserved for selected + error.
- Node width 240px; edge label overlap eliminated.
- Zero-node empty state with a red primary "Add node" CTA.

Screen coverage:
- Login          — centered wordmark + "NATS ROUTING CONTROL" eyebrow.
- AppShell       — 240px sidebar, numbered mono eyebrows, 2px red left-border
                   on the active item, Lucide log-out on sign-out.
- Users          — mono-headed table, outline-destructive delete, chips.
- Server         — surface-2 card headers, hairline dividers, outline OK/UP
                   status chips.
- Audit          — full mono table.
- Every error banner picked up the alert-triangle prefix and full accent
  border.

Icons: added lucide-react and standardized on it (X, AlertTriangle, Check,
Share2, LogOut). Every unicode × / control glyph swapped out.

Fonts self-hosted via @fontsource-variable/{space-grotesk,inter,
jetbrains-mono}; no external requests, CSP-friendly.
2026-08-27 17:51:12 +00:00
..