'use client' /** * GroundTruthSummary — Summary view shown after all entries have been reviewed. * * Displays confirmed/edited/skipped counts, a save button, and a * clickable table of all entries for quick navigation back to any row. */ import type { GTEntry } from './ground-truth-types' interface GroundTruthSummaryProps { entries: GTEntry[] confirmedCount: number editedCount: number skippedCount: number saving: boolean savedMessage: string | null error: string | null isFullscreen: boolean onSave: () => void onRestart: () => void onToggleFullscreen: () => void onGoTo: (index: number) => void } export function GroundTruthSummary({ entries, confirmedCount, editedCount, skippedCount, saving, savedMessage, error, isFullscreen, onSave, onRestart, onToggleFullscreen, onGoTo, }: GroundTruthSummaryProps) { return (

Zusammenfassung

{confirmedCount}
Bestaetigt
{editedCount}
Editiert
{skippedCount}
Uebersprungen
{savedMessage && (
{savedMessage}
)} {error && (
{error}
)} {/* Entry list for quick review */}
{entries.map((e, i) => ( onGoTo(i)} className="border-b border-slate-100 hover:bg-slate-50 cursor-pointer" > ))}
# English Deutsch Status
{i + 1} {e.english} {e.german} {e.status === 'confirmed' ? 'OK' : e.status === 'edited' ? 'Editiert' : e.status === 'skipped' ? 'Skip' : 'Offen'}
) }