import { Alert, Box, Button, Card, Chip, Stack, Table, TableCell, TableHead, TableRow, Typography, } from '@mui/material' import { useNavigate } from 'react-router' import { useCompareStore } from '../../stores/compareStore' import { CompareEmptyState, CompareColumnHeader, AICompareSummary, CompareCriteriaCard, CompareTableBody, } from '../../components/compare' import { AddToPipelineDialog } from '../../components/shortlist' import { LABEL_SX, DATA_SX, } from '../../components/compare/compareUtils' import { useCompareData } from '../../hooks/useCompareData' // ── Main component ──────────────────────────────────────────────────────────── export default function Compare() { const navigate = useNavigate() const { compareItems, removeFromCompare, clearCompare } = useCompareStore() const { aiSummary, aiLoading, activeNeed, relevantCriteria, overallWinnerIdx, bestScoreIdx, worstConfIdx, worstDQIdx, missingCriticalCounts, maxMissingCritical, } = useCompareData(compareItems) if (compareItems.length === 0) { return ( Vergleich ) } return ( {/* Page header */} Vergleich {/* Mobile notice */} Die Vergleichsansicht ist für Desktop optimiert. Für beste Erfahrung auf einem grösseren Bildschirm öffnen. {/* Desktop table */} {/* AI Summary */} = 2} /> {/* Criteria Head-to-Head */} {activeNeed && relevantCriteria.length > 0 && ( )} {/* Column headers */} Kriterium {compareItems.map(item => ( removeFromCompare(item.matchId)} /> ))}
{/* Add more prompt */} {compareItems.length < 4 && ( Weiteres Ergebnis hinzufügen Bis zu {4 - compareItems.length} weitere{4 - compareItems.length === 1 ? 's' : ''} Ergebnis{4 - compareItems.length === 1 ? '' : 'se'} möglich )}
) }