CourseOfferingDetail typedef

CourseOfferingDetail = ({List<({String code, String? nameEn, String nameZh})> classes, CourseOfferingOverview overview, List<({String? classroomNameEn, String? classroomNameZh, DayOfWeek day, Period period})> schedule, List<({String code, String? nameEn, String nameZh})> teachers})

Detailed data for a single course offering, sufficient to populate the course-table detail bottom sheet. Composes the CourseOfferingOverview view row (single-value offering+catalog fields) with the offering's many-side relations (schedule slots, teachers, classes).

Future iSchool-sourced lists (roster, assignments) will be added as additional fields on this record.

Implementation

typedef CourseOfferingDetail = ({
  CourseOfferingOverview overview,
  List<
    ({
      DayOfWeek day,
      Period period,
      String? classroomNameZh,
      String? classroomNameEn,
    })
  >
  schedule,
  List<({String code, String nameZh, String? nameEn})> teachers,
  List<({String code, String nameZh, String? nameEn})> classes,
});