import React, { useState, useRef } from 'react'; import { CloudUpload } from 'lucide-react'; import logger from '@/utils/logger'; export default function FileUpload({ selectionMessage, onFileSelect, uploadedFileName, existingFile, required, errorMsg, enable = true, // Nouvelle prop pour activer/désactiver le champ }) { const [localFileName, setLocalFileName] = useState(uploadedFileName || ''); const fileInputRef = useRef(null); const handleFileChange = (e) => { const file = e.target.files[0]; if (file) { setLocalFileName(file.name); logger.debug('Fichier sélectionné:', file.name); onFileSelect(file); } }; const handleFileDrop = (e) => { e.preventDefault(); if (!enable) return; // Empêcher le dépôt si désactivé const file = e.dataTransfer.files[0]; if (file) { setLocalFileName(file.name); logger.debug('Fichier déposé:', file.name); onFileSelect(file); } }; return (
{typeof existingFile === 'string' ? existingFile.split('/').pop() // Si c'est une chaîne, utilisez split : existingFile?.name || 'Nom de fichier inconnu'}{' '}
{localFileName}
{errorMsg}
}