import React, { useState, useRef } from 'react'; import { CloudUpload } from 'lucide-react'; import logger from '@/utils/logger'; import { BASE_URL } from '@/utils/Url'; export default function FileUpload({ selectionMessage, onFileSelect, uploadedFileName, existingFile, required, errorMsg, }) { const [localFileName, setLocalFileName] = useState(uploadedFileName || ''); const fileInputRef = useRef(null); // Utilisation de useRef pour cibler l'input const handleFileChange = (e) => { const file = e.target.files[0]; if (file) { setLocalFileName(file.name); logger.debug('Fichier sélectionné:', file.name); onFileSelect(file); // Appelle la fonction passée en prop } }; const handleFileDrop = (e) => { e.preventDefault(); const file = e.dataTransfer.files[0]; if (file) { setLocalFileName(file.name); logger.debug('Fichier déposé:', file.name); onFileSelect(file); // Appelle la fonction passée en prop } }; return (
{typeof existingFile === 'string' ? ( {existingFile.split('/').pop()} ) : ( existingFile?.name || 'Fichier inconnu' )}
{localFileName}
{errorMsg}
}