Skip to content

Commit 13cc5f8

Browse files
authored
Kl/scrum 154 fix time strings (#101)
Co-authored-by: kevin-lann <[email protected]>
1 parent 234c1a4 commit 13cc5f8

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

course-matrix/frontend/src/pages/TimetableBuilder/TimetableBuilder.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import { CourseModel, TimetableGenerateResponseModel } from "@/models/models";
5353
import LoadingPage from "@/pages/Loading/LoadingPage";
5454
import { GeneratedCalendars } from "./GeneratedCalendars";
5555
import { Spinner } from "@/components/ui/spinner";
56+
import { convertRestrictionTimes } from "@/utils/convert-restriction-times";
5657

5758
type FormContextType = UseFormReturn<z.infer<typeof TimetableFormSchema>>;
5859
export const FormContext = createContext<FormContextType | null>(null);
@@ -283,9 +284,10 @@ const TimetableBuilder = () => {
283284
const handleGenerate = async (
284285
values: z.infer<typeof TimetableFormSchema>,
285286
) => {
286-
console.log(">> Timetable options:", values);
287287
try {
288-
const res = await generateTimetable(values);
288+
const newValues = convertRestrictionTimes(values);
289+
console.log(">> Timetable options:", newValues);
290+
const res = await generateTimetable(newValues);
289291
const data: TimetableGenerateResponseModel = res.data;
290292
setIsGeneratingTimetables(true);
291293
setGeneratedTimetables(data);
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { TimetableFormSchema } from "@/models/timetable-form";
2+
import { z } from "zod";
3+
4+
export function dateToTimeString(date: Date) {
5+
return date.toTimeString().split(" ")[0];
6+
}
7+
8+
export function convertRestrictionTimes(
9+
values: z.infer<typeof TimetableFormSchema>,
10+
) {
11+
let newValues: any = { ...values };
12+
let newRestrictions: any[] = [];
13+
for (const restriction of values.restrictions) {
14+
let newRestriction: any = { ...restriction };
15+
if (restriction.endTime) {
16+
newRestriction.endTime = dateToTimeString(restriction.endTime);
17+
console.log(newRestriction.endTime);
18+
}
19+
if (restriction.startTime) {
20+
newRestriction.startTime = dateToTimeString(restriction.startTime);
21+
console.log(newRestriction.startTime);
22+
}
23+
newRestrictions.push(newRestriction);
24+
}
25+
newValues.restrictions = newRestrictions;
26+
return newValues;
27+
}

0 commit comments

Comments
 (0)