'use client' import type { LlmChange, RowStatus } from './llm-review-types' /** Cell content with inline diff for corrections */ export function CellContent({ text, field, rowChanges }: { text: string field: string rowChanges?: LlmChange[] }) { const change = rowChanges?.find(c => c.field === field) if (!text && !change) { return } if (change) { return ( {change.old} {change.new} ) } return {text} } /** Status icon for each row */ export function StatusIcon({ status }: { status: RowStatus }) { switch (status) { case 'pending': return case 'active': return ( ) case 'reviewed': return ( ) case 'corrected': return ( korr. ) case 'skipped': return ( skip ) } } /** Loading spinner screen */ export function LoadingScreen() { return (
Session-Daten werden geladen...
) } /** Error screen with retry */ export function ErrorScreen({ error, onRetry, onSkip }: { error: string onRetry: () => void onSkip: () => void }) { return (
⚠️

Fehler bei OCR-Zeichenkorrektur

{error}

) } /** Applied screen shown after corrections are applied */ export function AppliedScreen({ acceptedCount, totalChanges, onNext }: { acceptedCount: number totalChanges: number onNext: () => void }) { return (

Korrekturen uebernommen

{acceptedCount} von {totalChanges} Korrekturen wurden angewendet.

) } /** No session placeholder */ export function NoSessionScreen() { return
Bitte zuerst eine Session auswaehlen.
}