fix(curriculum): robustly normalize student grade across app and backend to display subjects

This commit is contained in:
Hamza-Ayed
2026-09-09 01:28:31 +03:00
parent a8e895d5da
commit a4d6e34a40
4 changed files with 55 additions and 24 deletions
@@ -61,16 +61,17 @@ class CurriculumCubit extends Cubit<CurriculumState> {
super(CurriculumInitial());
Future<void> fetchSubjects({String gradeLevel = 'grade_10', String stream = 'scientific'}) async {
AppLogger.log('CurriculumCubit: Loading subjects for Grade: $gradeLevel ($stream)...', tag: 'CURRICULUM_CUBIT');
final normGrade = GradeLevelModel.normalizeGradeKey(gradeLevel);
AppLogger.log('CurriculumCubit: Loading subjects for Grade: $gradeLevel ($normGrade - $stream)...', tag: 'CURRICULUM_CUBIT');
emit(CurriculumLoading());
try {
final grades = await _repo.getAvailableGrades();
final subjects = await _repo.getSubjects(gradeLevel: gradeLevel, stream: stream);
final subjects = await _repo.getSubjects(gradeLevel: normGrade, stream: stream);
emit(CurriculumLoaded(
subjects: subjects,
filteredSubjects: subjects,
availableGrades: grades,
selectedGrade: gradeLevel,
selectedGrade: normGrade,
selectedStream: stream,
));
} catch (e) {