diff --git a/frontend/src/api/enrollment.ts b/frontend/src/api/enrollment.ts index 0c130d2..34de29a 100644 --- a/frontend/src/api/enrollment.ts +++ b/frontend/src/api/enrollment.ts @@ -5,6 +5,7 @@ export const getEnrollmentList = ( page: number per_page: number name: string + mode: boolean }>, ) => axiosInstance.get<{ diff --git a/frontend/src/views/coordinator/Leaders.tsx b/frontend/src/views/coordinator/Leaders.tsx index 76c175e..a9a8886 100644 --- a/frontend/src/views/coordinator/Leaders.tsx +++ b/frontend/src/views/coordinator/Leaders.tsx @@ -104,9 +104,9 @@ const Leaders = () => { {limit_group} {count_groups} - {mode == 0 + {mode === 0 ? 'Stacjonarny' - : mode == 1 + : mode === 1 ? 'Niestacjonarny' : 'Nie/stacjonarny'} diff --git a/frontend/src/views/student/Enrollment.tsx b/frontend/src/views/student/Enrollment.tsx index b98a2e7..b89d06e 100644 --- a/frontend/src/views/student/Enrollment.tsx +++ b/frontend/src/views/student/Enrollment.tsx @@ -1,17 +1,43 @@ +import { useState } from 'react' import { useQuery } from 'react-query' import { getEnrollmentList } from '../../api/enrollment' const Enrollment = () => { - const { isLoading, data: enrollmentData } = useQuery(['enrollment'], () => - getEnrollmentList({ per_page: 1000 }), + const [showAvailable, setShowAvailable] = useState(false) + const [mode, setMode] = useState(true) + const { isLoading, data: enrollmentData } = useQuery( + ['enrollment', mode], + () => getEnrollmentList({ per_page: 1000, mode }), ) if (isLoading) { return
Ładowanie
} return (
-
-

Opiekunowie

+
+

Opiekunowie:

+
+ + +
+
@@ -24,17 +50,21 @@ const Enrollment = () => { - {enrollmentData?.data?.project_supervisors?.map( - ({ first_name, last_name, email, mode, available_groups }) => ( - - - - - - - - ), - )} + {enrollmentData?.data?.project_supervisors + ?.filter( + ({ available_groups }) => available_groups || !showAvailable, + ) + .map( + ({ first_name, last_name, email, mode, available_groups }) => ( + + + + + + + + ), + )}
{first_name}{last_name}{email}{mode ? 'stacjonarny' : 'niestacjonarny'}{available_groups}
{first_name}{last_name}{email}{mode ? 'stacjonarny' : 'niestacjonarny'}{available_groups}