Implement shadcn/ui + Tailwind CSS UI layer
- Design token system via CSS custom properties (light/dark mode) - Theme context hook + ThemeToggle component - AppShell + collapsible Sidebar replace inline Nav - LoginPage redesigned: two-column grid with hero panel - shadcn/ui Button and Input components - Tailwind config wired to CSS variable tokens - All pages de-Nav'd; PrivateRoute/AdminRoute wrap with AppShell - TypeScript passes clean (npm run typecheck) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import type { Config } from "tailwindcss";
|
||||
|
||||
export default {
|
||||
darkMode: ["class"],
|
||||
content: ["./index.html", "./src/**/*.{ts,tsx}"],
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
// Brand / interactive
|
||||
primary: "rgb(var(--color-primary) / <alpha-value>)",
|
||||
"primary-hover": "rgb(var(--color-primary-hover) / <alpha-value>)",
|
||||
accent: "rgb(var(--color-accent) / <alpha-value>)",
|
||||
"accent-hover": "rgb(var(--color-accent-hover) / <alpha-value>)",
|
||||
// Layout
|
||||
background: "rgb(var(--color-background) / <alpha-value>)",
|
||||
surface: "rgb(var(--color-surface) / <alpha-value>)",
|
||||
border: "rgb(var(--color-border) / <alpha-value>)",
|
||||
// Text
|
||||
foreground: "rgb(var(--color-text-primary) / <alpha-value>)",
|
||||
muted: "rgb(var(--color-text-muted) / <alpha-value>)",
|
||||
},
|
||||
borderRadius: {
|
||||
lg: "var(--radius)",
|
||||
md: "calc(var(--radius) - 2px)",
|
||||
sm: "calc(var(--radius) - 4px)",
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
} satisfies Config;
|
||||
Reference in New Issue
Block a user