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:
curo1305
2026-04-17 12:32:06 +02:00
parent 9e2e4ec338
commit c3f87706ee
26 changed files with 1263 additions and 89 deletions
+30
View File
@@ -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;