import React, { useState, useRef, useEffect } from 'react'; import { useTheme } from './ThemeProvider'; import { THEME_MODES } from './themeModes'; export function ModeToggle() { const { theme, setTheme } = useTheme(); const [isOpen, setIsOpen] = useState(false); const dropdownRef = useRef(null); useEffect(() => { const handleClickOutside = (event: PointerEvent) => { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setIsOpen(false); } }; document.addEventListener('pointerdown', handleClickOutside); return () => document.removeEventListener('pointerdown', handleClickOutside); }, []); return (
{isOpen && (
{THEME_MODES.map(({ id, label }) => ( ))}
)}
); }