feat(classroom): rebuild curriculum and mastery assessment

This commit is contained in:
itsrubberduck
2026-07-27 10:26:45 +02:00
parent 00a31f564f
commit 9b2beb2d78
8 changed files with 1027 additions and 32 deletions

View File

@@ -32,11 +32,24 @@ function sanitizeProgress(input: LearnProgress | undefined): LearnProgress | und
const bestRaw = (value as any).best
const doneRaw = (value as any).done
const assessmentVersionRaw = (value as any).assessmentVersion
const successfulVariantsRaw = (value as any).successfulVariants
const best = typeof bestRaw === 'number' && Number.isFinite(bestRaw) ? Math.max(0, Math.min(100, Math.round(bestRaw))) : 0
const done = Boolean(doneRaw)
const assessmentVersion = typeof assessmentVersionRaw === 'number' && Number.isFinite(assessmentVersionRaw)
? Math.max(0, Math.round(assessmentVersionRaw))
: undefined
const successfulVariants = typeof successfulVariantsRaw === 'number' && Number.isFinite(successfulVariantsRaw)
? Math.max(0, Math.min(100, Math.round(successfulVariantsRaw)))
: undefined
lessonProgress[lessonId] = { best, done }
lessonProgress[lessonId] = {
best,
done,
...(assessmentVersion !== undefined ? { assessmentVersion } : {}),
...(successfulVariants !== undefined ? { successfulVariants } : {}),
}
}
sanitized[moduleId] = lessonProgress