feat: pad unique ids to 5 digits (#170)
* feat: pad unique ids to 5 digits * feat: also pad in popup course block
This commit is contained in:
@@ -32,6 +32,7 @@ export default function PopupCourseBlock({
|
|||||||
}: PopupCourseBlockProps): JSX.Element {
|
}: PopupCourseBlockProps): JSX.Element {
|
||||||
// whiteText based on secondaryColor
|
// whiteText based on secondaryColor
|
||||||
const fontColor = pickFontColor(colors.primaryColor);
|
const fontColor = pickFontColor(colors.primaryColor);
|
||||||
|
const formattedUniqueId = course.uniqueId.toString().padStart(5, '0');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
@@ -50,7 +51,7 @@ export default function PopupCourseBlock({
|
|||||||
<DragIndicatorIcon className='h-6 w-6 text-white' />
|
<DragIndicatorIcon className='h-6 w-6 text-white' />
|
||||||
</div>
|
</div>
|
||||||
<Text className={clsx('flex-1 py-3.5 truncate', fontColor)} variant='h1-course'>
|
<Text className={clsx('flex-1 py-3.5 truncate', fontColor)} variant='h1-course'>
|
||||||
<span className='px-0.5 font-450'>{course.uniqueId}</span> {course.department} {course.number} –{' '}
|
<span className='px-0.5 font-450'>{formattedUniqueId}</span> {course.department} {course.number} –{' '}
|
||||||
{course.instructors.length === 0 ? 'Unknown' : course.instructors.map(v => v.lastName)}
|
{course.instructors.length === 0 ? 'Unknown' : course.instructors.map(v => v.lastName)}
|
||||||
</Text>
|
</Text>
|
||||||
{course.status !== Status.OPEN && (
|
{course.status !== Status.OPEN && (
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ const capitalizeString = (str: string) => str.charAt(0).toUpperCase() + str.slic
|
|||||||
export default function HeadingAndActions({ course, activeSchedule, onClose }: HeadingAndActionProps): JSX.Element {
|
export default function HeadingAndActions({ course, activeSchedule, onClose }: HeadingAndActionProps): JSX.Element {
|
||||||
const { courseName, department, number: courseNumber, uniqueId, instructors, flags, schedule } = course;
|
const { courseName, department, number: courseNumber, uniqueId, instructors, flags, schedule } = course;
|
||||||
const courseAdded = activeSchedule.courses.some(ourCourse => ourCourse.uniqueId === uniqueId);
|
const courseAdded = activeSchedule.courses.some(ourCourse => ourCourse.uniqueId === uniqueId);
|
||||||
|
const formattedUniqueId = uniqueId.toString().padStart(5, '0');
|
||||||
|
|
||||||
const getInstructorFullName = (instructor: Instructor) => {
|
const getInstructorFullName = (instructor: Instructor) => {
|
||||||
const { firstName, lastName } = instructor;
|
const { firstName, lastName } = instructor;
|
||||||
@@ -68,7 +69,7 @@ export default function HeadingAndActions({ course, activeSchedule, onClose }: H
|
|||||||
const instructorString = instructors.map(getInstructorFullName).join(', ');
|
const instructorString = instructors.map(getInstructorFullName).join(', ');
|
||||||
|
|
||||||
const handleCopy = () => {
|
const handleCopy = () => {
|
||||||
navigator.clipboard.writeText(uniqueId.toString());
|
navigator.clipboard.writeText(formattedUniqueId);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleOpenRateMyProf = async () => {
|
const handleOpenRateMyProf = async () => {
|
||||||
@@ -118,7 +119,7 @@ export default function HeadingAndActions({ course, activeSchedule, onClose }: H
|
|||||||
({department} {courseNumber})
|
({department} {courseNumber})
|
||||||
</Text>
|
</Text>
|
||||||
<Button color='ut-burntorange' variant='single' icon={Copy} onClick={handleCopy}>
|
<Button color='ut-burntorange' variant='single' icon={Copy} onClick={handleCopy}>
|
||||||
{uniqueId}
|
{formattedUniqueId}
|
||||||
</Button>
|
</Button>
|
||||||
<button className='bg-transparent p-0 btn' onClick={onClose}>
|
<button className='bg-transparent p-0 btn' onClick={onClose}>
|
||||||
<CloseIcon className='h-7 w-7' />
|
<CloseIcon className='h-7 w-7' />
|
||||||
|
|||||||
Reference in New Issue
Block a user