- Vite 8 + React 19 + TypeScript 6 project via create-vite react-ts template - Tailwind v3.4 with shadcn-compatible cream palette (CSS vars) - vite-plugin-pwa v1.3 with autoUpdate SW, manifest.webmanifest, 192+512 icons - shadcn/ui components written manually (default style): button, card, input, label, sonner - Zustand persist auth store, ky API client with Bearer token hooks - React Router v7 routing with RequireAuth guard - TanStack Query v5 + Toaster wired in main.tsx - 5 stub pages: Login, Home, VehicleCard, InspectionEditor, InspectionReview - Build: 293 KB JS / 9.4 KB CSS, clean zero-warning tsc+vite build Co-Authored-By: claude-flow <ruv@ruv.net>
54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
darkMode: ["class"],
|
|
content: ["./index.html", "./src/**/*.{ts,tsx}"],
|
|
theme: {
|
|
container: {
|
|
center: true,
|
|
padding: "1rem",
|
|
},
|
|
extend: {
|
|
fontFamily: {
|
|
sans: ["Inter", "system-ui", "sans-serif"],
|
|
},
|
|
colors: {
|
|
border: "hsl(var(--border))",
|
|
input: "hsl(var(--input))",
|
|
ring: "hsl(var(--ring))",
|
|
background: "hsl(var(--background))",
|
|
foreground: "hsl(var(--foreground))",
|
|
primary: {
|
|
DEFAULT: "hsl(var(--primary))",
|
|
foreground: "hsl(var(--primary-foreground))",
|
|
},
|
|
secondary: {
|
|
DEFAULT: "hsl(var(--secondary))",
|
|
foreground: "hsl(var(--secondary-foreground))",
|
|
},
|
|
destructive: {
|
|
DEFAULT: "hsl(var(--destructive))",
|
|
foreground: "hsl(var(--destructive-foreground))",
|
|
},
|
|
muted: {
|
|
DEFAULT: "hsl(var(--muted))",
|
|
foreground: "hsl(var(--muted-foreground))",
|
|
},
|
|
accent: {
|
|
DEFAULT: "hsl(var(--accent))",
|
|
foreground: "hsl(var(--accent-foreground))",
|
|
},
|
|
card: {
|
|
DEFAULT: "hsl(var(--card))",
|
|
foreground: "hsl(var(--card-foreground))",
|
|
},
|
|
},
|
|
borderRadius: {
|
|
lg: "var(--radius)",
|
|
md: "calc(var(--radius) - 2px)",
|
|
sm: "calc(var(--radius) - 4px)",
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
};
|