diff --git a/admin-lehrer/components/ocr-kombi/StepGridBuild.tsx b/admin-lehrer/components/ocr-kombi/StepGridBuild.tsx index e7297c5..225d048 100644 --- a/admin-lehrer/components/ocr-kombi/StepGridBuild.tsx +++ b/admin-lehrer/components/ocr-kombi/StepGridBuild.tsx @@ -32,8 +32,10 @@ export function StepGridBuild({ sessionId, onNext }: StepGridBuildProps) { const res = await fetch(`${KLAUSUR_API}/api/v1/ocr-pipeline/sessions/${sessionId}/grid-editor`) if (res.ok) { const data = await res.json() - if (data.grid_shape) { - setResult({ rows: data.grid_shape.rows, cols: data.grid_shape.cols, cells: data.grid_shape.total_cells }) + // Use grid-editor summary (accurate zone-based counts) + const summary = data.summary + if (summary) { + setResult({ rows: summary.total_rows || 0, cols: summary.total_columns || 0, cells: summary.total_cells || 0 }) return } } @@ -57,8 +59,14 @@ export function StepGridBuild({ sessionId, onNext }: StepGridBuildProps) { throw new Error(data.detail || `Grid-Build fehlgeschlagen (${res.status})`) } const data = await res.json() - const shape = data.grid_shape || { rows: 0, cols: 0, total_cells: 0 } - setResult({ rows: shape.rows, cols: shape.cols, cells: shape.total_cells }) + // Use grid-editor summary (zone-based, more accurate than word_result.grid_shape) + const summary = data.summary + if (summary) { + setResult({ rows: summary.total_rows || 0, cols: summary.total_columns || 0, cells: summary.total_cells || 0 }) + } else { + const shape = data.grid_shape || { rows: 0, cols: 0, total_cells: 0 } + setResult({ rows: shape.rows, cols: shape.cols, cells: shape.total_cells }) + } } catch (e) { setError(e instanceof Error ? e.message : String(e)) } finally {