Files
vantage/adminsite/tailwind.config.ts
mrhid6andClaude Opus 5 6953f5e972 feat(adminsite): scaffold and site/'s token system
A fifth Next.js app, built like web/ and site/: App Router, React 18,
Tailwind 3, TanStack Query, standalone output.

app/globals.css carries site/app/globals.css's token blocks copied verbatim
rather than retyped, so the two cannot drift by transcription. Tailwind holds
var() references only -- no component or config entry may contain a hex
value. The semantic three are aliased: site/'s --up/--pend/--down become
valid/warn/expired, so each app names the colours for what it shows.

Unlike web/, there is no rewrite proxy: the browser calls admin directly, so
NEXT_PUBLIC_ADMIN_API_URL must be browser-reachable and listed in admin's
ADMIN_ORIGIN.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 20:55:25 +01:00

47 lines
1.8 KiB
TypeScript

import type { Config } from "tailwindcss";
/*
* Tokens are shared with site/ — same names, same values, copied verbatim into
* app/globals.css. Nothing here may hold a hex value: if a colour needs to
* change it changes in globals.css, in both apps, in one commit.
*
* The semantic three are aliased rather than renamed. site/ calls them up,
* down and pend because it shows monitor state; this app calls them valid,
* expired and warn because it shows licence state. Same colours, honest names
* on both sides.
*/
const config: Config = {
content: ["./app/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}"],
theme: {
extend: {
colors: {
ground: "var(--ground)",
panel: "var(--panel)",
"panel-2": "var(--panel-2)",
ink: "var(--ink)",
"ink-2": "var(--ink-2)",
"ink-3": "var(--ink-3)",
rule: "var(--rule)",
"rule-soft": "var(--rule-soft)",
accent: "var(--accent)",
"accent-ink": "var(--accent-ink)",
"accent-wash": "var(--accent-wash)",
valid: "var(--up)",
warn: "var(--pend)",
expired: "var(--down)",
archival: "var(--ink-3)",
},
fontFamily: {
sans: ["ui-sans-serif", "system-ui", "-apple-system", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif"],
mono: ["ui-monospace", "Cascadia Mono", "SF Mono", "JetBrains Mono", "Menlo", "Consolas", "monospace"],
},
// site/ uses 4px on panels and buttons, 2px on focus rings.
borderRadius: { DEFAULT: "4px" },
maxWidth: { rail: "1200px" },
},
},
plugins: [],
};
export default config;