Skip to content

Commit 8782f18

Browse files
committed
removed unsused + duplicate code
1 parent f868483 commit 8782f18

8 files changed

Lines changed: 27 additions & 88 deletions

File tree

features/audit/audit-provider.tsx

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import type {
44
AuditRequirement,
55
CachedAuditData,
66
CompositeAuditData,
7-
CompositeAuditRequirement,
8-
DuplicateCourseRequirementFlag,
97
} from "@/domain/audit";
108
import type {
119
Course,
@@ -18,7 +16,6 @@ import { usePreferences } from "@/features/preferences/preferences-provider";
1816
import {
1917
calculateWeightedDegreeCompletion,
2018
getCompositeAuditRequirements,
21-
getDuplicateCourseRequirementFlags,
2219
} from "@/lib/audit-calculations";
2320
import {
2421
getAuditData,
@@ -39,10 +36,6 @@ type SemesterInfo = Record<StringSemester, Course[]>;
3936

4037
interface AuditContextValue {
4138
sections: AuditRequirement[];
42-
courses: Course[];
43-
compositeAuditData: CompositeAuditData;
44-
compositeRequirements: CompositeAuditRequirement[];
45-
duplicateCourseFlags: DuplicateCourseRequirementFlag[];
4639
history: AuditHistoryData;
4740
currentAuditId: string;
4841
currentAudit: AuditHistoryEntry;
@@ -61,8 +54,6 @@ interface AuditContextValue {
6154
requirementTitle: string,
6255
ruleTitle: string,
6356
) => Promise<CourseId | null>;
64-
removePlannedCourse: (courseId: CourseId) => Promise<boolean>;
65-
wipeAllPlannedCourses: () => Promise<number>;
6657
}
6758

6859
const AuditContext = createContext<AuditContextValue | null>(null);
@@ -111,11 +102,6 @@ export function AuditContextProvider({
111102
[compositeAuditData],
112103
);
113104
const courseMap = auditData?.courses ?? {};
114-
const compositeRequirements = sections;
115-
const duplicateCourseFlags = useMemo(
116-
() => getDuplicateCourseRequirementFlags(compositeAuditData),
117-
[compositeAuditData],
118-
);
119105
const progresses = useMemo(
120106
() => calculateWeightedDegreeCompletion(sections, courseMap),
121107
[courseMap, sections],
@@ -233,10 +219,6 @@ export function AuditContextProvider({
233219
<AuditContext.Provider
234220
value={{
235221
sections,
236-
courses: Object.values(courseMap),
237-
compositeAuditData,
238-
compositeRequirements,
239-
duplicateCourseFlags,
240222
history,
241223
semesters,
242224
currentAuditId,
@@ -256,8 +238,6 @@ export function AuditContextProvider({
256238
},
257239
courseMap,
258240
addPlannedCourse,
259-
removePlannedCourse,
260-
wipeAllPlannedCourses,
261241
}}
262242
>
263243
{children}

features/audit/components/audit-card.tsx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import type { AuditHistoryEntry } from "@/domain/audit";
21
import {
32
CopySimple,
43
DotsThree,
@@ -7,7 +6,9 @@ import {
76
} from "@phosphor-icons/react";
87
import React from "react";
98

10-
export interface DegreeAuditCardProps extends AuditHistoryEntry {
9+
export interface DegreeAuditCardProps {
10+
title?: string;
11+
percentage?: number;
1112
isSelected?: boolean;
1213
onToggle?: () => void;
1314
onRename?: (title: string) => void;
@@ -17,17 +18,15 @@ export interface DegreeAuditCardProps extends AuditHistoryEntry {
1718
* Sidebar variant - collapsible with caret icons and menu dots
1819
*/
1920
const DegreeAuditCard: React.FC<DegreeAuditCardProps> = ({
20-
title = "Degree Audit 1",
21-
majors = ["Informatics", "Design"],
22-
minors = ["Business"],
23-
percentage = 90,
21+
title,
22+
percentage,
2423
isSelected = false,
2524
onToggle,
2625
onRename,
2726
}) => {
2827
const [menuOpen, setMenuOpen] = React.useState(false);
2928
const [isEditing, setIsEditing] = React.useState(false);
30-
const [draftTitle, setDraftTitle] = React.useState(title);
29+
const [draftTitle, setDraftTitle] = React.useState(title ?? "");
3130

3231
React.useEffect(() => {
3332
if (!isSelected) {
@@ -43,12 +42,12 @@ const DegreeAuditCard: React.FC<DegreeAuditCardProps> = ({
4342
if (nextTitle && nextTitle !== title) {
4443
onRename?.(nextTitle);
4544
} else {
46-
setDraftTitle(title);
45+
setDraftTitle(title ?? "");
4746
}
4847
};
4948

5049
const startRename = () => {
51-
setDraftTitle(title);
50+
setDraftTitle(title ?? "");
5251
setIsEditing(true);
5352
setMenuOpen(false);
5453
};

features/audit/components/graph.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ type GraphProps = GraphStyleProps & {
2525
children?: React.ReactNode;
2626
bars: Bar[];
2727
tooltipContent?: (bar: Bar) => React.ReactNode;
28-
} & GraphStyleProps;
28+
};
2929

3030
function lowerOpacityColor(
3131
color: `rgb(${number}, ${number}, ${number})`,
@@ -50,7 +50,6 @@ type InnerDonutGraphStylingProps = {
5050

5151
type InnerDonutGraphProps = {
5252
bar: Bar;
53-
index: number;
5453
animatedProgress: number;
5554
animatedPlannedProgress: number;
5655
onMouseEnter: () => void;
@@ -176,7 +175,6 @@ const InnerDonutGraph = (props: InnerDonutGraphProps) => {
176175
bgOpacity = 0.1,
177176
...other
178177
} = props;
179-
// Calculate stroke-dasharray for circular progress
180178
const svgRef = useRef<SVGSVGElement>(null);
181179
const circumference = 2 * Math.PI * radius;
182180
const progressLength =
@@ -421,7 +419,6 @@ const MultiDonutGraph = (props: GraphProps) => {
421419
<InnerDonutGraph
422420
key={index}
423421
bar={bar}
424-
index={index}
425422
radius={startRadius - index * (strokeWidth + gap)}
426423
color={bar.color}
427424
animatedProgress={animatedProgress[index]?.current || 0}

features/audit/components/requirement-breakdown.tsx

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -117,27 +117,12 @@ const RequirementBadge = ({
117117
);
118118
};
119119

120-
const statusIcons = {
121-
Completed: {
122-
icon: null,
123-
color: "bg-[#ECF8D0] border-[#9FCA5B]",
124-
},
125-
Planned: {
126-
icon: null,
127-
color: "bg-course-applied border-gray-200",
128-
},
129-
"In Progress": {
130-
icon: null,
131-
color: "bg-course-in-progress border-gray-200",
132-
},
133-
"Not Started": {
134-
icon: null,
135-
color: "bg-course-unknown border-gray-200",
136-
},
137-
} as const satisfies Record<
138-
PlannableStatus,
139-
{ icon: React.ReactNode | null; color: string }
140-
>;
120+
const statusColors: Record<PlannableStatus, string> = {
121+
Completed: "bg-[#ECF8D0] border-[#9FCA5B]",
122+
Planned: "bg-course-applied border-gray-200",
123+
"In Progress": "bg-course-in-progress border-gray-200",
124+
"Not Started": "bg-course-unknown border-gray-200",
125+
};
141126

142127
// Course pill component matching Figma design
143128
const CoursePill = ({ course }: { course: Course }) => {
@@ -148,7 +133,7 @@ const CoursePill = ({ course }: { course: Course }) => {
148133
<div
149134
className={cn(
150135
"grid grid-cols-[100px_1fr_auto] items-center gap-4 px-4 py-3 rounded-lg text-sm w-full border text-gray-900",
151-
statusIcons[course.status].color,
136+
statusColors[course.status],
152137
)}
153138
>
154139
<span className="font-semibold min-w-[80px]">{course.code}</span>

features/audit/components/sidebar.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,6 @@ const Sidebar = () => {
6969
<DegreeAuditCard
7070
key={id}
7171
title={audit.title}
72-
majors={audit.majors}
73-
minors={audit.minors}
7472
percentage={audit.percentage}
7573
isSelected={currentAuditId === id}
7674
onToggle={() => {

features/catalog/components/course-add-modal.tsx

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ interface CourseAddModalProps {
3737

3838
interface CourseSearchData {
3939
searchQuery: string;
40-
requirement: string;
41-
catalogYear: string;
4240
department: string;
4341
lowerDivision: boolean;
4442
upperDivision: boolean;
@@ -62,7 +60,6 @@ function waitForNextPaint(): Promise<void> {
6260
}
6361

6462
interface CourseSearchContentProps {
65-
recommendedCourses?: CatalogCourse[];
6663
onSearchSubmit?: (formData: CourseSearchData) => void | Promise<void>;
6764
isLoading?: boolean;
6865
}
@@ -104,19 +101,13 @@ function DivisionToggle({
104101
}
105102

106103
function CourseSearchContent({
107-
recommendedCourses,
108104
onSearchSubmit,
109105
isLoading = false,
110106
}: CourseSearchContentProps) {
111-
const { recommendedCourses: sharedRecommendedCourses } =
112-
useCourseModalContext();
113-
const displayedRecommendedCourses = dedupeCatalogCoursesByCode(
114-
recommendedCourses ?? sharedRecommendedCourses,
115-
);
107+
const { recommendedCourses } = useCourseModalContext();
108+
const displayedRecommendedCourses = dedupeCatalogCoursesByCode(recommendedCourses);
116109
const [formData, setFormData] = useState<CourseSearchData>({
117110
searchQuery: "",
118-
requirement: "",
119-
catalogYear: "",
120111
department: "",
121112
lowerDivision: true,
122113
upperDivision: true,
@@ -505,17 +496,11 @@ export default function CourseAddModal({
505496

506497
return (
507498
<div
508-
className={cn(
509-
"fixed inset-0 z-50 flex items-center justify-center transition-all duration-200",
510-
isOpen ? "bg-black/50 opacity-100" : "opacity-0 pointer-events-none",
511-
)}
499+
className="fixed inset-0 z-50 flex items-center justify-center transition-all duration-200 bg-black/50 opacity-100"
512500
onClick={onClose}
513501
>
514502
<div
515-
className={cn(
516-
"bg-background rounded-md border border-dap-border shadow-2xl w-full max-w-[550px] max-h-[90vh] mx-4 transform transition-all duration-200 overflow-hidden",
517-
isOpen ? "scale-100 opacity-100" : "scale-95 opacity-0",
518-
)}
503+
className="bg-background rounded-md border border-dap-border shadow-2xl w-full max-w-[550px] max-h-[90vh] mx-4 transform transition-all duration-200 overflow-hidden scale-100 opacity-100"
519504
onClick={(e) => e.stopPropagation()}
520505
>
521506
<div className="px-7 pt-7 pb-7">

features/catalog/course-modal-provider.tsx

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ interface CourseModalContextType {
1818
recommendedCourses: CatalogCourse[];
1919
recommendationScope: RecommendationScope | null;
2020
isLoadingRecommendedCourses: boolean;
21-
toggleModal: () => void;
2221
openModal: (scope?: RecommendationScope) => void;
2322
closeModal: () => void;
2423
}
@@ -79,23 +78,24 @@ export const CourseModalContextProvider = ({
7978
recommendationScope?.ruleTitle,
8079
]);
8180

81+
const closeModal = () => {
82+
setIsOpen(false);
83+
setRecommendationScope(null);
84+
};
85+
8286
return (
8387
<CourseModalContext.Provider
8488
value={{
8589
isOpen,
8690
recommendedCourses,
8791
recommendationScope,
8892
isLoadingRecommendedCourses,
89-
toggleModal: () => setIsOpen(!isOpen),
9093
openModal: (scope) => {
9194
setRecommendedCourses([]);
9295
setRecommendationScope(scope ?? null);
9396
setIsOpen(true);
9497
},
95-
closeModal: () => {
96-
setIsOpen(false);
97-
setRecommendationScope(null);
98-
},
98+
closeModal,
9999
}}
100100
>
101101
{children}
@@ -105,10 +105,7 @@ export const CourseModalContextProvider = ({
105105
recommendedCourses={recommendedCourses}
106106
recommendationScope={recommendationScope}
107107
isLoading={isLoadingRecommendedCourses}
108-
onClose={() => {
109-
setIsOpen(false);
110-
setRecommendationScope(null);
111-
}}
108+
onClose={closeModal}
112109
/>
113110
</CourseModalContext.Provider>
114111
);

lib/audit-calculations.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ export function calculateWeightedDegreeCompletion(
8686
total: { current: 0, planned: 0, total: 0 },
8787
sections: [],
8888
};
89-
console.log("sections", sections);
9089
sections.forEach((section) => {
9190
const sectionProgress = {
9291
title: section.title,
@@ -138,6 +137,5 @@ export function calculateWeightedDegreeCompletion(
138137
(acc, section) => acc + section.progress.total,
139138
0,
140139
);
141-
console.log("[Audit Calculations] results", results);
142140
return results;
143141
}

0 commit comments

Comments
 (0)