'use client'; import * as React from 'react'; import { Moon, Sun } 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 ThemeToggleButton() { const { setTheme } = useTheme(); const [mounted, setMounted] = React.useState(false); React.useEffect(() => { setMounted(true); }, []); if (!mounted) { // Render a placeholder or null to avoid hydration mismatch, matching size of actual button return ; } return ( setTheme('light')}> Light setTheme('dark')}> Dark setTheme('system')}> System ); }