From e080e93faa16c105de1d77bb534903ad2c4926ef Mon Sep 17 00:00:00 2001 From: Razboy20 Date: Thu, 21 Mar 2024 13:47:59 -0500 Subject: [PATCH] refactor: remove component subfolders (#184) (and unused components) --- src/pages/calendar/CalendarMain.tsx | 2 +- src/stories/components/Button.stories.tsx | 2 +- src/stories/components/Card.stories.tsx | 23 ------- src/stories/components/Chip.stories.tsx | 2 +- .../ConflictsWithWarning.stories.tsx | 2 +- .../components/CourseStatus.stories.tsx | 2 +- src/stories/components/Divider.stories.tsx | 4 +- src/stories/components/Dropdown.stories.tsx | 8 +-- src/stories/components/InfoCard.stories.tsx | 2 +- src/stories/components/Link.stories.ts | 2 +- src/stories/components/List.stories.tsx | 4 +- .../components/PopupCourseBlock.stories.tsx | 2 +- src/stories/components/Prompt.stories.tsx | 6 +- .../SchedulTotalHoursAndCourses.stories.tsx | 2 +- .../components/ScheduleListItem.stories.tsx | 2 +- .../components/calendar/Calendar.stories.tsx | 2 +- .../calendar/CalendarBottomBar.stories.tsx | 2 +- .../calendar/CalendarCourse.stories.tsx | 62 ------------------- .../calendar/CalendarCourseCell.stories.tsx | 4 +- .../calendar/CalendarGrid.stories.tsx | 2 +- .../calendar/CalendarGridCell.stories.tsx | 2 +- .../calendar/CalendarHeader.stories.tsx | 2 +- .../calendar/CalendarSchedules.stories.tsx | 2 +- src/views/components/PopupMain.tsx | 12 ++-- .../calendar/{Calendar => }/Calendar.tsx | 14 ++--- .../CalendarBottomBar.tsx | 8 +-- .../CalendarCourseMeeting.module.scss | 34 ---------- .../CalendarCourseMeeting.tsx | 45 -------------- .../CalendarCourseCell.tsx | 0 .../CourseCellColorPicker.tsx | 2 +- .../components/calendar/CalendarFooter.tsx | 2 +- .../{CalendarGrid => }/CalendarGrid.tsx | 4 +- .../CalendarGridCell.tsx | 0 .../CalendarSchedules.tsx | 6 +- .../{CalendarHeader => }/CalenderHeader.tsx | 8 +-- .../components/common/{Button => }/Button.tsx | 0 .../components/common/Card/Card.module.scss | 10 --- src/views/components/common/Card/Card.tsx | 31 ---------- .../components/common/{Chip => }/Chip.tsx | 0 .../ConflictsWithWarning.tsx | 0 .../{CourseStatus => }/CourseStatus.tsx | 0 .../components/common/{Dialog => }/Dialog.tsx | 2 +- .../common/{Divider => }/Divider.tsx | 0 .../common/{InfoCard => }/InfoCard.tsx | 0 .../components/common/{Link => }/Link.tsx | 0 .../components/common/{List => }/List.tsx | 2 +- .../PopupCourseBlock.tsx | 0 .../components/common/{Prompt => }/Prompt.tsx | 4 +- .../ScheduleDropdown.tsx | 0 .../ScheduleListItem.tsx | 0 .../ScheduleTotalHoursAndCourses.tsx | 0 .../CourseCatalogInjectedPopup.tsx | 4 +- .../HeadingAndActions.tsx | 8 +-- .../RecruitmentBanner/RecruitmentBanner.tsx | 2 +- .../components/injected/TableRow/TableRow.tsx | 2 +- src/views/hooks/useFlattenedCourseSchedule.ts | 2 +- 56 files changed, 70 insertions(+), 275 deletions(-) delete mode 100644 src/stories/components/Card.stories.tsx delete mode 100644 src/stories/components/calendar/CalendarCourse.stories.tsx rename src/views/components/calendar/{Calendar => }/Calendar.tsx (92%) rename src/views/components/calendar/{CalendarBottomBar => }/CalendarBottomBar.tsx (89%) delete mode 100644 src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.module.scss delete mode 100644 src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.tsx rename src/views/components/calendar/{CalendarCourseCell => }/CalendarCourseCell.tsx (100%) rename src/views/components/calendar/{CalendarGrid => }/CalendarGrid.tsx (98%) rename src/views/components/calendar/{CalendarGridCell => }/CalendarGridCell.tsx (100%) rename src/views/components/calendar/{CalendarSchedules => }/CalendarSchedules.tsx (94%) rename src/views/components/calendar/{CalendarHeader => }/CalenderHeader.tsx (91%) rename src/views/components/common/{Button => }/Button.tsx (100%) delete mode 100644 src/views/components/common/Card/Card.module.scss delete mode 100644 src/views/components/common/Card/Card.tsx rename src/views/components/common/{Chip => }/Chip.tsx (100%) rename src/views/components/common/{ConflictsWithWarning => }/ConflictsWithWarning.tsx (100%) rename src/views/components/common/{CourseStatus => }/CourseStatus.tsx (100%) rename src/views/components/common/{Dialog => }/Dialog.tsx (97%) rename src/views/components/common/{Divider => }/Divider.tsx (100%) rename src/views/components/common/{InfoCard => }/InfoCard.tsx (100%) rename src/views/components/common/{Link => }/Link.tsx (100%) rename src/views/components/common/{List => }/List.tsx (99%) rename src/views/components/common/{PopupCourseBlock => }/PopupCourseBlock.tsx (100%) rename src/views/components/common/{Prompt => }/Prompt.tsx (96%) rename src/views/components/common/{ScheduleDropdown => }/ScheduleDropdown.tsx (100%) rename src/views/components/common/{ScheduleListItem => }/ScheduleListItem.tsx (100%) rename src/views/components/common/{ScheduleTotalHoursAndCourses => }/ScheduleTotalHoursAndCourses.tsx (100%) diff --git a/src/pages/calendar/CalendarMain.tsx b/src/pages/calendar/CalendarMain.tsx index 98d80f03..0da30c99 100644 --- a/src/pages/calendar/CalendarMain.tsx +++ b/src/pages/calendar/CalendarMain.tsx @@ -1,4 +1,4 @@ -import Calendar from '@views/components/calendar/Calendar/Calendar'; +import Calendar from '@views/components/calendar/Calendar'; import ExtensionRoot from '@views/components/common/ExtensionRoot/ExtensionRoot'; import React from 'react'; diff --git a/src/stories/components/Button.stories.tsx b/src/stories/components/Button.stories.tsx index 7326c734..83f79362 100644 --- a/src/stories/components/Button.stories.tsx +++ b/src/stories/components/Button.stories.tsx @@ -1,6 +1,6 @@ import { colorsFlattened } from '@shared/util/themeColors'; import type { Meta, StoryObj } from '@storybook/react'; -import { Button } from '@views/components/common/Button/Button'; +import { Button } from '@views/components/common/Button'; import React from 'react'; import AddIcon from '~icons/material-symbols/add'; diff --git a/src/stories/components/Card.stories.tsx b/src/stories/components/Card.stories.tsx deleted file mode 100644 index 7fa1c9b9..00000000 --- a/src/stories/components/Card.stories.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; -import Card from '@views/components/common/Card/Card'; -import React from 'react'; - -// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export -const meta = { - title: 'Components/Common/Card', - component: Card, - parameters: { - // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout - layout: 'centered', - }, - args: { - children:
Hello
, - }, - // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs - tags: ['autodocs'], -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = {}; diff --git a/src/stories/components/Chip.stories.tsx b/src/stories/components/Chip.stories.tsx index 830ff315..54ce1e2f 100644 --- a/src/stories/components/Chip.stories.tsx +++ b/src/stories/components/Chip.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react'; -import { Chip } from '@views/components/common/Chip/Chip'; +import { Chip } from '@views/components/common/Chip'; const meta = { title: 'Components/Common/Chip', diff --git a/src/stories/components/ConflictsWithWarning.stories.tsx b/src/stories/components/ConflictsWithWarning.stories.tsx index 9fb0f780..7e4acd06 100644 --- a/src/stories/components/ConflictsWithWarning.stories.tsx +++ b/src/stories/components/ConflictsWithWarning.stories.tsx @@ -3,7 +3,7 @@ import { CourseMeeting } from '@shared/types/CourseMeeting'; import Instructor from '@shared/types/Instructor'; import { getCourseColors } from '@shared/util/colors'; import type { Meta, StoryObj } from '@storybook/react'; -import ConflictsWithWarning from '@views/components/common/ConflictsWithWarning/ConflictsWithWarning'; +import ConflictsWithWarning from '@views/components/common/ConflictsWithWarning'; export const ExampleCourse: Course = new Course({ courseName: 'ELEMS OF COMPTRS/PROGRAMMNG-WB', diff --git a/src/stories/components/CourseStatus.stories.tsx b/src/stories/components/CourseStatus.stories.tsx index 1646eb0b..639af246 100644 --- a/src/stories/components/CourseStatus.stories.tsx +++ b/src/stories/components/CourseStatus.stories.tsx @@ -1,6 +1,6 @@ import { Status } from '@shared/types/Course'; import type { Meta, StoryObj } from '@storybook/react'; -import CourseStatus from '@views/components/common/CourseStatus/CourseStatus'; +import CourseStatus from '@views/components/common/CourseStatus'; import React from 'react'; const meta = { diff --git a/src/stories/components/Divider.stories.tsx b/src/stories/components/Divider.stories.tsx index f24c16ef..c3592e96 100644 --- a/src/stories/components/Divider.stories.tsx +++ b/src/stories/components/Divider.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from '@storybook/react'; -import { Button } from '@views/components/common/Button/Button'; -import Divider from '@views/components/common/Divider/Divider'; +import { Button } from '@views/components/common/Button'; +import Divider from '@views/components/common/Divider'; import React from 'react'; import AddIcon from '~icons/material-symbols/add'; diff --git a/src/stories/components/Dropdown.stories.tsx b/src/stories/components/Dropdown.stories.tsx index 6ed49011..8b10187a 100644 --- a/src/stories/components/Dropdown.stories.tsx +++ b/src/stories/components/Dropdown.stories.tsx @@ -2,10 +2,10 @@ import { UserScheduleStore } from '@shared/storage/UserScheduleStore'; import { UserSchedule } from '@shared/types/UserSchedule'; import { generateRandomId } from '@shared/util/random'; import type { Meta, StoryObj } from '@storybook/react'; -import List from '@views/components/common/List/List'; -import type { ScheduleDropdownProps } from '@views/components/common/ScheduleDropdown/ScheduleDropdown'; -import ScheduleDropdown from '@views/components/common/ScheduleDropdown/ScheduleDropdown'; -import ScheduleListItem from '@views/components/common/ScheduleListItem/ScheduleListItem'; +import List from '@views/components/common/List'; +import type { ScheduleDropdownProps } from '@views/components/common/ScheduleDropdown'; +import ScheduleDropdown from '@views/components/common/ScheduleDropdown'; +import ScheduleListItem from '@views/components/common/ScheduleListItem'; import useSchedules, { getActiveSchedule, switchSchedule } from '@views/hooks/useSchedules'; import type { Serialized } from 'chrome-extension-toolkit'; import React, { useEffect } from 'react'; diff --git a/src/stories/components/InfoCard.stories.tsx b/src/stories/components/InfoCard.stories.tsx index ab176b20..0f697aef 100644 --- a/src/stories/components/InfoCard.stories.tsx +++ b/src/stories/components/InfoCard.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react'; -import InfoCard from '@views/components/common/InfoCard/InfoCard'; +import InfoCard from '@views/components/common/InfoCard'; const meta = { title: 'Components/Common/InfoCard', diff --git a/src/stories/components/Link.stories.ts b/src/stories/components/Link.stories.ts index 8043f58c..a239bbf8 100644 --- a/src/stories/components/Link.stories.ts +++ b/src/stories/components/Link.stories.ts @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react'; -import Link from '@views/components/common/Link/Link'; +import Link from '@views/components/common/Link'; const meta = { title: 'Components/Common/Link', diff --git a/src/stories/components/List.stories.tsx b/src/stories/components/List.stories.tsx index b2c46eac..39b85a0a 100644 --- a/src/stories/components/List.stories.tsx +++ b/src/stories/components/List.stories.tsx @@ -4,8 +4,8 @@ import { CourseMeeting } from '@shared/types/CourseMeeting'; import Instructor from '@shared/types/Instructor'; import { tailwindColorways } from '@shared/util/storybook'; import type { Meta, StoryObj } from '@storybook/react'; -import List from '@views/components/common/List/List'; -import PopupCourseBlock from '@views/components/common/PopupCourseBlock/PopupCourseBlock'; +import List from '@views/components/common/List'; +import PopupCourseBlock from '@views/components/common/PopupCourseBlock'; import React from 'react'; const numberOfCourses = 5; diff --git a/src/stories/components/PopupCourseBlock.stories.tsx b/src/stories/components/PopupCourseBlock.stories.tsx index 0cc207e5..3c6438e6 100644 --- a/src/stories/components/PopupCourseBlock.stories.tsx +++ b/src/stories/components/PopupCourseBlock.stories.tsx @@ -4,7 +4,7 @@ import Instructor from '@shared/types/Instructor'; import { getCourseColors } from '@shared/util/colors'; import { tailwindColorways } from '@shared/util/storybook'; import type { Meta, StoryObj } from '@storybook/react'; -import PopupCourseBlock from '@views/components/common/PopupCourseBlock/PopupCourseBlock'; +import PopupCourseBlock from '@views/components/common/PopupCourseBlock'; import React from 'react'; /** diff --git a/src/stories/components/Prompt.stories.tsx b/src/stories/components/Prompt.stories.tsx index 659d56be..bf98aa30 100644 --- a/src/stories/components/Prompt.stories.tsx +++ b/src/stories/components/Prompt.stories.tsx @@ -1,7 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react'; -import { Button } from '@views/components/common/Button/Button'; -import type { PromptDialogProps } from '@views/components/common/Prompt/Prompt'; -import PromptDialog from '@views/components/common/Prompt/Prompt'; +import { Button } from '@views/components/common/Button'; +import type { PromptDialogProps } from '@views/components/common/Prompt'; +import PromptDialog from '@views/components/common/Prompt'; import Text from '@views/components/common/Text/Text'; import React from 'react'; diff --git a/src/stories/components/SchedulTotalHoursAndCourses.stories.tsx b/src/stories/components/SchedulTotalHoursAndCourses.stories.tsx index 9f6949e4..cf166fda 100644 --- a/src/stories/components/SchedulTotalHoursAndCourses.stories.tsx +++ b/src/stories/components/SchedulTotalHoursAndCourses.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react'; -import ScheduleTotalHoursAndCourses from '@views/components/common/ScheduleTotalHoursAndCourses/ScheduleTotalHoursAndCourses'; +import ScheduleTotalHoursAndCourses from '@views/components/common/ScheduleTotalHoursAndCourses'; const meta = { title: 'Components/Common/ScheduleTotalHoursAndCourses', diff --git a/src/stories/components/ScheduleListItem.stories.tsx b/src/stories/components/ScheduleListItem.stories.tsx index e6f5a707..ff784fd5 100644 --- a/src/stories/components/ScheduleListItem.stories.tsx +++ b/src/stories/components/ScheduleListItem.stories.tsx @@ -1,6 +1,6 @@ import { UserSchedule } from '@shared/types/UserSchedule'; import type { Meta, StoryObj } from '@storybook/react'; -import ScheduleListItem from '@views/components/common/ScheduleListItem/ScheduleListItem'; +import ScheduleListItem from '@views/components/common/ScheduleListItem'; import useSchedules from '@views/hooks/useSchedules'; import React from 'react'; diff --git a/src/stories/components/calendar/Calendar.stories.tsx b/src/stories/components/calendar/Calendar.stories.tsx index aa5589f3..4850780b 100644 --- a/src/stories/components/calendar/Calendar.stories.tsx +++ b/src/stories/components/calendar/Calendar.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react'; -import Calendar from '@views/components/calendar/Calendar/Calendar'; +import Calendar from '@views/components/calendar/Calendar'; const meta = { title: 'Components/Calendar/Calendar', diff --git a/src/stories/components/calendar/CalendarBottomBar.stories.tsx b/src/stories/components/calendar/CalendarBottomBar.stories.tsx index 467463bc..578ec37c 100644 --- a/src/stories/components/calendar/CalendarBottomBar.stories.tsx +++ b/src/stories/components/calendar/CalendarBottomBar.stories.tsx @@ -2,7 +2,7 @@ import { Course, Status } from '@shared/types/Course'; import Instructor from '@shared/types/Instructor'; import { getCourseColors } from '@shared/util/colors'; import type { Meta, StoryObj } from '@storybook/react'; -import CalendarBottomBar from '@views/components/calendar/CalendarBottomBar/CalendarBottomBar'; +import CalendarBottomBar from '@views/components/calendar/CalendarBottomBar'; import React from 'react'; const exampleGovCourse: Course = new Course({ diff --git a/src/stories/components/calendar/CalendarCourse.stories.tsx b/src/stories/components/calendar/CalendarCourse.stories.tsx deleted file mode 100644 index 571f8c54..00000000 --- a/src/stories/components/calendar/CalendarCourse.stories.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { Course, Status } from '@shared/types/Course'; -import { CourseMeeting, DAY_MAP } from '@shared/types/CourseMeeting'; -import { CourseSchedule } from '@shared/types/CourseSchedule'; -import Instructor from '@shared/types/Instructor'; -import { getCourseColors } from '@shared/util/colors'; -import type { Meta, StoryObj } from '@storybook/react'; -import CalendarCourse from '@views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting'; - -const meta = { - title: 'Components/Calendar/CalendarCourseMeeting', - component: CalendarCourse, - parameters: { - layout: 'centered', - }, - tags: ['autodocs'], - argTypes: { - course: { control: 'object' }, - meetingIdx: { control: 'number' }, - }, -} satisfies Meta; -export default meta; - -type Story = StoryObj; - -export const Default: Story = { - args: { - course: new Course({ - uniqueId: 123, - number: '311C', - fullName: "311C - Bevo's Default Course", - courseName: "Bevo's Default Course", - department: 'BVO', - creditHours: 3, - status: Status.OPEN, - instructors: [new Instructor({ firstName: '', lastName: 'Bevo', fullName: 'Bevo' })], - isReserved: false, - url: '', - flags: [], - schedule: new CourseSchedule({ - meetings: [ - new CourseMeeting({ - days: [DAY_MAP.M, DAY_MAP.W, DAY_MAP.F], - startTime: 480, - endTime: 570, - location: { - building: 'UTC', - room: '123', - }, - }), - ], - }), - instructionMode: 'In Person', - semester: { - year: 2024, - season: 'Spring', - }, - scrapedAt: Date.now(), - colors: getCourseColors('emerald', 500), - }), - meetingIdx: 0, - }, -}; diff --git a/src/stories/components/calendar/CalendarCourseCell.stories.tsx b/src/stories/components/calendar/CalendarCourseCell.stories.tsx index 97816f9f..f5c31388 100644 --- a/src/stories/components/calendar/CalendarCourseCell.stories.tsx +++ b/src/stories/components/calendar/CalendarCourseCell.stories.tsx @@ -1,8 +1,8 @@ import { Status } from '@shared/types/Course'; import { getCourseColors } from '@shared/util/colors'; import type { Meta, StoryObj } from '@storybook/react'; -import type { CalendarCourseCellProps } from '@views/components/calendar/CalendarCourseCell/CalendarCourseCell'; -import CalendarCourseCell from '@views/components/calendar/CalendarCourseCell/CalendarCourseCell'; +import type { CalendarCourseCellProps } from '@views/components/calendar/CalendarCourseCell'; +import CalendarCourseCell from '@views/components/calendar/CalendarCourseCell'; import React from 'react'; import { ExampleCourse } from '../PopupCourseBlock.stories'; diff --git a/src/stories/components/calendar/CalendarGrid.stories.tsx b/src/stories/components/calendar/CalendarGrid.stories.tsx index 39e79bff..86d74364 100644 --- a/src/stories/components/calendar/CalendarGrid.stories.tsx +++ b/src/stories/components/calendar/CalendarGrid.stories.tsx @@ -1,7 +1,7 @@ import { Status } from '@shared/types/Course'; import { getCourseColors } from '@shared/util/colors'; import type { Meta, StoryObj } from '@storybook/react'; -import CalendarGrid from '@views/components/calendar/CalendarGrid/CalendarGrid'; +import CalendarGrid from '@views/components/calendar/CalendarGrid'; import type { CalendarGridCourse } from '@views/hooks/useFlattenedCourseSchedule'; import { ExampleCourse } from '../PopupCourseBlock.stories'; diff --git a/src/stories/components/calendar/CalendarGridCell.stories.tsx b/src/stories/components/calendar/CalendarGridCell.stories.tsx index c9bde547..5c5095fe 100644 --- a/src/stories/components/calendar/CalendarGridCell.stories.tsx +++ b/src/stories/components/calendar/CalendarGridCell.stories.tsx @@ -1,6 +1,6 @@ // Calendar.stories.tsx import type { Meta, StoryObj } from '@storybook/react'; -import CalendarCell from '@views/components/calendar/CalendarGridCell/CalendarGridCell'; +import CalendarCell from '@views/components/calendar/CalendarGridCell'; const meta = { title: 'Components/Calendar/CalendarGridCell', diff --git a/src/stories/components/calendar/CalendarHeader.stories.tsx b/src/stories/components/calendar/CalendarHeader.stories.tsx index 197c3a02..b9738f22 100644 --- a/src/stories/components/calendar/CalendarHeader.stories.tsx +++ b/src/stories/components/calendar/CalendarHeader.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react'; -import CalendarHeader from '@views/components/calendar/CalendarHeader/CalenderHeader'; +import CalendarHeader from '@views/components/calendar/CalenderHeader'; const meta = { title: 'Components/Calendar/CalendarHeader', diff --git a/src/stories/components/calendar/CalendarSchedules.stories.tsx b/src/stories/components/calendar/CalendarSchedules.stories.tsx index 6fe8d624..579b1b73 100644 --- a/src/stories/components/calendar/CalendarSchedules.stories.tsx +++ b/src/stories/components/calendar/CalendarSchedules.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react'; -import { CalendarSchedules } from '@views/components/calendar/CalendarSchedules/CalendarSchedules'; +import { CalendarSchedules } from '@views/components/calendar/CalendarSchedules'; const meta = { title: 'Components/Calendar/CalendarSchedules', diff --git a/src/views/components/PopupMain.tsx b/src/views/components/PopupMain.tsx index 31112cf3..fe040933 100644 --- a/src/views/components/PopupMain.tsx +++ b/src/views/components/PopupMain.tsx @@ -1,8 +1,8 @@ import { background } from '@shared/messages'; import { UserScheduleStore } from '@shared/storage/UserScheduleStore'; -import Divider from '@views/components/common/Divider/Divider'; +import Divider from '@views/components/common/Divider'; import ExtensionRoot from '@views/components/common/ExtensionRoot/ExtensionRoot'; -import List from '@views/components/common/List/List'; +import List from '@views/components/common/List'; import Text from '@views/components/common/Text/Text'; import useSchedules, { getActiveSchedule, replaceSchedule, switchSchedule } from '@views/hooks/useSchedules'; import { getUpdatedAtDateTimeString } from '@views/lib/getUpdatedAtDateTimeString'; @@ -14,11 +14,11 @@ import CalendarIcon from '~icons/material-symbols/calendar-month'; import RefreshIcon from '~icons/material-symbols/refresh'; import SettingsIcon from '~icons/material-symbols/settings'; -import CourseStatus from './common/CourseStatus/CourseStatus'; +import CourseStatus from './common/CourseStatus'; import { SmallLogo } from './common/LogoIcon'; -import PopupCourseBlock from './common/PopupCourseBlock/PopupCourseBlock'; -import ScheduleDropdown from './common/ScheduleDropdown/ScheduleDropdown'; -import ScheduleListItem from './common/ScheduleListItem/ScheduleListItem'; +import PopupCourseBlock from './common/PopupCourseBlock'; +import ScheduleDropdown from './common/ScheduleDropdown'; +import ScheduleListItem from './common/ScheduleListItem'; /** * Renders the main popup component. diff --git a/src/views/components/calendar/Calendar/Calendar.tsx b/src/views/components/calendar/Calendar.tsx similarity index 92% rename from src/views/components/calendar/Calendar/Calendar.tsx rename to src/views/components/calendar/Calendar.tsx index 12531782..b0429cc0 100644 --- a/src/views/components/calendar/Calendar/Calendar.tsx +++ b/src/views/components/calendar/Calendar.tsx @@ -1,18 +1,18 @@ import type { CalendarTabMessages } from '@shared/messages/CalendarMessages'; import type { Course } from '@shared/types/Course'; -import CalendarBottomBar from '@views/components/calendar/CalendarBottomBar/CalendarBottomBar'; -import CalendarGrid from '@views/components/calendar/CalendarGrid/CalendarGrid'; -import CalendarHeader from '@views/components/calendar/CalendarHeader/CalenderHeader'; -import { CalendarSchedules } from '@views/components/calendar/CalendarSchedules/CalendarSchedules'; +import CalendarBottomBar from '@views/components/calendar/CalendarBottomBar'; +import CalendarGrid from '@views/components/calendar/CalendarGrid'; +import { CalendarSchedules } from '@views/components/calendar/CalendarSchedules'; +import CalendarHeader from '@views/components/calendar/CalenderHeader'; import ImportantLinks from '@views/components/calendar/ImportantLinks'; -import Divider from '@views/components/common/Divider/Divider'; +import Divider from '@views/components/common/Divider'; import CourseCatalogInjectedPopup from '@views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup'; import { useFlattenedCourseSchedule } from '@views/hooks/useFlattenedCourseSchedule'; import { MessageListener } from 'chrome-extension-toolkit'; import React, { useEffect, useRef, useState } from 'react'; -import CalendarFooter from '../CalendarFooter'; -import TeamLinks from '../TeamLinks'; +import CalendarFooter from './CalendarFooter'; +import TeamLinks from './TeamLinks'; /** * Calendar page component diff --git a/src/views/components/calendar/CalendarBottomBar/CalendarBottomBar.tsx b/src/views/components/calendar/CalendarBottomBar.tsx similarity index 89% rename from src/views/components/calendar/CalendarBottomBar/CalendarBottomBar.tsx rename to src/views/components/calendar/CalendarBottomBar.tsx index a6cdb21f..9466809b 100644 --- a/src/views/components/calendar/CalendarBottomBar/CalendarBottomBar.tsx +++ b/src/views/components/calendar/CalendarBottomBar.tsx @@ -1,6 +1,6 @@ import { saveAsCal, saveCalAsPng } from '@views/components/calendar/utils'; -import { Button } from '@views/components/common/Button/Button'; -import Divider from '@views/components/common/Divider/Divider'; +import { Button } from '@views/components/common/Button'; +import Divider from '@views/components/common/Divider'; import Text from '@views/components/common/Text/Text'; import clsx from 'clsx'; import React from 'react'; @@ -8,8 +8,8 @@ import React from 'react'; import CalendarMonthIcon from '~icons/material-symbols/calendar-month'; import ImageIcon from '~icons/material-symbols/image'; -import type { CalendarCourseCellProps } from '../CalendarCourseCell/CalendarCourseCell'; -import CalendarCourseBlock from '../CalendarCourseCell/CalendarCourseCell'; +import type { CalendarCourseCellProps } from './CalendarCourseCell'; +import CalendarCourseBlock from './CalendarCourseCell'; type CalendarBottomBarProps = { courses?: CalendarCourseCellProps[]; diff --git a/src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.module.scss b/src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.module.scss deleted file mode 100644 index 43cef66a..00000000 --- a/src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.module.scss +++ /dev/null @@ -1,34 +0,0 @@ -.component { - display: flex; - padding: 7px 7px 9px 7px; - flex-direction: column; - align-items: flex-start; - gap: 5px; - flex: 1 0 0; - align-self: stretch; - border-radius: 4px; - background: #cbd5e1; - .content { - display: flex; - gap: 7px; - .course-detail { - display: flex; - flex-direction: column; - gap: 5px; - width: 154px; - .course { - font-size: 16px; - line-height: 16px; - font-weight: 600; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - .time-and-location { - font-size: 11px; - line-height: 11px; - font-weight: 400; - } - } - } -} diff --git a/src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.tsx b/src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.tsx deleted file mode 100644 index 49b947f7..00000000 --- a/src/views/components/calendar/CalendarCourseBlock/CalendarCourseMeeting.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import type { Course } from '@shared/types/Course'; -import React from 'react'; - -import styles from './CalendarCourseMeeting.module.scss'; - -/** - * Props for the CalendarCourseMeeting component. - */ -export interface CalendarCourseMeetingProps { - /** The Course that the meeting is for. */ - course: Course; - /* index into course meeting array to display */ - meetingIdx?: number; -} - -/** - * `CalendarCourseMeeting` is a functional component that displays a course meeting. - * - * @example - * - */ -export default function CalendarCourseMeeting({ course, meetingIdx }: CalendarCourseMeetingProps): JSX.Element | null { - let meeting = meetingIdx !== undefined ? course.schedule.meetings[meetingIdx] : undefined; - - if (!meeting) { - return null; - } - - return ( -
-
-
-
- {course.department} {course.number} - {course.instructors[0]?.lastName} -
-
- {`${meeting.getTimeString({ separator: '-', capitalize: true })}${ - meeting.location ? ` - ${meeting.location.building}` : '' - }`} -
-
-
-
- ); -} diff --git a/src/views/components/calendar/CalendarCourseCell/CalendarCourseCell.tsx b/src/views/components/calendar/CalendarCourseCell.tsx similarity index 100% rename from src/views/components/calendar/CalendarCourseCell/CalendarCourseCell.tsx rename to src/views/components/calendar/CalendarCourseCell.tsx diff --git a/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx b/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx index 393243cc..8d473851 100644 --- a/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx +++ b/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx @@ -1,6 +1,6 @@ import type { ThemeColor, TWIndex } from '@shared/types/ThemeColors'; import { getThemeColorHexByName } from '@shared/util/themeColors'; -import Divider from '@views/components/common/Divider/Divider'; +import Divider from '@views/components/common/Divider'; import React from 'react'; import { theme } from 'unocss/preset-mini'; diff --git a/src/views/components/calendar/CalendarFooter.tsx b/src/views/components/calendar/CalendarFooter.tsx index 823a5d2a..aae71b71 100644 --- a/src/views/components/calendar/CalendarFooter.tsx +++ b/src/views/components/calendar/CalendarFooter.tsx @@ -4,7 +4,7 @@ import DiscordIcon from '~icons/ri/discord-line'; import GithubIcon from '~icons/ri/github-fill'; import InstagramIcon from '~icons/ri/instagram-line'; -import Link from '../common/Link/Link'; +import Link from '../common/Link'; /** * The footer section of the calendar's sidebar diff --git a/src/views/components/calendar/CalendarGrid/CalendarGrid.tsx b/src/views/components/calendar/CalendarGrid.tsx similarity index 98% rename from src/views/components/calendar/CalendarGrid/CalendarGrid.tsx rename to src/views/components/calendar/CalendarGrid.tsx index b5b1e39f..85c6f6b1 100644 --- a/src/views/components/calendar/CalendarGrid/CalendarGrid.tsx +++ b/src/views/components/calendar/CalendarGrid.tsx @@ -1,10 +1,10 @@ import type { Course } from '@shared/types/Course'; -import CalendarCourseCell from '@views/components/calendar/CalendarCourseCell/CalendarCourseCell'; +import CalendarCourseCell from '@views/components/calendar/CalendarCourseCell'; import Text from '@views/components/common/Text/Text'; import type { CalendarGridCourse } from '@views/hooks/useFlattenedCourseSchedule'; import React from 'react'; -import CalendarCell from '../CalendarGridCell/CalendarGridCell'; +import CalendarCell from './CalendarGridCell'; const daysOfWeek = ['MON', 'TUE', 'WED', 'THU', 'FRI']; const hoursOfDay = Array.from({ length: 14 }, (_, index) => index + 8); diff --git a/src/views/components/calendar/CalendarGridCell/CalendarGridCell.tsx b/src/views/components/calendar/CalendarGridCell.tsx similarity index 100% rename from src/views/components/calendar/CalendarGridCell/CalendarGridCell.tsx rename to src/views/components/calendar/CalendarGridCell.tsx diff --git a/src/views/components/calendar/CalendarSchedules/CalendarSchedules.tsx b/src/views/components/calendar/CalendarSchedules.tsx similarity index 94% rename from src/views/components/calendar/CalendarSchedules/CalendarSchedules.tsx rename to src/views/components/calendar/CalendarSchedules.tsx index 81a492ac..4320239b 100644 --- a/src/views/components/calendar/CalendarSchedules/CalendarSchedules.tsx +++ b/src/views/components/calendar/CalendarSchedules.tsx @@ -1,8 +1,8 @@ import createSchedule from '@pages/background/lib/createSchedule'; import { UserScheduleStore } from '@shared/storage/UserScheduleStore'; -import { Button } from '@views/components/common/Button/Button'; -import List from '@views/components/common/List/List'; -import ScheduleListItem from '@views/components/common/ScheduleListItem/ScheduleListItem'; +import { Button } from '@views/components/common/Button'; +import List from '@views/components/common/List'; +import ScheduleListItem from '@views/components/common/ScheduleListItem'; import Text from '@views/components/common/Text/Text'; import useSchedules, { getActiveSchedule, switchSchedule } from '@views/hooks/useSchedules'; import React from 'react'; diff --git a/src/views/components/calendar/CalendarHeader/CalenderHeader.tsx b/src/views/components/calendar/CalenderHeader.tsx similarity index 91% rename from src/views/components/calendar/CalendarHeader/CalenderHeader.tsx rename to src/views/components/calendar/CalenderHeader.tsx index cbf268f2..43207c83 100644 --- a/src/views/components/calendar/CalendarHeader/CalenderHeader.tsx +++ b/src/views/components/calendar/CalenderHeader.tsx @@ -1,9 +1,9 @@ import { Status } from '@shared/types/Course'; -import { Button } from '@views/components/common/Button/Button'; -import CourseStatus from '@views/components/common/CourseStatus/CourseStatus'; -import Divider from '@views/components/common/Divider/Divider'; +import { Button } from '@views/components/common/Button'; +import CourseStatus from '@views/components/common/CourseStatus'; +import Divider from '@views/components/common/Divider'; import { LargeLogo } from '@views/components/common/LogoIcon'; -import ScheduleTotalHoursAndCourses from '@views/components/common/ScheduleTotalHoursAndCourses/ScheduleTotalHoursAndCourses'; +import ScheduleTotalHoursAndCourses from '@views/components/common/ScheduleTotalHoursAndCourses'; import Text from '@views/components/common/Text/Text'; import useSchedules from '@views/hooks/useSchedules'; import { getUpdatedAtDateTimeString } from '@views/lib/getUpdatedAtDateTimeString'; diff --git a/src/views/components/common/Button/Button.tsx b/src/views/components/common/Button.tsx similarity index 100% rename from src/views/components/common/Button/Button.tsx rename to src/views/components/common/Button.tsx diff --git a/src/views/components/common/Card/Card.module.scss b/src/views/components/common/Card/Card.module.scss deleted file mode 100644 index 35623aa8..00000000 --- a/src/views/components/common/Card/Card.module.scss +++ /dev/null @@ -1,10 +0,0 @@ -@use 'src/views/styles/colors.module.scss'; - -.card { - background: colors.$white; - border: 0.5px dotted #c3cee0; - box-sizing: border-box; - - box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); - border-radius: 8px; -} diff --git a/src/views/components/common/Card/Card.tsx b/src/views/components/common/Card/Card.tsx deleted file mode 100644 index 900cb057..00000000 --- a/src/views/components/common/Card/Card.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import clsx from 'clsx'; -import React from 'react'; - -import styles from './Card.module.scss'; - -/** - * Props for the Card component. - */ -export type Props = { - style?: React.CSSProperties; - className?: string; - onClick?: (...args: unknown[]) => void; - children?: React.ReactNode; - testId?: string; -}; - -/** - * A reusable Card component that can be used to wrap other components - */ -export default function Card(props: Props) { - return ( -
- {props.children} -
- ); -} diff --git a/src/views/components/common/Chip/Chip.tsx b/src/views/components/common/Chip.tsx similarity index 100% rename from src/views/components/common/Chip/Chip.tsx rename to src/views/components/common/Chip.tsx diff --git a/src/views/components/common/ConflictsWithWarning/ConflictsWithWarning.tsx b/src/views/components/common/ConflictsWithWarning.tsx similarity index 100% rename from src/views/components/common/ConflictsWithWarning/ConflictsWithWarning.tsx rename to src/views/components/common/ConflictsWithWarning.tsx diff --git a/src/views/components/common/CourseStatus/CourseStatus.tsx b/src/views/components/common/CourseStatus.tsx similarity index 100% rename from src/views/components/common/CourseStatus/CourseStatus.tsx rename to src/views/components/common/CourseStatus.tsx diff --git a/src/views/components/common/Dialog/Dialog.tsx b/src/views/components/common/Dialog.tsx similarity index 97% rename from src/views/components/common/Dialog/Dialog.tsx rename to src/views/components/common/Dialog.tsx index 260e2f60..43023ea4 100644 --- a/src/views/components/common/Dialog/Dialog.tsx +++ b/src/views/components/common/Dialog.tsx @@ -4,7 +4,7 @@ import clsx from 'clsx'; import type { PropsWithChildren } from 'react'; import React, { Fragment } from 'react'; -import ExtensionRoot from '../ExtensionRoot/ExtensionRoot'; +import ExtensionRoot from './ExtensionRoot/ExtensionRoot'; export interface _DialogProps { className?: string; diff --git a/src/views/components/common/Divider/Divider.tsx b/src/views/components/common/Divider.tsx similarity index 100% rename from src/views/components/common/Divider/Divider.tsx rename to src/views/components/common/Divider.tsx diff --git a/src/views/components/common/InfoCard/InfoCard.tsx b/src/views/components/common/InfoCard.tsx similarity index 100% rename from src/views/components/common/InfoCard/InfoCard.tsx rename to src/views/components/common/InfoCard.tsx diff --git a/src/views/components/common/Link/Link.tsx b/src/views/components/common/Link.tsx similarity index 100% rename from src/views/components/common/Link/Link.tsx rename to src/views/components/common/Link.tsx diff --git a/src/views/components/common/List/List.tsx b/src/views/components/common/List.tsx similarity index 99% rename from src/views/components/common/List/List.tsx rename to src/views/components/common/List.tsx index 8cbe8060..a967aaa5 100644 --- a/src/views/components/common/List/List.tsx +++ b/src/views/components/common/List.tsx @@ -3,7 +3,7 @@ import { DragDropContext, Draggable, Droppable } from '@hello-pangea/dnd'; import type { ReactElement } from 'react'; import React, { useCallback, useEffect, useState } from 'react'; -import ExtensionRoot from '../ExtensionRoot/ExtensionRoot'; +import ExtensionRoot from './ExtensionRoot/ExtensionRoot'; /* * Ctrl + f dragHandleProps on PopupCourseBlock.tsx for example implementation of drag handle (two lines of code) diff --git a/src/views/components/common/PopupCourseBlock/PopupCourseBlock.tsx b/src/views/components/common/PopupCourseBlock.tsx similarity index 100% rename from src/views/components/common/PopupCourseBlock/PopupCourseBlock.tsx rename to src/views/components/common/PopupCourseBlock.tsx diff --git a/src/views/components/common/Prompt/Prompt.tsx b/src/views/components/common/Prompt.tsx similarity index 96% rename from src/views/components/common/Prompt/Prompt.tsx rename to src/views/components/common/Prompt.tsx index 302b4b0a..c7cf3411 100644 --- a/src/views/components/common/Prompt/Prompt.tsx +++ b/src/views/components/common/Prompt.tsx @@ -2,8 +2,8 @@ import { Dialog, Transition } from '@headlessui/react'; import type { ReactElement } from 'react'; import React from 'react'; -import type { Button } from '../Button/Button'; -import type Text from '../Text/Text'; +import type { Button } from './Button'; +import type Text from './Text/Text'; /** * Props for the PromptDialog component. diff --git a/src/views/components/common/ScheduleDropdown/ScheduleDropdown.tsx b/src/views/components/common/ScheduleDropdown.tsx similarity index 100% rename from src/views/components/common/ScheduleDropdown/ScheduleDropdown.tsx rename to src/views/components/common/ScheduleDropdown.tsx diff --git a/src/views/components/common/ScheduleListItem/ScheduleListItem.tsx b/src/views/components/common/ScheduleListItem.tsx similarity index 100% rename from src/views/components/common/ScheduleListItem/ScheduleListItem.tsx rename to src/views/components/common/ScheduleListItem.tsx diff --git a/src/views/components/common/ScheduleTotalHoursAndCourses/ScheduleTotalHoursAndCourses.tsx b/src/views/components/common/ScheduleTotalHoursAndCourses.tsx similarity index 100% rename from src/views/components/common/ScheduleTotalHoursAndCourses/ScheduleTotalHoursAndCourses.tsx rename to src/views/components/common/ScheduleTotalHoursAndCourses.tsx diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx index ff92ec05..714e80a7 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx @@ -1,6 +1,6 @@ import type { Course } from '@shared/types/Course'; -import type { DialogProps } from '@views/components/common/Dialog/Dialog'; -import Dialog from '@views/components/common/Dialog/Dialog'; +import type { DialogProps } from '@views/components/common/Dialog'; +import Dialog from '@views/components/common/Dialog'; import useSchedules from '@views/hooks/useSchedules'; import React from 'react'; diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx index 411a2315..d8ed6954 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx @@ -2,10 +2,10 @@ import { background } from '@shared/messages'; import type { Course } from '@shared/types/Course'; import type Instructor from '@shared/types/Instructor'; import type { UserSchedule } from '@shared/types/UserSchedule'; -import { Button } from '@views/components/common/Button/Button'; -import { Chip, flagMap } from '@views/components/common/Chip/Chip'; -import Divider from '@views/components/common/Divider/Divider'; -import Link from '@views/components/common/Link/Link'; +import { Button } from '@views/components/common/Button'; +import { Chip, flagMap } from '@views/components/common/Chip'; +import Divider from '@views/components/common/Divider'; +import Link from '@views/components/common/Link'; import Text from '@views/components/common/Text/Text'; import React from 'react'; diff --git a/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx b/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx index cd636f74..6072f758 100644 --- a/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx +++ b/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx @@ -1,4 +1,4 @@ -import Link from '@views/components/common/Link/Link'; +import Link from '@views/components/common/Link'; import Text from '@views/components/common/Text/Text'; import React, { useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; diff --git a/src/views/components/injected/TableRow/TableRow.tsx b/src/views/components/injected/TableRow/TableRow.tsx index c1addabe..8ef20cd0 100644 --- a/src/views/components/injected/TableRow/TableRow.tsx +++ b/src/views/components/injected/TableRow/TableRow.tsx @@ -1,6 +1,6 @@ import type { Course, ScrapedRow } from '@shared/types/Course'; import type { UserSchedule } from '@shared/types/UserSchedule'; -import ConflictsWithWarning from '@views/components/common/ConflictsWithWarning/ConflictsWithWarning'; +import ConflictsWithWarning from '@views/components/common/ConflictsWithWarning'; import ExtensionRoot from '@views/components/common/ExtensionRoot/ExtensionRoot'; import React, { useEffect, useState } from 'react'; import ReactDOM from 'react-dom'; diff --git a/src/views/hooks/useFlattenedCourseSchedule.ts b/src/views/hooks/useFlattenedCourseSchedule.ts index 66433f28..99ed5bbb 100644 --- a/src/views/hooks/useFlattenedCourseSchedule.ts +++ b/src/views/hooks/useFlattenedCourseSchedule.ts @@ -3,7 +3,7 @@ import type { Course, StatusType } from '@shared/types/Course'; import type { CourseMeeting } from '@shared/types/CourseMeeting'; import { colors } from '@shared/types/ThemeColors'; import type { UserSchedule } from '@shared/types/UserSchedule'; -import type { CalendarCourseCellProps } from '@views/components/calendar/CalendarCourseCell/CalendarCourseCell'; +import type { CalendarCourseCellProps } from '@views/components/calendar/CalendarCourseCell'; import useSchedules from './useSchedules';