Download frontend/src/utils/groupConflicts.ts from Jessedbrown/schedule-manager: direct link, hf CLI and curl.
- Browser
- Download file 857 Bytes
-
https://huggingface.co/Jessedbrown/schedule-manager/resolve/main/frontend/src/utils/groupConflicts.ts
- Command line
-
hf download hf://Jessedbrown/schedule-manager/frontend/src/utils/groupConflicts.ts
-
curl -L -o groupConflicts.ts https://huggingface.co/Jessedbrown/schedule-manager/resolve/main/frontend/src/utils/groupConflicts.ts
857 Bytes
| import type { ConflictDetail } from "@/types"; | |
| export interface GroupedConflicts { | |
| room: ConflictDetail[]; | |
| instructor: ConflictDetail[]; | |
| students: ConflictDetail[]; | |
| capacity: ConflictDetail[]; | |
| } | |
| /** | |
| * Group conflicts by type for organized display | |
| */ | |
| export function groupConflicts(conflicts: ConflictDetail[]): GroupedConflicts { | |
| const grouped: GroupedConflicts = { | |
| room: [], | |
| instructor: [], | |
| students: [], | |
| capacity: [], | |
| }; | |
| conflicts.forEach((conflict) => { | |
| if (conflict.type === "room") { | |
| grouped.room.push(conflict); | |
| } else if (conflict.type === "instructor") { | |
| grouped.instructor.push(conflict); | |
| } else if (conflict.type === "student") { | |
| grouped.students.push(conflict); | |
| } else if (conflict.type === "capacity") { | |
| grouped.capacity.push(conflict); | |
| } | |
| }); | |
| return grouped; | |
| } | |