import { Course } from '@shared/types/Course'; import { UserSchedule } from '@shared/types/UserSchedule'; import React from 'react'; import Card from '@views/components/common/Card/Card'; import Icon from '@views/components/common/Icon/Icon'; import Link from '@views/components/common/Link/Link'; import Text from '@views/components/common/Text/Text'; import { Button } from 'src/views/components/common/Button/Button'; import CourseButtons from './CourseButtons/CourseButtons'; import styles from './CourseHeader.module.scss'; import CopyIcon from '~icons/material-symbols/content-copy'; import CloseIcon from '~icons/material-symbols/close'; type Props = { course: Course; activeSchedule?: UserSchedule; onClose: () => void; }; /** * This component displays the header of the course info popup. * It displays the course name, unique id, instructors, and schedule, all formatted nicely. */ export default function CourseHeader({ course, activeSchedule, onClose }: Props) { // const getBuildingUrl = (building?: string): string | undefined => { // if (!building) return undefined; // return `https://utdirect.utexas.edu/apps/campus/buildings/nlogon/maps/UTM/${building}/`; // }; return (
{course.courseName} {`(${course.department} ${course.number})`}
with{' '} {course.instructors.map(instructor => ( {instructor.lastName} ))}
// // //
// // {course.courseName} ({course.department} {course.number}) blahhhhh // // // #{course.uniqueId} // //
// // {`with ${!course.instructors.length ? 'TBA' : ''}`} // {course.instructors.map((instructor, index) => { // const name = instructor.toString({ // format: 'first_last', // case: 'capitalize', // }); // const url = instructor.getDirectoryUrl(); // const numInstructors = course.instructors.length; // const isLast = course.instructors.length > 1 && index === course.instructors.length - 1; // return ( // // {numInstructors > 1 && index === course.instructors.length - 1 ? '& ' : ''} // // {name} // // {numInstructors > 2 && !isLast ? ', ' : ''} // // ); // })} // // {course.schedule.meetings.map(meeting => ( // // // {meeting.getDaysString({ // format: 'long', // separator: 'short', // })} // // {' at '} // // {meeting.getTimeString({ // separator: 'to', // capitalize: true, // })} // // {' in '} // // {meeting.location?.building ?? 'TBA'} // // // ))} // //
); }