import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { EntityMapping } from "../config/entityLabels"; interface EntityMappingTableProps { mappings: EntityMapping[]; } export const EntityMappingTable = ({ mappings }: EntityMappingTableProps) => { if (!mappings || mappings.length === 0) { return ( Entités détectées Aucune entité détectée dans le document. ); } // Créer un compteur pour chaque type d'entité const entityCounts: { [key: string]: number } = {}; const mappingsWithNumbers = mappings.map((mapping) => { const entityType = mapping.entity_type; entityCounts[entityType] = (entityCounts[entityType] || 0) + 1; return { ...mapping, entityNumber: entityCounts[entityType], displayName: mapping.entity_type, }; }); return ( Entités détectées ({mappings.length}) {/* Version mobile : Cards empilées */} {mappingsWithNumbers.map((mapping, index) => ( {mapping.displayName} Texte détecté {mapping.text} Identifiant {mapping.displayName} #{mapping.entityNumber} ))} {/* Version desktop : Table classique */} Type d'entité Texte détecté Identifiant {mappingsWithNumbers.map((mapping, index) => ( {mapping.displayName} {mapping.text} {mapping.displayName} #{mapping.entityNumber} ))} ); };
Aucune entité détectée dans le document.