feat(admin): add OCR training card to admin/system page
- TrainingHistory.svelte: responsive table with status badges (green/red/animated pulse), keyed iteration, empty-state row - OcrTrainingCard.svelte: shows available blocks/docs, disabled states (< 5 blocks, service down), in-flight "…" state, 5s success message, embeds TrainingHistory - Wired into admin/system/+page.svelte via fetchTrainingInfo() in $effect - Regenerated api.ts with OcrTrainingRun + TrainingInfoResponse types - TRAINING_ALREADY_RUNNING error code in errors.ts + de/en/es translations - 7 OcrTrainingCard Vitest tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -505,6 +505,7 @@
|
||||
"error_ocr_job_not_found": "Der OCR-Auftrag wurde nicht gefunden.",
|
||||
"error_ocr_document_not_uploaded": "Das Dokument hat keine Datei — OCR ist nicht möglich.",
|
||||
"error_ocr_processing_failed": "Die OCR-Verarbeitung ist fehlgeschlagen.",
|
||||
"error_training_already_running": "Es läuft bereits ein Trainings-Vorgang.",
|
||||
"ocr_script_type_typewriter": "Schreibmaschine",
|
||||
"ocr_script_type_handwriting_latin": "Handschrift (lateinisch)",
|
||||
"ocr_script_type_handwriting_kurrent": "Handschrift (Kurrent/Sütterlin)",
|
||||
|
||||
@@ -505,6 +505,7 @@
|
||||
"error_ocr_job_not_found": "The OCR job was not found.",
|
||||
"error_ocr_document_not_uploaded": "The document has no file — OCR is not possible.",
|
||||
"error_ocr_processing_failed": "OCR processing failed.",
|
||||
"error_training_already_running": "A training run is already in progress.",
|
||||
"ocr_script_type_typewriter": "Typewriter",
|
||||
"ocr_script_type_handwriting_latin": "Handwriting (Latin)",
|
||||
"ocr_script_type_handwriting_kurrent": "Handwriting (Kurrent/Sütterlin)",
|
||||
|
||||
@@ -505,6 +505,7 @@
|
||||
"error_ocr_job_not_found": "No se encontró el trabajo OCR.",
|
||||
"error_ocr_document_not_uploaded": "El documento no tiene archivo — OCR no es posible.",
|
||||
"error_ocr_processing_failed": "El procesamiento OCR ha fallado.",
|
||||
"error_training_already_running": "Ya hay un proceso de entrenamiento en curso.",
|
||||
"ocr_script_type_typewriter": "Máquina de escribir",
|
||||
"ocr_script_type_handwriting_latin": "Escritura manuscrita (latina)",
|
||||
"ocr_script_type_handwriting_kurrent": "Escritura manuscrita (Kurrent/Sütterlin)",
|
||||
|
||||
Reference in New Issue
Block a user