refactor(bisaya-course): enhance pedagogy logic for German lessons
All checks were successful
Deploy to production / deploy (push) Successful in 2m57s
All checks were successful
Deploy to production / deploy (push) Successful in 2m57s
- Updated the `getGermanForBisayaLessonPedagogy` function to include lesson titles for improved didactic mode determination, specifically adding support for 'contrast_training'. - Modified multiple scripts to utilize the updated pedagogy function, ensuring consistent application of the new logic across various course phases. - Enhanced the VocabService to recognize and handle 'contrast_training' as a didactic mode, improving lesson management and user experience. - Updated UI components to reflect the new didactic mode, ensuring clarity in lesson presentation.
This commit is contained in:
@@ -620,11 +620,32 @@ export default class VocabService {
|
||||
}
|
||||
|
||||
_inferLessonDidacticMode(plainLesson) {
|
||||
if (plainLesson.didacticMode) {
|
||||
return plainLesson.didacticMode;
|
||||
}
|
||||
const lessonType = String(plainLesson.lessonType || '').toLowerCase();
|
||||
const title = String(plainLesson.title || '').toLowerCase();
|
||||
const storedMode = String(plainLesson.didacticMode || '').trim();
|
||||
|
||||
const isContrastTraining = lessonType === 'grammar' && [
|
||||
'kontrast',
|
||||
'fehlertraining',
|
||||
' / ',
|
||||
'nicht / kein',
|
||||
'der / die / das',
|
||||
'wo / wohin',
|
||||
'du / sie',
|
||||
'haben / sein',
|
||||
'ich bin / ich habe',
|
||||
'ich bin / ich heiße / ich komme'
|
||||
].some((marker) => title.includes(marker));
|
||||
|
||||
if (storedMode && storedMode !== 'pattern_drill') {
|
||||
return storedMode;
|
||||
}
|
||||
if (isContrastTraining) {
|
||||
return 'contrast_training';
|
||||
}
|
||||
if (storedMode) {
|
||||
return storedMode;
|
||||
}
|
||||
if (title.includes('abschluss') || title.includes('prüfung') || title.includes('test')) {
|
||||
return 'checkpoint';
|
||||
}
|
||||
@@ -648,6 +669,7 @@ export default class VocabService {
|
||||
return plainLesson.difficultyWeight;
|
||||
}
|
||||
switch (didacticMode) {
|
||||
case 'contrast_training':
|
||||
case 'pattern_drill':
|
||||
return 3;
|
||||
case 'guided_dialogue':
|
||||
@@ -666,6 +688,8 @@ export default class VocabService {
|
||||
return plainLesson.newUnitTarget;
|
||||
}
|
||||
switch (didacticMode) {
|
||||
case 'contrast_training':
|
||||
return 3;
|
||||
case 'core_input':
|
||||
return 8;
|
||||
case 'guided_dialogue':
|
||||
@@ -692,6 +716,8 @@ export default class VocabService {
|
||||
return 90;
|
||||
case 'checkpoint':
|
||||
return 70;
|
||||
case 'contrast_training':
|
||||
return 70;
|
||||
case 'pattern_drill':
|
||||
return 55;
|
||||
case 'real_life_scenario':
|
||||
|
||||
Reference in New Issue
Block a user