diff --git a/src/views/components/common/PopupCourseBlock.tsx b/src/views/components/common/PopupCourseBlock.tsx index 6cd7f69ea..2b21ea7fc 100644 --- a/src/views/components/common/PopupCourseBlock.tsx +++ b/src/views/components/common/PopupCourseBlock.tsx @@ -78,8 +78,9 @@ export default function PopupCourseBlock({ - {formattedUniqueId} {course.department} {course.number} –{' '} - {course.instructors.length === 0 ? 'Unknown' : course.instructors.map(v => v.lastName)} + {formattedUniqueId} {course.department} {course.number} + {course.instructors.length > 0 ? <> – : ''} + {course.instructors.map(v => v.toString({ format: 'last', case: 'capitalize' })).join('; ')} {enableCourseStatusChips && course.status !== Status.OPEN && (
{ - const { firstName = '', lastName = '' } = instructor; - if (firstName === '') return capitalizeString(lastName); - return `${capitalizeString(firstName)} ${capitalizeString(lastName)}`; - }; + const getInstructorFullName = (instructor: Instructor) => + instructor.toString({ format: 'first_last', case: 'capitalize' }); const getBuildingUrl = (building: string) => `https://utdirect.utexas.edu/apps/campus/buildings/nlogon/maps/UTM/${building}`; diff --git a/src/views/hooks/useFlattenedCourseSchedule.ts b/src/views/hooks/useFlattenedCourseSchedule.ts index 58ee6d0e6..50e0bd7a3 100644 --- a/src/views/hooks/useFlattenedCourseSchedule.ts +++ b/src/views/hooks/useFlattenedCourseSchedule.ts @@ -95,9 +95,11 @@ function extractCourseInfo(course: Course) { let courseDeptAndInstr = `${course.department} ${course.number}`; - const mainInstructor = course.instructors[0]; - if (mainInstructor) { - courseDeptAndInstr += ` – ${mainInstructor.toString({ format: 'first_last', case: 'capitalize' })}`; + if (course.instructors.length > 0) { + courseDeptAndInstr += ' \u2013 '; + courseDeptAndInstr += course.instructors + .map(instructor => instructor.toString({ format: 'last', case: 'capitalize' })) + .join('; '); } return { status, courseDeptAndInstr, meetings, course };