From d96a0e11d0446a996e829c43c699a8200ab238f1 Mon Sep 17 00:00:00 2001 From: gmfenech Date: Thu, 3 Oct 2024 13:35:42 -0400 Subject: [PATCH 1/2] course duplicates removed from future semesters --- .husky/pre-commit | 1 + src/lib/state/api.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 3723623..a3499bb 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1,2 @@ +#!/bin/bash yarn lint-staged diff --git a/src/lib/state/api.ts b/src/lib/state/api.ts index 60d5a42..48d5f49 100644 --- a/src/lib/state/api.ts +++ b/src/lib/state/api.ts @@ -89,9 +89,9 @@ export class APIState { } get coursesNotDeleted() { - const courses = []; + const courses: Array<{id: string; year: number; semester: ESemester; subject: string; crse: string; title: string; description: string | null; prereqs: string | null; updatedAt: string; deletedAt: string | null; offered: string[] | null; minCredits: number; maxCredits: number}> = []; for (const course of this.courses) { - if (!course.deletedAt) { + if (!course.deletedAt && !courses.some(existingCourse => `${existingCourse.subject}${existingCourse.crse}` === `${course.subject}${course.crse}`)) { courses.push(course); } } From 59b31a53233f336e720363ee294629d434a6055c Mon Sep 17 00:00:00 2001 From: gmfenech Date: Thu, 3 Oct 2024 13:40:16 -0400 Subject: [PATCH 2/2] fix type --- src/lib/state/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/state/api.ts b/src/lib/state/api.ts index 48d5f49..bba74cd 100644 --- a/src/lib/state/api.ts +++ b/src/lib/state/api.ts @@ -89,7 +89,7 @@ export class APIState { } get coursesNotDeleted() { - const courses: Array<{id: string; year: number; semester: ESemester; subject: string; crse: string; title: string; description: string | null; prereqs: string | null; updatedAt: string; deletedAt: string | null; offered: string[] | null; minCredits: number; maxCredits: number}> = []; + const courses: ICourseFromAPI[] = []; for (const course of this.courses) { if (!course.deletedAt && !courses.some(existingCourse => `${existingCourse.subject}${existingCourse.crse}` === `${course.subject}${course.crse}`)) { courses.push(course);