diff --git a/admin-lehrer/app/(admin)/ai/ocr-overlay/page.tsx b/admin-lehrer/app/(admin)/ai/ocr-overlay/page.tsx index f89c0ba..3f149da 100644 --- a/admin-lehrer/app/(admin)/ai/ocr-overlay/page.tsx +++ b/admin-lehrer/app/(admin)/ai/ocr-overlay/page.tsx @@ -7,6 +7,7 @@ import { StepOrientation } from '@/components/ocr-pipeline/StepOrientation' import { StepDeskew } from '@/components/ocr-pipeline/StepDeskew' import { StepDewarp } from '@/components/ocr-pipeline/StepDewarp' import { StepCrop } from '@/components/ocr-pipeline/StepCrop' +import { StepStructureDetection } from '@/components/ocr-pipeline/StepStructureDetection' import { StepRowDetection } from '@/components/ocr-pipeline/StepRowDetection' import { StepWordRecognition } from '@/components/ocr-pipeline/StepWordRecognition' import { OverlayReconstruction } from '@/components/ocr-overlay/OverlayReconstruction' @@ -74,9 +75,13 @@ export default function OcrOverlayPage() { const baseSteps = isKombi ? KOMBI_STEPS : PADDLE_DIRECT_STEPS setMode(m) - // For Kombi: if grid_editor_result exists, jump to grid editor step (5) + // For Kombi: if grid_editor_result exists, jump to grid editor step (6) + // If word_result exists but no grid, jump to grid editor (6) + // If structure_result exists, jump to kombi step (5) const hasGrid = isKombi && data.grid_editor_result - const activeStep = hasGrid ? 5 : 4 + const hasWords = isKombi && data.word_result + const hasStructure = isKombi && data.structure_result + const activeStep = hasGrid ? 6 : hasWords ? 6 : hasStructure ? 5 : 4 setSteps( baseSteps.map((s, i) => ({ ...s, @@ -246,6 +251,11 @@ export default function OcrOverlayPage() { case 3: return case 4: + if (mode === 'kombi') { + return + } + return + case 5: return mode === 'kombi' ? ( - ) : ( - - ) - case 5: + ) : null + case 6: return mode === 'kombi' ? ( ) : null @@ -521,7 +529,7 @@ export default function OcrOverlayPage() { : 'text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300' }`} > - Kombi (6 Schritte) + Kombi (7 Schritte) diff --git a/admin-lehrer/app/(admin)/ai/ocr-overlay/types.ts b/admin-lehrer/app/(admin)/ai/ocr-overlay/types.ts index ee01e10..f635924 100644 --- a/admin-lehrer/app/(admin)/ai/ocr-overlay/types.ts +++ b/admin-lehrer/app/(admin)/ai/ocr-overlay/types.ts @@ -69,6 +69,7 @@ export const KOMBI_STEPS: PipelineStep[] = [ { id: 'deskew', name: 'Begradigung', icon: '📐', status: 'pending' }, { id: 'dewarp', name: 'Entzerrung', icon: '🔧', status: 'pending' }, { id: 'crop', name: 'Zuschneiden', icon: '✂️', status: 'pending' }, + { id: 'structure', name: 'Struktur', icon: '🔍', status: 'pending' }, { id: 'kombi', name: 'PP-OCRv5 + Tesseract', icon: '🔀', status: 'pending' }, { id: 'grid-editor', name: 'Tabelle', icon: '📊', status: 'pending' }, ]