Files
TasGrid/src/components/ThemeToggle.tsx
T

22 lines
796 B
TypeScript

import { type Component } from "solid-js";
import { useTheme } from "./ThemeProvider";
import { Button } from "@/components/ui/button";
import { Moon, Sun } from "lucide-solid";
export const ThemeToggle: Component = () => {
const { theme, setTheme } = useTheme();
return (
<Button
variant="ghost"
size="icon"
onClick={() => setTheme(theme() === "dark" ? "light" : "dark")}
class="w-9 h-9 px-0 relative"
>
<Sun class="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
<Moon class="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
<span class="sr-only">Toggle theme</span>
</Button>
);
};