import React from 'react'; const DocumentList = ({ documents, selectedDocument, onDocumentSelected, onDocumentDeleted, onRefresh }) => { const handleDelete = async (documentId, event) => { event.stopPropagation(); if (!window.confirm('Êtes-vous sûr de vouloir supprimer ce document ?')) { return; } try { const response = await fetch(`/api/documents/${documentId}`, { method: 'DELETE', }); if (response.ok) { onDocumentDeleted(documentId); } else { console.error('Erreur suppression'); } } catch (error) { console.error('Erreur suppression:', error); } }; const getStatusClass = (status) => { switch (status) { case 'ready': return 'status-ready'; case 'uploaded': return 'status-uploaded'; case 'error': return 'status-error'; default: return 'status-uploaded'; } }; const getStatusLabel = (status) => { switch (status) { case 'ready': return 'Prêt'; case 'uploaded': return 'Uploadé'; case 'error': return 'Erreur'; default: return 'En cours'; } }; const formatFileSize = (bytes) => { if (bytes === 0) return '0 B'; const k = 1024; const sizes = ['B', 'KB', 'MB', 'GB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; }; // Vérification de sécurité pour documents const safeDocuments = Array.isArray(documents) ? documents : []; return (