From e44223084a212fab08efff7564c60465eb546621 Mon Sep 17 00:00:00 2001 From: doprz <52579214+doprz@users.noreply.github.com> Date: Sun, 3 Mar 2024 15:38:27 -0600 Subject: [PATCH] chore: lint and format repo --- src/shared/types/CourseMeeting.ts | 2 +- .../CourseCatalogInjectedPopup.stories.ts | 20 +++--- .../calendar/CalendarGrid/CalendarGrid.tsx | 4 +- .../CalendarHeader/CalenderHeader.tsx | 4 +- .../CourseCatalogInjectedPopup.tsx | 6 +- src/views/hooks/useFlattenedCourseSchedule.ts | 71 +++++++++++-------- 6 files changed, 61 insertions(+), 46 deletions(-) diff --git a/src/shared/types/CourseMeeting.ts b/src/shared/types/CourseMeeting.ts index 889b00e8..09c53d87 100644 --- a/src/shared/types/CourseMeeting.ts +++ b/src/shared/types/CourseMeeting.ts @@ -36,7 +36,7 @@ export class CourseMeeting { * */ startTime: number; /** NOTE: Times starting and after 12 PM have an additional 720 minutes (12 hrs) added to them - * The end time of the course, in minutes since midnight + * The end time of the course, in minutes since midnight * */ endTime: number; /** The location that the course is taught */ diff --git a/src/stories/injected/CourseCatalogInjectedPopup.stories.ts b/src/stories/injected/CourseCatalogInjectedPopup.stories.ts index d38fdbe3..f57274b8 100644 --- a/src/stories/injected/CourseCatalogInjectedPopup.stories.ts +++ b/src/stories/injected/CourseCatalogInjectedPopup.stories.ts @@ -1,14 +1,15 @@ -import { UserSchedule } from '@shared/types/UserSchedule'; -import type { Meta, StoryObj } from '@storybook/react'; -import CourseCatalogInjectedPopup from '@views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup'; +/* eslint-disable storybook/story-exports */ +// import { UserSchedule } from '@shared/types/UserSchedule'; +// import type { Meta, StoryObj } from '@storybook/react'; +// import CourseCatalogInjectedPopup from '@views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup'; -import { exampleCourse } from './mocked'; +// import { exampleCourse } from './mocked'; -const exampleSchedule: UserSchedule = new UserSchedule({ - courses: [exampleCourse], - name: 'Example Schedule', - hours: 0, -}); +// const exampleSchedule: UserSchedule = new UserSchedule({ +// courses: [exampleCourse], +// name: 'Example Schedule', +// hours: 0, +// }); // TODO (achadaga): import this after // https://github.com/Longhorn-Developers/UT-Registration-Plus/pull/106 is merged // const bevoCourse: Course = new Course({ @@ -107,3 +108,4 @@ const exampleSchedule: UserSchedule = new UserSchedule({ // course: bevoCourse, // }, // }; +export default {}; diff --git a/src/views/components/calendar/CalendarGrid/CalendarGrid.tsx b/src/views/components/calendar/CalendarGrid/CalendarGrid.tsx index 1a52c4b7..3436ed91 100644 --- a/src/views/components/calendar/CalendarGrid/CalendarGrid.tsx +++ b/src/views/components/calendar/CalendarGrid/CalendarGrid.tsx @@ -151,7 +151,7 @@ function AccountForCourseConflicts({ courseCells, setCourse }: AccountForCourseC // Part of TODO: block.course is definitely a course object // console.log(courseCells); - + return courseCells.map((block, i) => { const { courseDeptAndInstr, timeAndLocation, status, colors } = courseCells[i].componentProps; @@ -175,7 +175,7 @@ function AccountForCourseConflicts({ courseCells, setCourse }: AccountForCourseC onClick={() => setCourse(block.course)} /> - ) + ); }); } diff --git a/src/views/components/calendar/CalendarHeader/CalenderHeader.tsx b/src/views/components/calendar/CalendarHeader/CalenderHeader.tsx index 1b923c0a..f30b9bd7 100644 --- a/src/views/components/calendar/CalendarHeader/CalenderHeader.tsx +++ b/src/views/components/calendar/CalendarHeader/CalenderHeader.tsx @@ -18,7 +18,7 @@ const handleOpenOptions = async () => { await openTabFromContentScript(url); }; -const CalendarHeader = ( { totalHours, totalCourses, scheduleName } ) => ( +const CalendarHeader = ({ totalHours, totalCourses, scheduleName }) => (
@@ -49,7 +49,7 @@ const CalendarHeader = ( { totalHours, totalCourses, scheduleName } ) => (
diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx index 4ef08089..c9a9a8d6 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx @@ -32,7 +32,11 @@ export default function CourseCatalogInjectedPopup({
- +
diff --git a/src/views/hooks/useFlattenedCourseSchedule.ts b/src/views/hooks/useFlattenedCourseSchedule.ts index 7dacddf6..814d93a3 100644 --- a/src/views/hooks/useFlattenedCourseSchedule.ts +++ b/src/views/hooks/useFlattenedCourseSchedule.ts @@ -5,8 +5,6 @@ import type { CalendarCourseCellProps } from '@views/components/calendar/Calenda import useSchedules from './useSchedules'; - - const dayToNumber: { [day: string]: number } = { Monday: 0, Tuesday: 1, @@ -66,25 +64,26 @@ export function useFlattenedCourseSchedule(): FlattenedCourseSchedule { if (activeSchedule.courses.length === 0) { return { courseCells: [] as CalendarGridCourse[], - activeSchedule + activeSchedule, } satisfies FlattenedCourseSchedule; - } const { courses, name, hours } = activeSchedule; - const processedCourses = courses.flatMap((course: Course) => { - const { status, courseDeptAndInstr, meetings } = extractCourseInfo(course); - - if (meetings.length === 0) { - return processAsyncCourses({ courseDeptAndInstr, status, course }); - } - - return meetings.flatMap((meeting: CourseMeeting) => - processInPersonMeetings(meeting, { courseDeptAndInstr, status, course }) - ); - }).sort(sortCourses); - + const processedCourses = courses + .flatMap((course: Course) => { + const { status, courseDeptAndInstr, meetings } = extractCourseInfo(course); + + if (meetings.length === 0) { + return processAsyncCourses({ courseDeptAndInstr, status, course }); + } + + return meetings.flatMap((meeting: CourseMeeting) => + processInPersonMeetings(meeting, { courseDeptAndInstr, status, course }) + ); + }) + .sort(sortCourses); + return { courseCells: processedCourses as CalendarGridCourse[], activeSchedule: { name, courses, hours } as UserSchedule, @@ -106,23 +105,33 @@ function extractCourseInfo(course: Course) { /** * Function to process each in-person class into its distinct meeting objects for calendar grid */ -function processAsyncCourses({ courseDeptAndInstr, status, course }: { courseDeptAndInstr: string, status: StatusType, course: Course }) { - return [{ - calendarGridPoint: { - dayIndex: 0, - startIndex: 0, - endIndex: 0, - }, - componentProps: { - courseDeptAndInstr, - status, - colors: { - primaryColor: 'ut-gray', - secondaryColor: 'ut-gray', +function processAsyncCourses({ + courseDeptAndInstr, + status, + course, +}: { + courseDeptAndInstr: string; + status: StatusType; + course: Course; +}) { + return [ + { + calendarGridPoint: { + dayIndex: 0, + startIndex: 0, + endIndex: 0, }, + componentProps: { + courseDeptAndInstr, + status, + colors: { + primaryColor: 'ut-gray', + secondaryColor: 'ut-gray', + }, + }, + course, }, - course, - }] satisfies CalendarGridCourse[]; + ] satisfies CalendarGridCourse[]; } /**