From 15da1ee48a2563a45e4fc9a9a76e22367e5aee47 Mon Sep 17 00:00:00 2001 From: javayhu Date: Sun, 24 Aug 2025 21:16:41 +0800 Subject: [PATCH] refactor: update global styles with a custom theme inspired by Qoder, adjusting color variables and shadow effects --- src/styles/globals.css | 169 +++++++++++++++++++++-------------------- 1 file changed, 85 insertions(+), 84 deletions(-) diff --git a/src/styles/globals.css b/src/styles/globals.css index 9c3b27f..5895832 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -12,7 +12,8 @@ * https://tweakcn.com/ * https://ui.pub/x/theme-gen * - * default theme: Clean Slate + * default theme: custom theme inspired by Qoder + * https://qoder.com/ * https://tweakcn.com/editor/theme * * NOTICE: when you change the theme, you need to check the fonts and keep the animation variables @@ -186,107 +187,107 @@ } :root { - --background: oklch(0.98 0.0 247.86); - --foreground: oklch(0.28 0.04 260.03); + --background: oklch(1.0 0 0); + --foreground: oklch(0.1448 0 0); --card: oklch(1.0 0 0); - --card-foreground: oklch(0.28 0.04 260.03); + --card-foreground: oklch(0.1448 0 0); --popover: oklch(1.0 0 0); - --popover-foreground: oklch(0.28 0.04 260.03); - --primary: oklch(0.59 0.2 277.12); - --primary-foreground: oklch(1.0 0 0); - --secondary: oklch(0.93 0.01 264.53); - --secondary-foreground: oklch(0.37 0.03 259.73); - --muted: oklch(0.97 0.0 264.54); - --muted-foreground: oklch(0.55 0.02 264.36); - --accent: oklch(0.93 0.03 272.79); - --accent-foreground: oklch(0.37 0.03 259.73); - --destructive: oklch(0.64 0.21 25.33); - --destructive-foreground: oklch(1.0 0 0); - --border: oklch(0.87 0.01 258.34); - --input: oklch(0.87 0.01 258.34); - --ring: oklch(0.59 0.2 277.12); - --chart-1: oklch(0.59 0.2 277.12); - --chart-2: oklch(0.51 0.23 276.97); - --chart-3: oklch(0.46 0.21 277.02); - --chart-4: oklch(0.4 0.18 277.37); - --chart-5: oklch(0.36 0.14 278.7); - --sidebar: oklch(0.97 0.0 264.54); - --sidebar-foreground: oklch(0.28 0.04 260.03); - --sidebar-primary: oklch(0.59 0.2 277.12); - --sidebar-primary-foreground: oklch(1.0 0 0); - --sidebar-accent: oklch(0.93 0.03 272.79); - --sidebar-accent-foreground: oklch(0.37 0.03 259.73); - --sidebar-border: oklch(0.87 0.01 258.34); - --sidebar-ring: oklch(0.59 0.2 277.12); + --popover-foreground: oklch(0.1448 0 0); + --primary: oklch(0.6271 0.1699 149.2138); + --primary-foreground: oklch(0.9851 0 0); + --secondary: oklch(0.9702 0 0); + --secondary-foreground: oklch(0.2046 0 0); + --muted: oklch(0.9702 0 0); + --muted-foreground: oklch(0.5555 0 0); + --accent: oklch(0.9819 0.0181 155.8263); + --accent-foreground: oklch(0.4479 0.1083 151.3277); + --destructive: oklch(0.5771 0.2152 27.325); + --destructive-foreground: oklch(0.9851 0 0); + --border: oklch(0.9219 0 0); + --input: oklch(0.9219 0 0); + --ring: oklch(0.7227 0.192 149.5793); + --chart-1: oklch(0.7227 0.192 149.5793); + --chart-2: oklch(0.5555 0 0); + --chart-3: oklch(0.1448 0 0); + --chart-4: oklch(0.7155 0 0); + --chart-5: oklch(0.9219 0 0); + --sidebar: oklch(0.9702 0 0); + --sidebar-foreground: oklch(0.5555 0 0); + --sidebar-primary: oklch(0.6271 0.1699 149.2138); + --sidebar-primary-foreground: oklch(0.9851 0 0); + --sidebar-accent: oklch(0.9819 0.0181 155.8263); + --sidebar-accent-foreground: oklch(0.4479 0.1083 151.3277); + --sidebar-border: oklch(0.9219 0 0); + --sidebar-ring: oklch(0.7227 0.192 149.5793); --font-sans: var(--font-noto-sans); --font-serif: var(--font-noto-serif); --font-mono: var(--font-noto-sans-mono); --radius: 0.5rem; - --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.1), 0px 1px 2px -2px - hsl(0 0% 0% / 0.1); - --shadow: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 1px 2px -2px - hsl(0 0% 0% / 0.1); - --shadow-md: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 2px 4px -2px - hsl(0 0% 0% / 0.1); - --shadow-lg: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 4px 6px -2px - hsl(0 0% 0% / 0.1); - --shadow-xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 8px 10px -2px - hsl(0 0% 0% / 0.1); - --shadow-2xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.25); + --shadow-2xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.03); + --shadow-xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.03); + --shadow-sm: 0px 4px 8px 0px hsl(0 0% 0% / 0.05), 0px 1px 2px -1px + hsl(0 0% 0% / 0.05); + --shadow: 0px 4px 8px 0px hsl(0 0% 0% / 0.05), 0px 1px 2px -1px + hsl(0 0% 0% / 0.05); + --shadow-md: 0px 4px 8px 0px hsl(0 0% 0% / 0.05), 0px 2px 4px -1px + hsl(0 0% 0% / 0.05); + --shadow-lg: 0px 4px 8px 0px hsl(0 0% 0% / 0.05), 0px 4px 6px -1px + hsl(0 0% 0% / 0.05); + --shadow-xl: 0px 4px 8px 0px hsl(0 0% 0% / 0.05), 0px 8px 10px -1px + hsl(0 0% 0% / 0.05); + --shadow-2xl: 0px 4px 8px 0px hsl(0 0% 0% / 0.13); } .dark { - --background: oklch(0.21 0.04 265.75); - --foreground: oklch(0.93 0.01 255.51); - --card: oklch(0.28 0.04 260.03); - --card-foreground: oklch(0.93 0.01 255.51); - --popover: oklch(0.28 0.04 260.03); - --popover-foreground: oklch(0.93 0.01 255.51); - --primary: oklch(0.68 0.16 276.93); - --primary-foreground: oklch(0.21 0.04 265.75); - --secondary: oklch(0.34 0.03 260.91); - --secondary-foreground: oklch(0.87 0.01 258.34); - --muted: oklch(0.28 0.04 260.03); - --muted-foreground: oklch(0.71 0.02 261.32); - --accent: oklch(0.37 0.03 259.73); - --accent-foreground: oklch(0.87 0.01 258.34); - --destructive: oklch(0.64 0.21 25.33); - --destructive-foreground: oklch(0.21 0.04 265.75); - --border: oklch(0.45 0.03 256.8); - --input: oklch(0.45 0.03 256.8); - --ring: oklch(0.68 0.16 276.93); - --chart-1: oklch(0.68 0.16 276.93); - --chart-2: oklch(0.59 0.2 277.12); - --chart-3: oklch(0.51 0.23 276.97); - --chart-4: oklch(0.46 0.21 277.02); - --chart-5: oklch(0.4 0.18 277.37); - --sidebar: oklch(0.28 0.04 260.03); - --sidebar-foreground: oklch(0.93 0.01 255.51); - --sidebar-primary: oklch(0.68 0.16 276.93); - --sidebar-primary-foreground: oklch(0.21 0.04 265.75); - --sidebar-accent: oklch(0.37 0.03 259.73); - --sidebar-accent-foreground: oklch(0.87 0.01 258.34); - --sidebar-border: oklch(0.45 0.03 256.8); - --sidebar-ring: oklch(0.68 0.16 276.93); + --background: oklch(0.1591 0 0); + --foreground: oklch(0.9702 0 0); + --card: oklch(0.2046 0 0); + --card-foreground: oklch(0.9702 0 0); + --popover: oklch(0.2046 0 0); + --popover-foreground: oklch(0.9702 0 0); + --primary: oklch(0.8003 0.1821 151.711); + --primary-foreground: oklch(0.1591 0 0); + --secondary: oklch(0.9702 0 0); + --secondary-foreground: oklch(0.2046 0 0); + --muted: oklch(0.2686 0 0); + --muted-foreground: oklch(0.7155 0 0); + --accent: oklch(0.2638 0.0276 154.8977); + --accent-foreground: oklch(0.8003 0.1821 151.711); + --destructive: oklch(0.3958 0.1331 25.723); + --destructive-foreground: oklch(0.9702 0 0); + --border: oklch(0.4 0 0); + --input: oklch(0.4 0 0); + --ring: oklch(0.8003 0.1821 151.711); + --chart-1: oklch(0.8003 0.1821 151.711); + --chart-2: oklch(0.7155 0 0); + --chart-3: oklch(0.9702 0 0); + --chart-4: oklch(0.4386 0 0); + --chart-5: oklch(0.2686 0 0); + --sidebar: oklch(0.22 0 0); + --sidebar-foreground: oklch(0.7155 0 0); + --sidebar-primary: oklch(0.8003 0.1821 151.711); + --sidebar-primary-foreground: oklch(0.1591 0 0); + --sidebar-accent: oklch(0.2638 0.0276 154.8977); + --sidebar-accent-foreground: oklch(0.8003 0.1821 151.711); + --sidebar-border: oklch(0.2686 0 0); + --sidebar-ring: oklch(0.8003 0.1821 151.711); --font-sans: var(--font-noto-sans); --font-serif: var(--font-noto-serif); --font-mono: var(--font-noto-sans-mono); --radius: 0.5rem; - --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.1), 0px 1px 2px -2px + --shadow-2xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.05); + --shadow-xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.05); + --shadow-sm: 0px 4px 8px 0px hsl(0 0% 0% / 0.1), 0px 1px 2px -1px hsl(0 0% 0% / 0.1); - --shadow: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 1px 2px -2px + --shadow: 0px 4px 8px 0px hsl(0 0% 0% / 0.1), 0px 1px 2px -1px hsl(0 0% 0% / 0.1); - --shadow-md: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 2px 4px -2px + --shadow-md: 0px 4px 8px 0px hsl(0 0% 0% / 0.1), 0px 2px 4px -1px hsl(0 0% 0% / 0.1); - --shadow-lg: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 4px 6px -2px + --shadow-lg: 0px 4px 8px 0px hsl(0 0% 0% / 0.1), 0px 4px 6px -1px hsl(0 0% 0% / 0.1); - --shadow-xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.1), 0px 8px 10px -2px + --shadow-xl: 0px 4px 8px 0px hsl(0 0% 0% / 0.1), 0px 8px 10px -1px hsl(0 0% 0% / 0.1); - --shadow-2xl: 0px 4px 8px -1px hsl(0 0% 0% / 0.25); + --shadow-2xl: 0px 4px 8px 0px hsl(0 0% 0% / 0.25); } /*