'use client'; import React, { useRef, useState } from 'react'; export interface FileUploadProps { label?: string; hint?: string; multiple?: boolean; onFilesSelected?: (files: FileList) => void; } export const FileUpload: React.FC = ({ label = 'اسحب الملفات هنا أو اضغط للاختيار', hint = 'يدعم مختلف الصيغ الشائعة حتى 25 ميجابايت', multiple = true, onFilesSelected }) => { const [isDragOver, setIsDragOver] = useState(false); const inputRef = useRef(null); const handleClick = () => { inputRef.current?.click(); }; const handleChange = (e: React.ChangeEvent) => { if (e.target.files && onFilesSelected) { onFilesSelected(e.target.files); } }; return (
{ e.preventDefault(); setIsDragOver(true); }} onDragLeave={() => setIsDragOver(false)} onDrop={(e) => { e.preventDefault(); setIsDragOver(false); if (e.dataTransfer.files && onFilesSelected) { onFilesSelected(e.dataTransfer.files); } }} >
{label}
{hint}
); };