'use client' import { useState, useCallback } from 'react' export function UploadZone({ onFilesAdded, isDisabled, }: { onFilesAdded: (files: File[]) => void isDisabled: boolean }) { const [isDragging, setIsDragging] = useState(false) const handleDragOver = useCallback((e: React.DragEvent) => { e.preventDefault() if (!isDisabled) setIsDragging(true) }, [isDisabled]) const handleDragLeave = useCallback((e: React.DragEvent) => { e.preventDefault() setIsDragging(false) }, []) const handleDrop = useCallback( (e: React.DragEvent) => { e.preventDefault() setIsDragging(false) if (isDisabled) return const files = Array.from(e.dataTransfer.files).filter( f => f.type === 'application/pdf' || f.type.startsWith('image/') ) if (files.length > 0) onFilesAdded(files) }, [onFilesAdded, isDisabled] ) const handleFileSelect = useCallback( (e: React.ChangeEvent) => { if (e.target.files && !isDisabled) { onFilesAdded(Array.from(e.target.files)) } }, [onFilesAdded, isDisabled] ) return (

{isDragging ? 'Dateien hier ablegen' : 'Dokumente hochladen'}

Ziehen Sie PDF-Dateien hierher oder klicken Sie zum Auswaehlen

Unterstuetzte Formate: PDF JPG PNG
) }