diff --git a/app/globals.css b/app/globals.css index 4253f7a..c075b4b 100644 --- a/app/globals.css +++ b/app/globals.css @@ -432,4 +432,317 @@ --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25); --tracking-normal: 0em; --spacing: 0.25rem; +} + +/* === PASTEL DREAM THEME === */ +.theme-pastel-dream { + --background: 280 20% 98%; + --foreground: 240 10% 20%; + --card: 270 30% 96%; + --card-foreground: 240 10% 20%; + --popover: 270 30% 96%; + --popover-foreground: 240 10% 20%; + --primary: 280 80% 60%; + --primary-foreground: 280 20% 95%; + --secondary: 200 40% 70%; + --secondary-foreground: 240 10% 20%; + --muted: 270 20% 90%; + --muted-foreground: 240 10% 40%; + --accent: 320 70% 65%; + --accent-foreground: 280 20% 95%; + --destructive: 0 80% 60%; + --destructive-foreground: 280 20% 95%; + --border: 270 15% 80%; + --input: 270 15% 80%; + --ring: 280 80% 60%; + --radius: 0.75rem; + --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1); + --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tracking-normal: 0em; + --spacing: 0.25rem; +} + +.theme-pastel-dream.dark { + --background: 280 10% 8%; + --foreground: 280 15% 85%; + --card: 280 12% 12%; + --card-foreground: 280 15% 85%; + --popover: 280 12% 12%; + --popover-foreground: 280 15% 85%; + --primary: 280 70% 55%; + --primary-foreground: 280 10% 95%; + --secondary: 200 50% 65%; + --secondary-foreground: 280 10% 95%; + --muted: 280 10% 15%; + --muted-foreground: 280 10% 60%; + --accent: 320 60% 60%; + --accent-foreground: 280 10% 95%; + --destructive: 0 70% 55%; + --destructive-foreground: 280 10% 95%; + --border: 280 10% 20%; + --input: 280 10% 20%; + --ring: 280 70% 55%; +} + +/* === QUANTUM ROSE THEME === */ +.theme-quantum-rose { + --background: 330 90% 97%; + --foreground: 320 20% 20%; + --card: 330 85% 95%; + --card-foreground: 320 20% 20%; + --popover: 330 85% 95%; + --popover-foreground: 320 20% 20%; + --primary: 320 85% 60%; + --primary-foreground: 330 20% 95%; + --secondary: 240 70% 70%; + --secondary-foreground: 320 20% 20%; + --muted: 330 50% 90%; + --muted-foreground: 320 20% 45%; + --accent: 180 70% 60%; + --accent-foreground: 330 20% 95%; + --destructive: 0 80% 60%; + --destructive-foreground: 330 20% 95%; + --border: 330 60% 85%; + --input: 330 60% 85%; + --ring: 320 85% 60%; + --radius: 1rem; + --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1); + --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tracking-normal: 0em; + --spacing: 0.25rem; +} + +.theme-quantum-rose.dark { + --background: 320 20% 8%; + --foreground: 320 80% 85%; + --card: 320 25% 12%; + --card-foreground: 320 80% 85%; + --popover: 320 25% 12%; + --popover-foreground: 320 80% 85%; + --primary: 320 75% 60%; + --primary-foreground: 320 15% 95%; + --secondary: 240 80% 65%; + --secondary-foreground: 320 15% 95%; + --muted: 320 20% 15%; + --muted-foreground: 320 20% 60%; + --accent: 180 70% 55%; + --accent-foreground: 320 15% 95%; + --destructive: 0 75% 60%; + --destructive-foreground: 320 15% 95%; + --border: 320 20% 25%; + --input: 320 20% 25%; + --ring: 320 75% 60%; +} + +/* === MODERN THEME (already defined, just fixing syntax) === */ +.theme-modern { + --background: 223.8136 0% 100%; + --foreground: 223.8136 0% 3.9388%; + --card: 223.8136 0% 100%; + --card-foreground: 223.8136 0% 3.9388%; + --popover: 223.8136 0% 100%; + --popover-foreground: 223.8136 0% 3.9388%; + --primary: 223.8136 0% 9.0527%; + --primary-foreground: 223.8136 0% 98.0256%; + --secondary: 223.8136 0% 96.0587%; + --secondary-foreground: 223.8136 0% 9.0527%; + --muted: 223.8136 0% 96.0587%; + --muted-foreground: 223.8136 0% 45.1519%; + --accent: 223.8136 0% 96.0587%; + --accent-foreground: 223.8136 0% 9.0527%; + --destructive: 0 80% 60%; + --destructive-foreground: 223.8136 0% 98.0256%; + --border: 223.8136 0% 90%; + --input: 223.8136 0% 90%; + --ring: 223.8136 0% 9.0527%; + --radius: 0.5rem; + --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1); + --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tracking-normal: 0em; + --spacing: 0.25rem; +} + +.theme-modern.dark { + --background: 223.8136 0% 3.9388%; + --foreground: 223.8136 0% 98.0256%; + --card: 223.8136 0% 7%; + --card-foreground: 223.8136 0% 98.0256%; + --popover: 223.8136 0% 7%; + --popover-foreground: 223.8136 0% 98.0256%; + --primary: 223.8136 0% 60%; + --primary-foreground: 223.8136 0% 10%; + --secondary: 223.8136 0% 12%; + --secondary-foreground: 223.8136 0% 98.0256%; + --muted: 223.8136 0% 10%; + --muted-foreground: 223.8136 0% 60%; + --accent: 223.8136 0% 12%; + --accent-foreground: 223.8136 0% 98.0256%; + --destructive: 0 80% 60%; + --destructive-foreground: 223.8136 0% 98.0256%; + --border: 223.8136 0% 15%; + --input: 223.8136 0% 15%; + --ring: 223.8136 0% 60%; +} + +/* === TWITTER THEME === */ +.theme-twitter { + --background: 205 100% 98%; + --foreground: 205 20% 20%; + --card: 205 100% 96%; + --card-foreground: 205 20% 20%; + --popover: 205 100% 96%; + --popover-foreground: 205 20% 20%; + --primary: 205 100% 50%; + --primary-foreground: 205 20% 95%; + --secondary: 0 0% 90%; + --secondary-foreground: 205 20% 20%; + --muted: 205 50% 90%; + --muted-foreground: 205 20% 50%; + --accent: 15 100% 60%; + --accent-foreground: 205 20% 95%; + --destructive: 0 80% 60%; + --destructive-foreground: 205 20% 95%; + --border: 205 80% 85%; + --input: 205 80% 85%; + --ring: 205 100% 50%; + --radius: 0.375rem; + --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1); + --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1); + --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1); + --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1); + --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tracking-normal: 0em; + --spacing: 0.25rem; +} + +.theme-twitter.dark { + --background: 205 20% 6%; + --foreground: 205 20% 90%; + --card: 205 25% 10%; + --card-foreground: 205 20% 90%; + --popover: 205 25% 10%; + --popover-foreground: 205 20% 90%; + --primary: 205 100% 55%; + --primary-foreground: 205 20% 95%; + --secondary: 0 0% 20%; + --secondary-foreground: 205 20% 90%; + --muted: 205 20% 15%; + --muted-foreground: 205 20% 60%; + --accent: 15 100% 65%; + --accent-foreground: 205 20% 95%; + --destructive: 0 80% 60%; + --destructive-foreground: 205 20% 95%; + --border: 205 20% 25%; + --input: 205 20% 25%; + --ring: 205 100% 55%; +} + +/* === AMBER MINIMAL THEME === */ +.theme-amber-minimal { + --background: 0 0% 100%; + --foreground: 0 0% 14.9020%; + --card: 0 0% 100%; + --card-foreground: 0 0% 14.9020%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 14.9020%; + --primary: 37.6923 92.1260% 50.1961%; + --primary-foreground: 0 0% 0%; + --secondary: 220.0000 14.2857% 95.8824%; + --secondary-foreground: 215 13.7931% 34.1176%; + --muted: 210 20.0000% 98.0392%; + --muted-foreground: 220 8.9362% 46.0784%; + --accent: 48.0000 100.0000% 96.0784%; + --accent-foreground: 22.7273 82.5000% 31.3725%; + --destructive: 0 84.2365% 60.1961%; + --destructive-foreground: 0 0% 100%; + --border: 220 13.0435% 90.9804%; + --input: 220 13.0435% 90.9804%; + --ring: 37.6923 92.1260% 50.1961%; + --chart-1: 37.6923 92.1260% 50.1961%; + --chart-2: 32.1327 94.6188% 43.7255%; + --chart-3: 25.9649 90.4762% 37.0588%; + --chart-4: 22.7273 82.5000% 31.3725%; + --chart-5: 21.7143 77.7778% 26.4706%; + --sidebar: 210 20.0000% 98.0392%; + --sidebar-foreground: 0 0% 14.9020%; + --sidebar-primary: 37.6923 92.1260% 50.1961%; + --sidebar-primary-foreground: 0 0% 100%; + --sidebar-accent: 48.0000 100.0000% 96.0784%; + --sidebar-accent-foreground: 22.7273 82.5000% 31.3725%; + --sidebar-border: 220 13.0435% 90.9804%; + --sidebar-ring: 37.6923 92.1260% 50.1961%; + --font-sans: Inter, sans-serif; + --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; + --spacing: 0.25rem; +} + +.theme-amber-minimal.dark { + --background: 0 0% 9.0196%; + --foreground: 0 0% 89.8039%; + --card: 0 0% 14.9020%; + --card-foreground: 0 0% 89.8039%; + --popover: 0 0% 14.9020%; + --popover-foreground: 0 0% 89.8039%; + --primary: 37.6923 92.1260% 50.1961%; + --primary-foreground: 0 0% 0%; + --secondary: 0 0% 14.9020%; + --secondary-foreground: 0 0% 89.8039%; + --muted: 0 0% 14.9020%; + --muted-foreground: 0 0% 63.9216%; + --accent: 22.7273 82.5000% 31.3725%; + --accent-foreground: 48 96.6387% 76.6667%; + --destructive: 0 84.2365% 60.1961%; + --destructive-foreground: 0 0% 100%; + --border: 0 0% 25.0980%; + --input: 0 0% 25.0980%; + --ring: 37.6923 92.1260% 50.1961%; + --chart-1: 43.2558 96.4126% 56.2745%; + --chart-2: 32.1327 94.6188% 43.7255%; + --chart-3: 22.7273 82.5000% 31.3725%; + --chart-4: 25.9649 90.4762% 37.0588%; + --chart-5: 22.7273 82.5000% 31.3725%; + --sidebar: 0 0% 5.8824%; + --sidebar-foreground: 0 0% 89.8039%; + --sidebar-primary: 37.6923 92.1260% 50.1961%; + --sidebar-primary-foreground: 0 0% 100%; + --sidebar-accent: 22.7273 82.5000% 31.3725%; + --sidebar-accent-foreground: 48 96.6387% 76.6667%; + --sidebar-border: 0 0% 25.0980%; + --sidebar-ring: 37.6923 92.1260% 50.1961%; + --font-sans: Inter, sans-serif; + --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); } \ No newline at end of file diff --git a/app/page.js b/app/page.js index 283759f..1e58e2c 100644 --- a/app/page.js +++ b/app/page.js @@ -6,7 +6,7 @@ import { DayNightCycle, AnimatedNumber } from "@/components/day-night-cycle"; import { AnimatedYear } from "@/components/animated-year"; import { WeeklyCalendar } from "@/components/weekly-calender"; import { TaskList } from "@/components/task-list"; -import { Timer, Plus, BarChart3, Settings } from "lucide-react"; +import { Timer, Plus, BarChart3, Settings, CheckCircle } from "lucide-react"; import { Button } from "@/components/ui/button"; import { AddTaskModal } from "@/components/add-task-modal"; import { TaskOptionsModal } from "@/components/task-options-modal"; @@ -95,7 +95,15 @@ export default function Home() { const root = document.documentElement; // Remove all theme classes - root.classList.remove("theme-nature", "theme-neo-brutal", "theme-modern"); + root.classList.remove( + "theme-nature", + "theme-neo-brutal", + "theme-modern", + "theme-pastel-dream", + "theme-quantum-rose", + "theme-twitter", + "theme-amber-minimal" + ); // Add current theme class (except for default) if (theme !== "default") { @@ -927,7 +935,8 @@ export default function Home() { {!showIntroScreen && (