diff --git a/backend/scripts/create-bisaya-course-content.js b/backend/scripts/create-bisaya-course-content.js index df65f43..cd6569a 100755 --- a/backend/scripts/create-bisaya-course-content.js +++ b/backend/scripts/create-bisaya-course-content.js @@ -519,6 +519,14 @@ function getChoiceQuestion(lesson, didactics) { } } +function getConcreteChoiceQuestion(lesson, didactics, pattern) { + const normalizedPattern = normalizeText(pattern).toLocaleLowerCase('de'); + if (normalizedPattern === 'mas maayo na ka?') { + return 'Eine Person war krank. Du möchtest fragen, ob es ihr inzwischen besser geht. Welche Formulierung passt?'; + } + return getChoiceQuestion(lesson, didactics); +} + function pickDistractors(pattern, allPatterns, count) { return allPatterns .filter((entry) => entry !== pattern) @@ -539,7 +547,7 @@ function buildChoiceExercise(lesson, didactics, pattern, allPatterns, variant = // used as the question for a single-answer multiple-choice exercise. const question = normalizedPattern?.gloss ? `Wie sagt man auf Bisaya: „${normalizedPattern.gloss}“?` - : getChoiceQuestion(lesson, didactics); + : getConcreteChoiceQuestion(lesson, didactics, pattern); return { exerciseTypeId: 2, diff --git a/frontend/src/views/social/VocabCourseView.vue b/frontend/src/views/social/VocabCourseView.vue index 4f9463c..69f70d5 100755 --- a/frontend/src/views/social/VocabCourseView.vue +++ b/frontend/src/views/social/VocabCourseView.vue @@ -445,9 +445,9 @@ export default { return Array.isArray(this.srsDueItems) ? this.srsDueItems.length : 0; }, srsDailyCount() { - if (Number.isFinite(Number(this.srsTodayRemaining))) { - return Math.max(0, Number(this.srsTodayRemaining)); - } + // Der Server ist die maßgebliche Quelle für fällige Begriffe. Ein alter + // localStorage-Sitzungsstand darf eine neue oder erneut fällige + // Tageswiederholung nicht unsichtbar machen. return Math.min(this.srsDueCount, this.srsDailyLimit); }, hardVocabCount() {