From d7abbc3f8c307b1bc93b928ef1e9e13195d40cce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Calexvisualmakers=E2=80=9D?= Date: Sat, 17 Jan 2026 15:28:09 +0100 Subject: [PATCH] fix: Add complete shadcn/ui CSS variables and Tailwind config globals.css: - Add all shadcn/ui CSS variables in HSL format (without hsl() wrapper) - Include: card, popover, primary, secondary, muted, accent, destructive - Include: input, ring, radius, chart colors - Complete light and dark mode definitions tailwind.config.ts: - Map all CSS variables with hsl(var(--...)) wrapper - Add borderRadius config for --radius variable - Add chart colors mapping This ensures all shadcn/ui components render correctly out of the box. Co-Authored-By: Claude Opus 4.5 --- src/app/globals.css | 80 ++++++++++++++++++++++++++++----------------- tailwind.config.ts | 46 ++++++++++++++++++++++++-- 2 files changed, 94 insertions(+), 32 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index dc4c41a..8f4630f 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -2,36 +2,33 @@ @tailwind components; @tailwind utilities; -:root { - --background: #ffffff; - --foreground: #171717; - --border: 220 13% 91%; -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - --border: 240 3.7% 15.9%; - } -} - -body { - color: var(--foreground); - background: var(--background); - font-family: Arial, Helvetica, sans-serif; -} - -@layer utilities { - .text-balance { - text-wrap: balance; - } -} - - - @layer base { :root { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + --primary: 240 5.9% 10%; + --primary-foreground: 0 0% 98%; + --secondary: 240 4.8% 95.9%; + --secondary-foreground: 240 5.9% 10%; + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + --ring: 240 5.9% 10%; + --radius: 0.5rem; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; --sidebar-background: 0 0% 98%; --sidebar-foreground: 240 5.3% 26.1%; --sidebar-primary: 240 5.9% 10%; @@ -41,7 +38,32 @@ body { --sidebar-border: 220 13% 91%; --sidebar-ring: 217.2 91.2% 59.8%; } + .dark { + --background: 240 10% 3.9%; + --foreground: 0 0% 98%; + --card: 240 10% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 240 10% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 240 5.9% 10%; + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + --muted: 240 3.7% 15.9%; + --muted-foreground: 240 5% 64.9%; + --accent: 240 3.7% 15.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + --ring: 240 4.9% 83.9%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55%; --sidebar-background: 240 5.9% 10%; --sidebar-foreground: 240 4.8% 95.9%; --sidebar-primary: 224.3 76.3% 48%; @@ -53,8 +75,6 @@ body { } } - - @layer base { * { @apply border-border; diff --git a/tailwind.config.ts b/tailwind.config.ts index 5956317..3a484b8 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -10,9 +10,46 @@ const config: Config = { theme: { extend: { colors: { - background: 'var(--background)', - foreground: 'var(--foreground)', + background: 'hsl(var(--background))', + foreground: 'hsl(var(--foreground))', + card: { + DEFAULT: 'hsl(var(--card))', + foreground: 'hsl(var(--card-foreground))' + }, + popover: { + DEFAULT: 'hsl(var(--popover))', + foreground: 'hsl(var(--popover-foreground))' + }, + primary: { + DEFAULT: 'hsl(var(--primary))', + foreground: 'hsl(var(--primary-foreground))' + }, + secondary: { + DEFAULT: 'hsl(var(--secondary))', + foreground: 'hsl(var(--secondary-foreground))' + }, + muted: { + DEFAULT: 'hsl(var(--muted))', + foreground: 'hsl(var(--muted-foreground))' + }, + accent: { + DEFAULT: 'hsl(var(--accent))', + foreground: 'hsl(var(--accent-foreground))' + }, + destructive: { + DEFAULT: 'hsl(var(--destructive))', + foreground: 'hsl(var(--destructive-foreground))' + }, border: 'hsl(var(--border))', + input: 'hsl(var(--input))', + ring: 'hsl(var(--ring))', + chart: { + '1': 'hsl(var(--chart-1))', + '2': 'hsl(var(--chart-2))', + '3': 'hsl(var(--chart-3))', + '4': 'hsl(var(--chart-4))', + '5': 'hsl(var(--chart-5))' + }, sidebar: { DEFAULT: 'hsl(var(--sidebar-background))', foreground: 'hsl(var(--sidebar-foreground))', @@ -24,6 +61,11 @@ const config: Config = { ring: 'hsl(var(--sidebar-ring))' } }, + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)' + }, keyframes: { 'accordion-down': { from: {