"use client"
import * as React from "react"
import { Moon, Sun, Monitor } from "lucide-react"
import { useTheme } from "next-themes"
import { Button } from "@/components/ui/button"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"
export function ThemeToggle() {
const { setTheme, theme } = useTheme()
const [mounted, setMounted] = React.useState(false)
// Ensure we only render the correct icon after mounting to avoid hydration mismatch
React.useEffect(() => {
setMounted(true)
}, [])
if (!mounted) {
return (
)
}
return (
setTheme("light")}
className="flex items-center gap-3 nav-dropdown-item cursor-pointer group/item"
>
Light
{theme === "light" && (
✓
)}
setTheme("dark")}
className="flex items-center gap-3 nav-dropdown-item cursor-pointer group/item"
>
Dark
{theme === "dark" && (
✓
)}
setTheme("system")}
className="flex items-center gap-3 nav-dropdown-item cursor-pointer group/item"
>
System
{theme === "system" && (
✓
)}
)
}