diff --git a/apps/web/app/(dashboard)/settings/_components/general-tab.tsx b/apps/web/app/(dashboard)/settings/_components/general-tab.tsx index 58eb9187..5efe4a19 100644 --- a/apps/web/app/(dashboard)/settings/_components/general-tab.tsx +++ b/apps/web/app/(dashboard)/settings/_components/general-tab.tsx @@ -1,13 +1,88 @@ "use client"; import { useTheme } from "next-themes"; -import { Sun, Moon, Monitor } from "lucide-react"; +import { cn } from "@/lib/utils"; + +const LIGHT_COLORS = { + titleBar: "#e8e8e8", + content: "#ffffff", + sidebar: "#f4f4f5", + bar: "#e4e4e7", + barMuted: "#d4d4d8", +}; + +const DARK_COLORS = { + titleBar: "#333338", + content: "#27272a", + sidebar: "#1e1e21", + bar: "#3f3f46", + barMuted: "#52525b", +}; + +function WindowMockup({ + variant, + className, +}: { + variant: "light" | "dark"; + className?: string; +}) { + const colors = variant === "light" ? LIGHT_COLORS : DARK_COLORS; + + return ( +
+ {/* Title bar */} +
+ + + +
+ {/* Content area */} +
+ {/* Sidebar */} +
+
+
+
+ {/* Main */} +
+
+
+
+
+
+
+ ); +} const themeOptions = [ - { value: "light", label: "Light", icon: Sun }, - { value: "dark", label: "Dark", icon: Moon }, - { value: "system", label: "System", icon: Monitor }, -] as const; + { value: "light" as const, label: "Light" }, + { value: "dark" as const, label: "Dark" }, + { value: "system" as const, label: "System" }, +]; export function AppearanceTab() { const { theme, setTheme } = useTheme(); @@ -16,21 +91,51 @@ export function AppearanceTab() {

Theme

-
+
{themeOptions.map((opt) => { const active = theme === opt.value; return ( ); })}