Skip to content

Commit

Permalink
fix: type issues by using correct import (#111)
Browse files Browse the repository at this point in the history
* fix: use StatusType

* fix: use AutoLoadStatus

* fix: use typof SiteSupport.*

* fix: one more of Status to StatusType

* fix: use import type

* fix: use path alias imports

* fix: use Extract

* fix: remove unnecessary import
  • Loading branch information
DhruvArora-03 authored and doprz committed Mar 6, 2024
1 parent 8c069b7 commit 19fe070
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 23 deletions.
29 changes: 14 additions & 15 deletions src/views/components/CourseCatalogMain.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
import type { Course, ScrapedRow } from '@shared/types/Course';
import React, { useEffect, useState } from 'react';

import { useKeyPress } from '../hooks/useKeyPress';
import useSchedules from '../hooks/useSchedules';
import { CourseCatalogScraper } from '../lib/CourseCatalogScraper';
import getCourseTableRows from '../lib/getCourseTableRows';
import type { SiteSupport } from '../lib/getSiteSupport';
import { populateSearchInputs } from '../lib/populateSearchInputs';
import ExtensionRoot from './common/ExtensionRoot/ExtensionRoot';
import AutoLoad from './injected/AutoLoad/AutoLoad';
import CourseCatalogInjectedPopup from './injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup';
import CoursePopup from './injected/CoursePopupOld/CoursePopup';
import RecruitmentBanner from './injected/RecruitmentBanner/RecruitmentBanner';
import TableHead from './injected/TableHead';
import TableRow from './injected/TableRow/TableRow';
import TableSubheading from './injected/TableSubheading/TableSubheading';
import AutoLoad from '@views/components/injected/AutoLoad/AutoLoad';
import CourseCatalogInjectedPopup from '@views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup';
import RecruitmentBanner from '@views/components/injected/RecruitmentBanner/RecruitmentBanner';
import TableHead from '@views/components/injected/TableHead';
import TableRow from '@views/components/injected/TableRow/TableRow';
import TableSubheading from '@views/components/injected/TableSubheading/TableSubheading';
import { useKeyPress } from '@views/hooks/useKeyPress';
import useSchedules from '@views/hooks/useSchedules';
import { CourseCatalogScraper } from '@views/lib/CourseCatalogScraper';
import getCourseTableRows from '@views/lib/getCourseTableRows';
import type { SiteSupportType } from '@views/lib/getSiteSupport';
import { populateSearchInputs } from '@views/lib/populateSearchInputs';
import ExtensionRoot from '@views/components/common/ExtensionRoot/ExtensionRoot';

interface Props {
support: SiteSupport.COURSE_CATALOG_DETAILS | SiteSupport.COURSE_CATALOG_LIST;
support: Extract<SiteSupportType, 'COURSE_CATALOG_DETAILS' | 'COURSE_CATALOG_LIST'>;
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Status } from '@shared/types/Course';
import { Status, StatusType } from '@shared/types/Course';
import Text from '@views/components/common/Text/Text';
import clsx from 'clsx';
import React from 'react';
Expand All @@ -15,7 +15,7 @@ import CancelledIcon from '~icons/material-symbols/warning';
export interface CalendarCourseCellProps {
courseDeptAndInstr: string;
timeAndLocation?: string;
status: Status;
status: StatusType;
colors: CourseColors;
className?: string;
}
Expand All @@ -27,7 +27,7 @@ export interface CalendarCourseCellProps {
* @param {CalendarCourseCellProps} props - The component props.
* @param {string} props.courseDeptAndInstr - The course department and instructor.
* @param {string} props.timeAndLocation - The time and location of the course.
* @param {Status} props.status - The status of the course.
* @param {StatusType} props.status - The status of the course.
* @param {Colors} props.colors - The colors for styling the cell.
* @param {string} props.className - Additional CSS class name for the cell.
* @returns {JSX.Element} The rendered component.
Expand Down
4 changes: 2 additions & 2 deletions src/views/components/common/CourseStatus/CourseStatus.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { Status } from '@shared/types/Course';
import type { StatusType } from '@shared/types/Course';
import { StatusIcon } from '@shared/util/icons';
import clsx from 'clsx';
import React from 'react';
Expand All @@ -11,7 +11,7 @@ type SizeType = 'small' | 'mini';
* Props for CourseStatus
*/
export interface CourseStatusProps {
status: Status;
status: StatusType;
size: SizeType;
}

Expand Down
3 changes: 2 additions & 1 deletion src/views/components/injected/AutoLoad/AutoLoad.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import type { ScrapedRow } from '@shared/types/Course';
import useInfiniteScroll from '@views/hooks/useInfiniteScroll';
import { CourseCatalogScraper } from '@views/lib/CourseCatalogScraper';
import { SiteSupport } from '@views/lib/getSiteSupport';
import type { AutoLoadStatusType } from '@views/lib/loadNextCourseCatalogPage';
import {
AutoLoadStatus,
loadNextCourseCatalogPage,
Expand All @@ -22,7 +23,7 @@ type Props = {
*/
export default function AutoLoad({ addRows }: Props) {
const [container, setContainer] = useState<HTMLDivElement | null>(null);
const [status, setStatus] = useState<AutoLoadStatus>(AutoLoadStatus.IDLE);
const [status, setStatus] = useState<AutoLoadStatusType>(AutoLoadStatus.IDLE);

useEffect(() => {
const portalContainer = document.createElement('div');
Expand Down
4 changes: 2 additions & 2 deletions src/views/lib/CourseCatalogScraper.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { InstructionMode, ScrapedRow, Semester } from '@shared/types/Course';
import type { InstructionMode, ScrapedRow, Semester, StatusType } from '@shared/types/Course';
import { Course, Status } from '@shared/types/Course';
import { CourseSchedule } from '@shared/types/CourseSchedule';
import Instructor from '@shared/types/Instructor';
Expand Down Expand Up @@ -278,7 +278,7 @@ export class CourseCatalogScraper {
* @param row the row of the course catalog table
* @returns
*/
getStatus(row: HTMLTableRowElement): [status: Status, isReserved: boolean] {
getStatus(row: HTMLTableRowElement): [status: StatusType, isReserved: boolean] {
const div = row.querySelector(TableDataSelector.STATUS);
if (!div) {
throw new Error('Status not found');
Expand Down

0 comments on commit 19fe070

Please sign in to comment.