diff --git a/apps/web/src/app/settings/page.tsx b/apps/web/src/app/settings/page.tsx new file mode 100644 index 0000000..871aeaa --- /dev/null +++ b/apps/web/src/app/settings/page.tsx @@ -0,0 +1,51 @@ +import { getSeededOperator } from "@/lib/operator"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { Separator } from "@/components/ui/separator"; +import { ThemeToggle } from "@/components/theme-toggle"; + +export default async function SettingsPage() { + const op = await getSeededOperator(); + return ( +
+

Settings

+ + + + Operator + + + + + + + + + + + + + + + Appearance + + +
Theme
+ +
+
+ +

+ cm WhatsApp Bot ยท self-hosted +

+
+ ); +} + +function Row({ label, value, mono }: { label: string; value: string; mono?: boolean }) { + return ( +
+
{label}
+
{value}
+
+ ); +} diff --git a/apps/web/src/components/theme-toggle.tsx b/apps/web/src/components/theme-toggle.tsx new file mode 100644 index 0000000..b7b0927 --- /dev/null +++ b/apps/web/src/components/theme-toggle.tsx @@ -0,0 +1,42 @@ +"use client"; + +import { useTheme } from "next-themes"; +import { Moon, Sun, Monitor } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; + +export function ThemeToggle() { + const { setTheme, theme } = useTheme(); + return ( + + + + + + setTheme("light")}> + Light + + setTheme("dark")}> + Dark + + setTheme("system")}> + System + + + + ); +}