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 (
);
})}