From 296fb21b5f3e634a1f4272faf1adeda4ebd7719e Mon Sep 17 00:00:00 2001 From: smaubio <118258478+smaubio@users.noreply.github.com> Date: Fri, 3 Apr 2026 16:03:24 +0200 Subject: [PATCH] Improve onboarding, annotation, and calibration UI --- src/app/actions/calibration-scoring.ts | 2 +- src/app/page.tsx | 2 +- .../AnnotationViews/AnnotationPageView.tsx | 13 +- .../AnnotationSidebarNavigation.tsx | 6 +- .../SingleChoiceBinaryEntryView.tsx | 16 +- .../AnnotationViews/SingleChoiceEntryView.tsx | 6 +- src/components/CalibrationScoresDisplay.tsx | 7 +- src/components/CalibrationScoresModal.tsx | 2 +- .../CalibrationViews/CalibrationEntryView.tsx | 13 +- .../CalibrationViews/CalibrationInfoView.tsx | 30 ++- .../CalibrationViews/CalibrationPageView.tsx | 17 +- .../OnboardingViews/OnboardingFormView.tsx | 187 ++++++++++-------- .../OnboardingViews/OnboardingInfoView.tsx | 41 ++-- .../OnboardingViews/OnboardingPhase.tsx | 2 +- 14 files changed, 185 insertions(+), 159 deletions(-) diff --git a/src/app/actions/calibration-scoring.ts b/src/app/actions/calibration-scoring.ts index 4935706..10bbb10 100644 --- a/src/app/actions/calibration-scoring.ts +++ b/src/app/actions/calibration-scoring.ts @@ -54,7 +54,7 @@ export async function getDialectScoresFromCalibration( if (!answer) continue; const isCorrect = answer.dialectLabel === item.dialectLabel ? 1 : -1; - const confidence = answer.confidence / 5; // Normalize to 0-1 + const confidence = answer.confidence / 4; // Normalize to 0-1 // Score = correctness * confidence // Correct answers: +confidence (0 to 1) diff --git a/src/app/page.tsx b/src/app/page.tsx index a2c1509..b50ecb2 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -47,7 +47,7 @@ export default async function HomePage() { return (
Wählen Sie ein Experiment aus, um mit der Annotation zu beginnen oder fortzufahren.
diff --git a/src/components/AnnotationViews/AnnotationPageView.tsx b/src/components/AnnotationViews/AnnotationPageView.tsx index 80d458e..a80a369 100644 --- a/src/components/AnnotationViews/AnnotationPageView.tsx +++ b/src/components/AnnotationViews/AnnotationPageView.tsx @@ -12,6 +12,7 @@ import CalibrationScoresModal from '@/components/CalibrationScoresModal'; export interface EntryViewProps { entry: DatasetEntryForAnnotation; + index: number; onSave: (rating: number) => Promise- {annotatedCount}/{entries.length} annotiert ({progressPct}%) + {annotatedCount}/{entries.length} bewertet ({progressPct}%)
- Bitte das Sample vollständig anhören, bevor Sie eine Bewertung abgeben. +
+ Bitte die Aufnahme vollständig anhören, bevor du eine Bewertung abgibst.
)} {/* Dialect + question */}+ Vertrau deinem ersten Eindruck – klingt die Aufnahme authentisch nach diesem Dialekt? Es gibt keine richtige oder falsche Antwort. +
- Bitte das Sample vollständig anhören, bevor Sie eine Bewertung abgeben. + Bitte die Aufnahme vollständig anhören, bevor du eine Bewertung abgibst.
)} diff --git a/src/components/CalibrationScoresDisplay.tsx b/src/components/CalibrationScoresDisplay.tsx index 43cb1f1..7141053 100644 --- a/src/components/CalibrationScoresDisplay.tsx +++ b/src/components/CalibrationScoresDisplay.tsx @@ -26,9 +26,7 @@ export default function CalibrationScoresDisplay({- Die Scores basieren auf der Genauigkeit und dem Vertrauen in Ihre Kalibrierergebnisse. - Dialekte mit höheren Scores werden zuerst in der Annotation angezeigt. + Die Ergebnisse basieren auf deiner Erkennungsgenauigkeit und Sicherheit. Dialekte die du gut erkennst, werden bei der Bewertungsphase häufiger angezeigt.