@@ -11,7 +11,7 @@ import {UserDto} from "../dtos/UserDto";
1111const subjects = [
1212 { name : "Algorithmen und Datenstrukturen" , date : "17.02.2025" , time : "10:30" , room : "HQ.120" , progress : 70 } ,
1313 { name : "Mathematik III" , date : "29.01.2025" , time : "08:30" , room : "KA.046" , progress : 50 } ,
14- { name : "Rechnerkommunikation " , date : "15.02.2025" , time : "08:30" , room : "HQ.120" , progress : 40 } ,
14+ { name : "Mensch-Computer-Interaktion " , date : "15.02.2025" , time : "08:30" , room : "HQ.120" , progress : 40 } ,
1515 { name : "Software Engineering" , date : "27.01.2025" , time : "14:00" , room : "KA.046" , progress : 80 } ,
1616] ;
1717
@@ -22,10 +22,21 @@ export default function YourStudies() {
2222 const [ editProfile , setEditProfile ] = useState ( false ) ;
2323 const [ profileName , setProfileName ] = useState ( user ?. username ) ;
2424
25+ const filterMeetingsForCurrentWeek = ( meetings : MeetingDto [ ] ) => {
26+ const currentDate = new Date ( ) ;
27+ const startOfWeek = new Date ( currentDate . setDate ( currentDate . getDate ( ) - currentDate . getDay ( ) + 1 ) ) ;
28+ const endOfWeek = new Date ( currentDate . setDate ( startOfWeek . getDate ( ) + 6 ) ) ;
29+
30+ return meetings . filter ( ( meeting ) => {
31+ const meetingDate = new Date ( meeting . dateFrom ) ;
32+ return meetingDate >= startOfWeek && meetingDate <= endOfWeek ;
33+ } ) ;
34+ } ;
35+
2536 const fetchMeetings = async ( ) => {
2637 try {
2738 const response = await getMeetingsOfWeek ( axiosInstance ) ;
28- setWeeklyMeetings ( response ) ;
39+ setWeeklyMeetings ( filterMeetingsForCurrentWeek ( response ) ) ;
2940 } catch ( error ) {
3041 alert ( "Fehler beim Abrufen der Meetings: " + error ) ;
3142 }
0 commit comments