import type { Course } from '@shared/types/Course'; import { Status } from '@shared/types/Course'; import type { CourseColors } from '@shared/util/colors'; import { pickFontColor } from '@shared/util/colors'; import { StatusIcon } from '@shared/util/icons'; import Text from '@views/components/common/Text/Text'; import clsx from 'clsx'; import React from 'react'; import DragIndicatorIcon from '~icons/material-symbols/drag-indicator'; /** * Props for PopupCourseBlock */ export interface PopupCourseBlockProps { className?: string; course: Course; colors: CourseColors; dragHandleProps?: any; } /** * The "course block" to be used in the extension popup. * * @param props PopupCourseBlockProps */ export default function PopupCourseBlock({ className, course, colors, dragHandleProps, }: PopupCourseBlockProps): JSX.Element { // whiteText based on secondaryColor const fontColor = pickFontColor(colors.primaryColor); const formattedUniqueId = course.uniqueId.toString().padStart(5, '0'); return (
{formattedUniqueId} {course.department} {course.number} –{' '} {course.instructors.length === 0 ? 'Unknown' : course.instructors.map(v => v.lastName)} {course.status !== Status.OPEN && (
)}
); }