Skip to content

Commit 9a00aa1

Browse files
author
Alexandra Zwinger
committed
Small changes
1 parent 1bee7f5 commit 9a00aa1

File tree

4 files changed

+23
-7
lines changed

4 files changed

+23
-7
lines changed

src/components/calendar/meeting/ExamDateModal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ interface Props {
88
isOpen: boolean;
99
modules: UserModule[];
1010
onClose: () => void;
11-
onSubmit: (moduleName: string, date: string, time: string, room: string) => void;
11+
onSubmit: (moduleName: string, date: string, time: string, room: string | undefined) => void;
1212
}
1313

1414
export default function ExamDateModal({isOpen, modules, onClose, onSubmit}: Props) {
@@ -20,7 +20,7 @@ export default function ExamDateModal({isOpen, modules, onClose, onSubmit}: Prop
2020
useEffect(() => {
2121
setDay(pick.examDate);
2222
setHour(pick.examTime);
23-
setLoc(pick.examLoc);
23+
setLoc(pick.examLoc ? pick.examLoc : "");
2424
}, [pick])
2525

2626
if (!isOpen) return null;

src/components/yourStudies/UserInfo.tsx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,28 @@ export default function UserInfo(props: { reload: boolean }) {
3636
async function fetchMeetings() {
3737
try {
3838
const resp = await getMeetingsOfWeek(axiosInstance);
39-
setWeeklyMeetings(resp);
39+
setWeeklyMeetings(filterMeetingsThisWeek(resp)); // this is necessary, because backend doesn't have filter function yet
4040
} catch (e) {
4141
console.error(e);
4242
}
4343
}
4444

45+
function filterMeetingsThisWeek(meetings: MeetingDto[]): MeetingDto[] {
46+
const now = new Date();
47+
const startOfWeek = new Date(now);
48+
startOfWeek.setDate(now.getDate() - now.getDay() + 1);
49+
startOfWeek.setHours(0, 0, 0, 0);
50+
51+
const endOfWeek = new Date(startOfWeek);
52+
endOfWeek.setDate(startOfWeek.getDate() + 6);
53+
endOfWeek.setHours(23, 59, 59, 999);
54+
55+
return meetings.filter(meeting => {
56+
const from = new Date(meeting.dateFrom);
57+
return from >= startOfWeek && from <= endOfWeek;
58+
});
59+
}
60+
4561
function calculateProgress(module: UserModule) {
4662
if (!module.chapter) return 0;
4763
let total = 0, checked = 0;
@@ -65,7 +81,7 @@ export default function UserInfo(props: { reload: boolean }) {
6581
const openExamModal = () => setIsExamModalOpen(true);
6682
const closeExamModal = () => setIsExamModalOpen(false);
6783

68-
const handleAddExam = async (moduleName: string, date: string, time: string, room: string) => {
84+
const handleAddExam = async (moduleName: string, date: string, time: string, room: string | undefined) => {
6985
const updated = modules.map(m =>
7086
m.name === moduleName
7187
? {...m, examDate: date, examLoc: room, examTime: time}

src/components/yourStudies/UserSettings.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ export default function UserSettings(props: { reload: boolean, setReload: Dispat
8787
name: module,
8888
chapter: [],
8989
examDate: "--",
90-
examLoc: "--",
91-
examTime: "--"
90+
examLoc: undefined,
91+
examTime: "--",
9292
}]);
9393
setModule("");
9494
if (!allModules.some(m => m.name.toUpperCase() === module.toUpperCase())) {

src/dtos/ModuleDto.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export type UserModule = {
22
name: string;
33
examDate: string;
4-
examLoc: string;
4+
examLoc: string | undefined;
55
examTime: string;
66
chapter: Chapter[];
77
}

0 commit comments

Comments
 (0)