Skip to content

Commit

Permalink
feat: modify Course Block text style and time and location text (#409)
Browse files Browse the repository at this point in the history
  • Loading branch information
tonydnh authored Nov 15, 2024
1 parent 91fa78e commit 0d51cae
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 16 deletions.
12 changes: 3 additions & 9 deletions src/shared/types/CourseMeeting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export class CourseMeeting {
}

startTimeString += startMinute === 0 ? ':00' : `:${startMinute}`;
startTimeString += startHour >= 12 ? ' p.m.' : ' a.m.';
startTimeString += startHour >= 12 ? 'pm' : 'am';

if (endHour === 0) {
endTimeString = '12';
Expand All @@ -117,13 +117,9 @@ export class CourseMeeting {
} else {
endTimeString = `${endHour}`;
}
endTimeString += endMinute === 0 ? ':00' : `:${endMinute}`;
endTimeString += endHour >= 12 ? ' p.m.' : ' a.m.';

if (options.capitalize) {
startTimeString = startTimeString.toUpperCase();
endTimeString = endTimeString.toUpperCase();
}
endTimeString += endMinute === 0 ? ':00' : `:${endMinute}`;
endTimeString += endHour >= 12 ? 'pm' : 'am';

return `${startTimeString} ${options.separator} ${endTimeString}`;
}
Expand All @@ -135,8 +131,6 @@ export class CourseMeeting {
type TimeStringOptions = {
/** the separator between the start and end times */
separator: string;
/** capitalizes the AM/PM */
capitalize?: boolean;
};

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const meta = {
courseDeptAndInstr: ExampleCourse.department,
className: ExampleCourse.number,
status: ExampleCourse.status,
timeAndLocation: ExampleCourse.schedule.meetings[0]!.getTimeString({ separator: '-' }),
timeAndLocation: ExampleCourse.schedule.meetings[0]!.getTimeString({ separator: '' }),

colors: getCourseColors('emerald', 500),
},
Expand Down
2 changes: 1 addition & 1 deletion src/views/components/calendar/CalendarCourseCell.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ export default function CalendarCourseCell({
{courseDeptAndInstr}
</Text>
{timeAndLocation && (
<Text variant='h3-course' as='p'>
<Text variant='h3-course' as='p' className='whitespace-pre-line'>
{timeAndLocation}
</Text>
)}
Expand Down
4 changes: 2 additions & 2 deletions src/views/components/common/Text/Text.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
font-size: 0.6875rem;
font-weight: 400;
letter-spacing: 0;
line-height: 100%; /* 0.6875rem */
line-height: 0.775rem;
}

.h3 {
Expand All @@ -58,7 +58,7 @@
}

.h1-course {
font-size: 1rem;
font-size: 0.9375rem;
font-weight: 550;
text-transform: capitalize;
letter-spacing: 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ export default function HeadingAndActions({ course, activeSchedule, onClose }: H
<div className='mt-1 flex flex-col'>
{schedule.meetings.map(meeting => {
const daysString = meeting.getDaysString({ format: 'long', separator: 'long' });
const timeString = meeting.getTimeString({ separator: ' to ', capitalize: false });
const timeString = meeting.getTimeString({ separator: ' to ' });
return (
<Text
key={
Expand Down
13 changes: 11 additions & 2 deletions src/views/hooks/useFlattenedCourseSchedule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,19 @@ function processInPersonMeetings(
const { days, startTime, endTime, location } = meeting;
const midnightIndex = 1440;
const normalizingTimeFactor = 720;
const time = meeting.getTimeString({ separator: '-', capitalize: true });
const timeAndLocation = `${time}${location ? ` - ${location.building}` : ''}`;
const oneHour = 60;
const time = meeting.getTimeString({ separator: '–' });
const normalizedStartTime = startTime >= midnightIndex ? startTime - normalizingTimeFactor : startTime;
const normalizedEndTime = endTime >= midnightIndex ? endTime - normalizingTimeFactor : endTime;
const courseDuration = normalizedEndTime - normalizedStartTime;
let timeAndLocation = `${time}`;
if (location) {
if (courseDuration > oneHour) {
timeAndLocation += `\n${location.building} ${location.room}`;
} else {
timeAndLocation += `, ${location.building} ${location.room}`;
}
}

return days.map(day => ({
calendarGridPoint: {
Expand Down

0 comments on commit 0d51cae

Please sign in to comment.