import { useCallback, useState } from 'react'; export function useDragDrop(onDrop: (dataTransfer: DataTransfer) => void) { const [isDragging, setIsDragging] = useState(false); const handleDragOver = useCallback((e: React.DragEvent) => { e.preventDefault(); e.stopPropagation(); setIsDragging(true); }, []); const handleDragLeave = useCallback((e: React.DragEvent) => { e.preventDefault(); e.stopPropagation(); setIsDragging(false); }, []); const handleDrop = useCallback( (e: React.DragEvent) => { e.preventDefault(); e.stopPropagation(); setIsDragging(false); onDrop(e.dataTransfer); }, [onDrop] ); return { isDragging, handleDragOver, handleDragLeave, handleDrop, }; }