xnl-admin/app/components/mode-toggle.tsx

25 lines
768 B
TypeScript

import { Moon, Sun } from 'lucide-react';
import { Theme, useTheme } from 'remix-themes';
import { Button } from './ui/button';
export function ModeToggle() {
const [theme, setTheme] = useTheme();
const toggleTheme = () => {
setTheme(theme === Theme.DARK ? Theme.LIGHT : Theme.DARK);
};
return (
<Button
variant="ghost"
size="icon"
onClick={toggleTheme}
>
<Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-color dark:-rotate-90 dark:scale-0" />
<Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-color dark:rotate-0 dark:scale-100" />
<span className="sr-only">Toggle theme</span>
</Button>
);
}