-
Notifications
You must be signed in to change notification settings - Fork 231
Refactor: Replace hardcoded colors with CSS variables across all project pages #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -3,120 +3,166 @@ | |||||
|
|
||||||
| @custom-variant dark (&:is(.dark *)); | ||||||
|
|
||||||
| :root { | ||||||
| --background: oklch(1.00 0 0); | ||||||
| --foreground: oklch(0.32 0 0); | ||||||
| --card: oklch(1.00 0 0); | ||||||
| --card-foreground: oklch(0.32 0 0); | ||||||
| --popover: oklch(1.00 0 0); | ||||||
| --popover-foreground: oklch(0.32 0 0); | ||||||
| --primary: oklch(0.62 0.19 259.76); | ||||||
| --primary-foreground: oklch(1.00 0 0); | ||||||
| --secondary: oklch(0.97 0 0); | ||||||
| --secondary-foreground: oklch(0.45 0.03 257.68); | ||||||
| --muted: oklch(0.98 0 0); | ||||||
| --muted-foreground: oklch(0.55 0.02 264.41); | ||||||
| --accent: oklch(0.95 0.03 233.56); | ||||||
| --accent-foreground: oklch(0.38 0.14 265.59); | ||||||
| --destructive: oklch(0.64 0.21 25.39); | ||||||
| --border: oklch(0.93 0.01 261.82); | ||||||
| --input: oklch(0.93 0.01 261.82); | ||||||
| --ring: oklch(0.62 0.19 259.76); | ||||||
| --chart-1: oklch(0.62 0.19 259.76); | ||||||
| --chart-2: oklch(0.55 0.22 262.96); | ||||||
| --chart-3: oklch(0.49 0.22 264.43); | ||||||
| --chart-4: oklch(0.42 0.18 265.55); | ||||||
| --chart-5: oklch(0.38 0.14 265.59); | ||||||
| --sidebar: oklch(0.98 0 0); | ||||||
| --sidebar-foreground: oklch(0.14 0 0); | ||||||
| --sidebar-primary: oklch(0.20 0 0); | ||||||
| --sidebar-primary-foreground: oklch(0.98 0 0); | ||||||
| --sidebar-accent: oklch(0.97 0 0); | ||||||
| --sidebar-accent-foreground: oklch(0.20 0 0); | ||||||
| --sidebar-border: oklch(0.92 0 0); | ||||||
| --sidebar-ring: oklch(0.71 0 0); | ||||||
| --destructive-foreground: oklch(1.0000 0 0); | ||||||
| --font-serif: Source Serif 4, serif; | ||||||
| --font-mono: JetBrains Mono, monospace; | ||||||
| --radius: 0.375rem; | ||||||
| --shadow-2xs: 0px 4px 8px -1px hsl(0 0% 0% / 0.05); | ||||||
| --shadow-xs: 0px 4px 8px -1px hsl(0 0% 0% / 0.05); | ||||||
| --shadow-sm: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 1px 2px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 1px 2px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-md: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 2px 4px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-lg: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 4px 6px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 8px 10px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-2xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.25); | ||||||
| --tracking-normal: 0em; | ||||||
| } | ||||||
|
|
||||||
| .dark { | ||||||
| --background: oklch(0.20 0 0); | ||||||
| --foreground: oklch(0.92 0 0); | ||||||
| --card: oklch(0.27 0 0); | ||||||
| --card-foreground: oklch(0.92 0 0); | ||||||
| --popover: oklch(0.27 0 0); | ||||||
| --popover-foreground: oklch(0.92 0 0); | ||||||
| --primary: oklch(0.62 0.19 259.76); | ||||||
| --primary-foreground: oklch(1.00 0 0); | ||||||
| --secondary: oklch(0.27 0 0); | ||||||
| --secondary-foreground: oklch(0.92 0 0); | ||||||
| --muted: oklch(0.27 0 0); | ||||||
| --muted-foreground: oklch(0.72 0 0); | ||||||
| --accent: oklch(0.38 0.14 265.59); | ||||||
| --accent-foreground: oklch(0.88 0.06 254.63); | ||||||
| --destructive: oklch(0.64 0.21 25.39); | ||||||
| --border: oklch(0.37 0 0); | ||||||
| --input: oklch(0.37 0 0); | ||||||
| --ring: oklch(0.62 0.19 259.76); | ||||||
| --chart-1: oklch(0.71 0.14 254.69); | ||||||
| --chart-2: oklch(0.62 0.19 259.76); | ||||||
| --chart-3: oklch(0.55 0.22 262.96); | ||||||
| --chart-4: oklch(0.49 0.22 264.43); | ||||||
| --chart-5: oklch(0.42 0.18 265.55); | ||||||
| --sidebar: oklch(0.21 0.01 285.93); | ||||||
| --sidebar-foreground: oklch(0.99 0 0); | ||||||
| --sidebar-primary: oklch(0.49 0.24 264.40); | ||||||
| --sidebar-primary-foreground: oklch(0.99 0 0); | ||||||
| --sidebar-accent: oklch(0.27 0.01 286.10); | ||||||
| --sidebar-accent-foreground: oklch(0.99 0 0); | ||||||
| --sidebar-border: oklch(1.00 0 0 / 10%); | ||||||
| --sidebar-ring: oklch(0.55 0.02 285.93); | ||||||
| --destructive-foreground: oklch(1.0000 0 0); | ||||||
| --font-serif: Source Serif 4, serif; | ||||||
| --font-mono: JetBrains Mono, monospace; | ||||||
| --radius: 0.375rem; | ||||||
| --shadow-2xs: 0px 4px 8px -1px hsl(0 0% 0% / 0.05); | ||||||
| --shadow-xs: 0px 4px 8px -1px hsl(0 0% 0% / 0.05); | ||||||
| --shadow-sm: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 1px 2px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 1px 2px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-md: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 2px 4px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-lg: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 4px 6px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.10), 0px 8px 10px -2px hsl(0 0% 0% / 0.10); | ||||||
| --shadow-2xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.25); | ||||||
| } | ||||||
|
|
||||||
| @theme inline { | ||||||
| --color-background: var(--background); | ||||||
| --color-foreground: var(--foreground); | ||||||
| --font-sans: var(--font-geist-sans); | ||||||
| --font-mono: var(--font-geist-mono); | ||||||
| --color-sidebar-ring: var(--sidebar-ring); | ||||||
| --color-sidebar-border: var(--sidebar-border); | ||||||
| --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); | ||||||
| --color-sidebar-accent: var(--sidebar-accent); | ||||||
| --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); | ||||||
| --color-sidebar-primary: var(--sidebar-primary); | ||||||
| --color-sidebar-foreground: var(--sidebar-foreground); | ||||||
| --color-sidebar: var(--sidebar); | ||||||
| --color-chart-5: var(--chart-5); | ||||||
| --color-chart-4: var(--chart-4); | ||||||
| --color-chart-3: var(--chart-3); | ||||||
| --color-chart-2: var(--chart-2); | ||||||
| --color-chart-1: var(--chart-1); | ||||||
| --color-ring: var(--ring); | ||||||
| --color-input: var(--input); | ||||||
| --color-border: var(--border); | ||||||
| --color-destructive: var(--destructive); | ||||||
| --color-accent-foreground: var(--accent-foreground); | ||||||
| --color-accent: var(--accent); | ||||||
| --color-muted-foreground: var(--muted-foreground); | ||||||
| --color-muted: var(--muted); | ||||||
| --color-secondary-foreground: var(--secondary-foreground); | ||||||
| --color-secondary: var(--secondary); | ||||||
| --color-primary-foreground: var(--primary-foreground); | ||||||
| --color-primary: var(--primary); | ||||||
| --color-popover-foreground: var(--popover-foreground); | ||||||
| --color-popover: var(--popover); | ||||||
| --color-card-foreground: var(--card-foreground); | ||||||
| --color-card: var(--card); | ||||||
| --color-card-foreground: var(--card-foreground); | ||||||
| --color-popover: var(--popover); | ||||||
| --color-popover-foreground: var(--popover-foreground); | ||||||
| --color-primary: var(--primary); | ||||||
| --color-primary-foreground: var(--primary-foreground); | ||||||
| --color-secondary: var(--secondary); | ||||||
| --color-secondary-foreground: var(--secondary-foreground); | ||||||
| --color-muted: var(--muted); | ||||||
| --color-muted-foreground: var(--muted-foreground); | ||||||
| --color-accent: var(--accent); | ||||||
| --color-accent-foreground: var(--accent-foreground); | ||||||
| --color-destructive: var(--destructive); | ||||||
| --color-border: var(--border); | ||||||
| --color-input: var(--input); | ||||||
| --color-ring: var(--ring); | ||||||
| --color-chart-1: var(--chart-1); | ||||||
| --color-chart-2: var(--chart-2); | ||||||
| --color-chart-3: var(--chart-3); | ||||||
| --color-chart-4: var(--chart-4); | ||||||
| --color-chart-5: var(--chart-5); | ||||||
| --color-sidebar: var(--sidebar); | ||||||
| --color-sidebar-foreground: var(--sidebar-foreground); | ||||||
| --color-sidebar-primary: var(--sidebar-primary); | ||||||
| --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); | ||||||
| --color-sidebar-accent: var(--sidebar-accent); | ||||||
| --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); | ||||||
| --color-sidebar-border: var(--sidebar-border); | ||||||
| --color-sidebar-ring: var(--sidebar-ring); | ||||||
| --color-destructive-foreground: var(--destructive-foreground); | ||||||
| --font-sans: var(--font-sans); | ||||||
| --font-mono: var(--font-mono); | ||||||
| --font-serif: var(--font-serif); | ||||||
| --radius-sm: calc(var(--radius) - 4px); | ||||||
| --radius-md: calc(var(--radius) - 2px); | ||||||
| --radius-lg: var(--radius); | ||||||
| --radius-xl: calc(var(--radius) + 4px); | ||||||
| } | ||||||
|
|
||||||
| :root { | ||||||
| --radius: 0.625rem; | ||||||
| --background: oklch(1 0 0); | ||||||
| --foreground: oklch(0.145 0 0); | ||||||
| --card: oklch(1 0 0); | ||||||
| --card-foreground: oklch(0.145 0 0); | ||||||
| --popover: oklch(1 0 0); | ||||||
| --popover-foreground: oklch(0.145 0 0); | ||||||
| --primary: oklch(0.205 0 0); | ||||||
| --primary-foreground: oklch(0.985 0 0); | ||||||
| --secondary: oklch(0.97 0 0); | ||||||
| --secondary-foreground: oklch(0.205 0 0); | ||||||
| --muted: oklch(0.97 0 0); | ||||||
| --muted-foreground: oklch(0.556 0 0); | ||||||
| --accent: oklch(0.97 0 0); | ||||||
| --accent-foreground: oklch(0.205 0 0); | ||||||
| --destructive: oklch(0.577 0.245 27.325); | ||||||
| --border: oklch(0.922 0 0); | ||||||
| --input: oklch(0.922 0 0); | ||||||
| --ring: oklch(0.708 0 0); | ||||||
| --chart-1: oklch(0.646 0.222 41.116); | ||||||
| --chart-2: oklch(0.6 0.118 184.704); | ||||||
| --chart-3: oklch(0.398 0.07 227.392); | ||||||
| --chart-4: oklch(0.828 0.189 84.429); | ||||||
| --chart-5: oklch(0.769 0.188 70.08); | ||||||
| --sidebar: oklch(0.985 0 0); | ||||||
| --sidebar-foreground: oklch(0.145 0 0); | ||||||
| --sidebar-primary: oklch(0.205 0 0); | ||||||
| --sidebar-primary-foreground: oklch(0.985 0 0); | ||||||
| --sidebar-accent: oklch(0.97 0 0); | ||||||
| --sidebar-accent-foreground: oklch(0.205 0 0); | ||||||
| --sidebar-border: oklch(0.922 0 0); | ||||||
| --sidebar-ring: oklch(0.708 0 0); | ||||||
| } | ||||||
|
|
||||||
| .dark { | ||||||
| --background: oklch(0.145 0 0); | ||||||
| --foreground: oklch(0.985 0 0); | ||||||
| --card: oklch(0.205 0 0); | ||||||
| --card-foreground: oklch(0.985 0 0); | ||||||
| --popover: oklch(0.205 0 0); | ||||||
| --popover-foreground: oklch(0.985 0 0); | ||||||
| --primary: oklch(0.922 0 0); | ||||||
| --primary-foreground: oklch(0.205 0 0); | ||||||
| --secondary: oklch(0.269 0 0); | ||||||
| --secondary-foreground: oklch(0.985 0 0); | ||||||
| --muted: oklch(0.269 0 0); | ||||||
| --muted-foreground: oklch(0.708 0 0); | ||||||
| --accent: oklch(0.269 0 0); | ||||||
| --accent-foreground: oklch(0.985 0 0); | ||||||
| --destructive: oklch(0.704 0.191 22.216); | ||||||
| --border: oklch(1 0 0 / 10%); | ||||||
| --input: oklch(1 0 0 / 15%); | ||||||
| --ring: oklch(0.556 0 0); | ||||||
| --chart-1: oklch(0.488 0.243 264.376); | ||||||
| --chart-2: oklch(0.696 0.17 162.48); | ||||||
| --chart-3: oklch(0.769 0.188 70.08); | ||||||
| --chart-4: oklch(0.627 0.265 303.9); | ||||||
| --chart-5: oklch(0.645 0.246 16.439); | ||||||
| --sidebar: oklch(0.205 0 0); | ||||||
| --sidebar-foreground: oklch(0.985 0 0); | ||||||
| --sidebar-primary: oklch(0.488 0.243 264.376); | ||||||
| --sidebar-primary-foreground: oklch(0.985 0 0); | ||||||
| --sidebar-accent: oklch(0.269 0 0); | ||||||
| --sidebar-accent-foreground: oklch(0.985 0 0); | ||||||
| --sidebar-border: oklch(1 0 0 / 10%); | ||||||
| --sidebar-ring: oklch(0.556 0 0); | ||||||
| --shadow-2xs: var(--shadow-2xs); | ||||||
| --shadow-xs: var(--shadow-xs); | ||||||
| --shadow-sm: var(--shadow-sm); | ||||||
| --shadow: var(--shadow); | ||||||
| --shadow-md: var(--shadow-md); | ||||||
| --shadow-lg: var(--shadow-lg); | ||||||
| --shadow-xl: var(--shadow-xl); | ||||||
| --shadow-2xl: var(--shadow-2xl); | ||||||
| } | ||||||
|
|
||||||
| @layer base { | ||||||
| * { | ||||||
| @apply border-border outline-ring/50; | ||||||
| } | ||||||
| body { | ||||||
| @apply bg-background text-foreground; | ||||||
| @apply bg-background text-foreground/90; | ||||||
| } | ||||||
| h1 { | ||||||
| @apply scroll-m-20 text-4xl tracking-tight text-balance; | ||||||
| } | ||||||
| h2 { | ||||||
| @apply scroll-m-20 text-3xl tracking-tight first:mt-0; | ||||||
| } | ||||||
| p { | ||||||
| @apply leading-7 [&:not(:first-child)]:mt-6 text-muted-foreground; | ||||||
|
||||||
| @apply leading-7 [&:not(:first-child)]:mt-6 text-muted-foreground; | |
| @apply leading-7 [&:not(:first-child)]:mt-6; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The body text uses
text-foreground/90(90% opacity) but throughout the component files, text is being changed totext-foregroundat 100% opacity. This inconsistency could lead to unexpected text rendering. Consider whether body text should be at full opacity or if component text should inherit this 90% opacity.