Spaces:
Paused
Paused
| import { Button } from "@/components/ui/button"; | |
| import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; | |
| import { Laptop, Moon, Sun } from "lucide-react"; | |
| import { useTheme } from "next-themes"; | |
| export function ThemeToggle() { | |
| const { setTheme } = useTheme(); | |
| return ( | |
| <DropdownMenu> | |
| <DropdownMenuTrigger asChild> | |
| <Button variant="ghost" size="icon"> | |
| <Sun className="h-[1.2rem] w-[1.2rem] rotate-0 transition-all dark:-rotate-90 dark:hidden" /> | |
| <Moon className="absolute h-[1.2rem] w-[1.2rem] hidden rotate-90 transition-all dark:rotate-0 dark:block" /> | |
| <span className="sr-only">Toggle theme</span> | |
| </Button> | |
| </DropdownMenuTrigger> | |
| <DropdownMenuContent align="end"> | |
| <DropdownMenuItem onClick={() => setTheme("light")}> | |
| <Sun className="mr-2 h-4 w-4" /> | |
| <span>Light</span> | |
| </DropdownMenuItem> | |
| <DropdownMenuItem onClick={() => setTheme("dark")}> | |
| <Moon className="mr-2 h-4 w-4" /> | |
| <span>Dark</span> | |
| </DropdownMenuItem> | |
| <DropdownMenuItem onClick={() => setTheme("system")}> | |
| <Laptop className="mr-2 h-4 w-4" /> | |
| <span>System</span> | |
| </DropdownMenuItem> | |
| </DropdownMenuContent> | |
| </DropdownMenu> | |
| ); | |
| } | |