import { Moon, Sun } from 'lucide-react'; import { useTheme } from '../../../../contexts/ThemeContext'; type DarkModeToggleProps = { checked?: boolean; onToggle?: (nextValue: boolean) => void; ariaLabel?: string; }; function DarkModeToggle({ checked, onToggle, ariaLabel = 'Toggle dark mode', }: DarkModeToggleProps) { const { isDarkMode, toggleDarkMode } = useTheme(); // Support controlled usage while keeping ThemeContext as the default source of truth. const isControlled = typeof checked === 'boolean' && typeof onToggle === 'function'; const isEnabled = isControlled ? checked : isDarkMode; const handleToggle = () => { if (isControlled && onToggle) { onToggle(!isEnabled); return; } toggleDarkMode(); }; return ( ); } export default DarkModeToggle;