Manage students page #51

Merged
juggy1233 merged 3 commits from #45-manage-students-page into master 2023-04-13 18:09:16 -04:00
2 changed files with 65 additions and 0 deletions
Showing only changes of commit 4faecbd29c - Show all commits

View File

@@ -6,6 +6,7 @@ import LogoutPage from "./pages/LogoutPage";
import RegisterPage from "./pages/RegisterPage"; import RegisterPage from "./pages/RegisterPage";
import CoursePage from "./pages/CoursePage"; import CoursePage from "./pages/CoursePage";
import ManagePage from "./pages/ManagePage"; import ManagePage from "./pages/ManagePage";
import ManageStudentsPage from "./pages/ManageStudentsPage";
import AuthenticatedRoute from "./components/AuthenticatedRoute"; import AuthenticatedRoute from "./components/AuthenticatedRoute";
function App() { function App() {
@@ -47,6 +48,16 @@ function App() {
<ManagePage /> <ManagePage />
</AuthenticatedRoute> </AuthenticatedRoute>
</Route> </Route>
<Route path="/manage/:cid/students">
{(params) => {
return (
<AuthenticatedRoute>
<ManageStudentsPage cid={params.cid} />
</AuthenticatedRoute>
);
}}
</Route>
</div> </div>
); );
} }

View File

@@ -0,0 +1,54 @@
import { useEffect, useState } from "react";
import { Container, Table } from "react-bootstrap";
import MyNavbar from "../components/MyNavbar";
import { makeRequest } from "../utils.ts";
const ManageStutentsPage = ({cid}) => {
const [studentData, setStudentData] = useState([]);
useEffect(() => {
// makeRequest({
// url: `http://localhost:5000/course/${cid}/students`,
// method: "GET",
// })
// .then((req) => req.json())
// .then((data) => {
// setStudentData(data.courses);
// })
// .catch((err) => {
// console.error(err);
// });
}, []);
return (
<div>
<MyNavbar />
<Container className="p-5 border">
<h1 className="mb-4">Manage Students</h1>
<Table bordered striped hover>
<thead>
<tr>
<th>#</th>
<th>Username</th>
<th>Email</th>
<th>Manage</th>
</tr>
</thead>
<tbody>
{studentData.map((student, k) => {
return (
<tr key={k}>
<td>{student.id}</td>
<td>{student.username}</td>
<td>{student.email}</td>
</tr>
);
})}
</tbody>
</Table>
</Container>
</div>
);
};
export default ManageStutentsPage;