Spaces:
Running
Running
import { Moon, Sun } from "lucide-react"; | |
import { useTheme } from "@/hooks/useTheme"; | |
import { Button } from "./ui/button"; | |
import { | |
Tooltip, | |
TooltipContent, | |
TooltipProvider, | |
TooltipTrigger, | |
} from "./ui/tooltip"; | |
export function ModeToggle() { | |
const { theme, setTheme } = useTheme(); | |
return ( | |
<TooltipProvider> | |
<Tooltip> | |
<TooltipTrigger asChild> | |
<Button | |
variant="outline" | |
size="icon" | |
onClick={() => setTheme(theme === "light" ? "dark" : "light")} | |
className={`p-2.5 rounded-full shadow-md transition-all duration-300 ${ | |
theme === "dark" | |
? "bg-gray-700 hover:bg-gray-600 border-none" | |
: "bg-white/80 hover:bg-white border-none" | |
}`} | |
> | |
{theme === "light" ? ( | |
<Sun className="h-5 w-5 text-orange-500" /> | |
) : ( | |
<Moon className="h-5 w-5 text-blue-400" /> | |
)} | |
<span className="sr-only">Toggle theme</span> | |
</Button> | |
</TooltipTrigger> | |
<TooltipContent side="bottom"> | |
<p className="font-mono text-xs">Toggle theme</p> | |
</TooltipContent> | |
</Tooltip> | |
</TooltipProvider> | |
); | |
} | |