updated Course schema

This commit is contained in:
Sriram Hariharan
2023-03-03 23:43:44 -06:00
parent f47ad8272f
commit 94e74deb24
2 changed files with 26 additions and 5 deletions

View File

@@ -2,14 +2,35 @@ import { Serialized } from 'chrome-extension-toolkit';
type CourseSchedule = {};
export class Course {
id: number;
type Professor = {
name: string;
professor: string;
firstName?: string;
initial?: string;
};
type InstructionMode = 'Online' | 'In Person' | 'Hybrid';
type Links = {
syllabi?: string;
textbook?: string;
rateMyProfessor?: string;
eCIS?: string;
};
export class Course {
uniqueId: number;
number: string;
name: string;
department: string;
professor: Professor;
description?: string;
schedule: CourseSchedule;
currentStatus: string;
url: string;
links: Links;
registerURL?: string;
flags: string[];
instructionMode: InstructionMode;
constructor(course: Course | Serialized<Course>) {
Object.assign(this, course);

View File

@@ -18,7 +18,7 @@ export default function CourseCatalogMain({ support }: Props) {
const [rows, setRows] = React.useState<HTMLTableRowElement[]>([]);
const [selectedCourse, setSelectedCourse] = React.useState<Course | null>(null);
const isInfiniteScrollLoading = useInfiniteScroll(async () => {
const isScrolling = useInfiniteScroll(async () => {
console.log('infinite scroll');
return false;
});
@@ -38,7 +38,7 @@ export default function CourseCatalogMain({ support }: Props) {
{rows.map(row => (
<TableRow row={row} />
))}
{isInfiniteScrollLoading && <div>Scrolling...</div>}
{isScrolling && <div>Scrolling...</div>}
</div>
);
}