From 2f858edd5b4101aecc24e3530aa477fd33cf0039 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 27 May 2026 18:22:58 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20erweitere=20Bisaya-Kursdidaktik=20um=20?= =?UTF-8?q?Unterst=C3=BCtzung=20f=C3=BCr=20Phase=205=20und=20f=C3=BCge=20n?= =?UTF-8?q?eue=20=C3=9Cbungen=20f=C3=BCr=20Lektionen=2044=20und=2045=20hin?= =?UTF-8?q?zu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/scripts/create-bisaya-course-content.js | 13 ++++++++++++- backend/scripts/update-bisaya-didactics.js | 4 +++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/backend/scripts/create-bisaya-course-content.js b/backend/scripts/create-bisaya-course-content.js index 5065f58..33f374f 100644 --- a/backend/scripts/create-bisaya-course-content.js +++ b/backend/scripts/create-bisaya-course-content.js @@ -6061,6 +6061,12 @@ function getExercisesForLesson(lesson) { return BISAYA_EXERCISES['Gefühlswortschatz & Reaktionen']; } } + if ([44, 45].includes(Number(lesson.lessonNumber))) { + return [ + ...(BISAYA_EXERCISES['Zahlen 1–20'] || []), + ...(BISAYA_EXERCISES['Zahlen: Zehner'] || []).slice(1, 3) + ]; + } const plannedTitle = BISAYA_LESSONS_24_43_BY_NUMBER[Number(lesson.lessonNumber)]?.title; if (plannedTitle && BISAYA_EXERCISES[plannedTitle]) { return BISAYA_EXERCISES[plannedTitle]; @@ -6130,6 +6136,7 @@ async function createBisayaCourseContent() { for (const lesson of lessons) { const plannedLesson = BISAYA_LESSONS_24_43_BY_NUMBER[Number(lesson.lessonNumber)]; + const repairsReassignedNumbersLesson = [44, 45].includes(Number(lesson.lessonNumber)); if (plannedLesson) { await lesson.update({ title: plannedLesson.title, @@ -6176,7 +6183,11 @@ async function createBisayaCourseContent() { if ( existingCount > 0 && !forceRebuildAll - && (replacePlaceholders || SAFE_EXERCISE_UPDATE_TITLES.has(lesson.title)) + && ( + replacePlaceholders + || repairsReassignedNumbersLesson + || SAFE_EXERCISE_UPDATE_TITLES.has(lesson.title) + ) ) { const lessonDidactics = getLessonDidactics(lesson); const mergedGrammarFocus = mergeGrammarFocusForLesson( diff --git a/backend/scripts/update-bisaya-didactics.js b/backend/scripts/update-bisaya-didactics.js index 4d95b17..2b8e95b 100644 --- a/backend/scripts/update-bisaya-didactics.js +++ b/backend/scripts/update-bisaya-didactics.js @@ -18,6 +18,7 @@ import { } from './bisaya-course-plan-24-43.js'; import { BISAYA_PHASE3_DIDACTICS } from './bisaya-course-phase3-extension.js'; import { BISAYA_PHASE4_DIDACTICS } from './bisaya-course-phase4-extension.js'; +import { BISAYA_PHASE5_DIDACTICS } from './bisaya-course-phase5-extension.js'; /** Alte Kurstitel → aktueller Schlüssel in LESSON_DIDACTICS (bestehende Datenbanken). */ export const LEGACY_DIDACTICS_TITLE_MAP = { @@ -499,7 +500,8 @@ export const LESSON_DIDACTICS = { ...BISAYA_RELATIONSHIP_ANCHOR_DIDACTICS, ...BISAYA_DIDACTICS_24_43, ...BISAYA_PHASE3_DIDACTICS, - ...BISAYA_PHASE4_DIDACTICS + ...BISAYA_PHASE4_DIDACTICS, + ...BISAYA_PHASE5_DIDACTICS }; function resolveDidacticsForLesson(lesson) {