diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 99dfbf8..193bd43 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1,6 +1,6 @@
import React from 'react'
import { QueryClient, QueryClientProvider } from 'react-query'
-import { Route, Routes } from 'react-router-dom'
+import { Navigate, Route, Routes } from 'react-router-dom'
import './App.css'
import AddGroup from './views/coordinator/AddGroup'
import AddStudent from './views/coordinator/AddStudent'
@@ -10,6 +10,8 @@ import Groups from './views/coordinator/Groups'
import Leaders from './views/coordinator/Leaders'
import Students from './views/coordinator/Students'
import Login from './views/Login'
+import Enrollment from './views/student/Enrollment'
+import Student from './views/student/Student'
const queryClient = new QueryClient({
defaultOptions: {
@@ -26,7 +28,7 @@ function App() {
} />
}>
- } />
+ } />
} />
} />
} />
@@ -34,6 +36,10 @@ function App() {
} />
} />
+ }>
+ } />
+ } />
+
diff --git a/frontend/src/api/enrollment.ts b/frontend/src/api/enrollment.ts
new file mode 100644
index 0000000..0c130d2
--- /dev/null
+++ b/frontend/src/api/enrollment.ts
@@ -0,0 +1,21 @@
+import axiosInstance from './axiosInstance'
+
+export const getEnrollmentList = (
+ params: Partial<{
+ page: number
+ per_page: number
+ name: string
+ }>,
+) =>
+ axiosInstance.get<{
+ max_pages: number
+ project_supervisors: {
+ available_groups: number
+ first_name: string
+ last_name: string
+ email: string
+ mode: boolean
+ }[]
+ }>('http://127.0.0.1:5000/api/students/registrations/', {
+ params,
+ })
diff --git a/frontend/src/views/student/Enrollment.tsx b/frontend/src/views/student/Enrollment.tsx
new file mode 100644
index 0000000..b98a2e7
--- /dev/null
+++ b/frontend/src/views/student/Enrollment.tsx
@@ -0,0 +1,45 @@
+import { useQuery } from 'react-query'
+import { getEnrollmentList } from '../../api/enrollment'
+
+const Enrollment = () => {
+ const { isLoading, data: enrollmentData } = useQuery(['enrollment'], () =>
+ getEnrollmentList({ per_page: 1000 }),
+ )
+ if (isLoading) {
+ return
Ładowanie
+ }
+ return (
+
+
+
Opiekunowie
+
+
+
+
+ Imię |
+ Nazwisko |
+ Email |
+ Tryb |
+ Wolne miejsca |
+
+
+
+ {enrollmentData?.data?.project_supervisors?.map(
+ ({ first_name, last_name, email, mode, available_groups }) => (
+
+ {first_name} |
+ {last_name} |
+ {email} |
+ {mode ? 'stacjonarny' : 'niestacjonarny'} |
+ {available_groups} |
+
+ ),
+ )}
+
+
+
+
+ )
+}
+
+export default Enrollment
diff --git a/frontend/src/views/student/Student.tsx b/frontend/src/views/student/Student.tsx
new file mode 100644
index 0000000..ebbcf38
--- /dev/null
+++ b/frontend/src/views/student/Student.tsx
@@ -0,0 +1,15 @@
+import { Outlet } from 'react-router-dom'
+import TopBar from '../../components/TopBar'
+
+const Student = () => {
+ return (
+ <>
+
+
+
+
+ >
+ )
+}
+
+export default Student