Chat component no longer depends on next-themes, making it safe to use in the desktop app. Theme toggle is now a fixed button in the web layout. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
24 lines
776 B
TypeScript
24 lines
776 B
TypeScript
"use client";
|
|
|
|
import { useTheme } from "next-themes";
|
|
import { Button } from "@multica/ui/components/ui/button";
|
|
import { HugeiconsIcon } from "@hugeicons/react";
|
|
import { Sun01Icon, Moon01Icon } from "@hugeicons/core-free-icons";
|
|
|
|
export function ThemeToggle() {
|
|
const { theme, setTheme } = useTheme();
|
|
|
|
return (
|
|
<div className="fixed top-2 right-2 z-50">
|
|
<Button
|
|
variant="ghost"
|
|
size="icon"
|
|
onClick={() => setTheme(theme === "dark" ? "light" : "dark")}
|
|
className="size-8 text-muted-foreground"
|
|
>
|
|
<HugeiconsIcon icon={Sun01Icon} strokeWidth={1.5} className="size-4 dark:hidden" />
|
|
<HugeiconsIcon icon={Moon01Icon} strokeWidth={1.5} className="size-4 hidden dark:block" />
|
|
</Button>
|
|
</div>
|
|
);
|
|
}
|