import React from "react"; import { useContext, useEffect, useState } from "react"; import { Form, Button, Container, Table } from "react-bootstrap"; import { Link } from "wouter"; import MyNavbar from "../components/MyNavbar"; import UserContext from "../contexts/UserContext"; import { makeRequest } from "../utils.ts"; const ManagePage = () => { const [courseData, setCourseData] = useState([]); const { currentUser } = useContext(UserContext); const [showAddCourseForm, setShowAddCourseForm] = useState(false); const AddCourseForm = () => { const [name, setName] = useState(""); const [description, setDescription] = useState(""); const [username, setUsername] = useState(""); const [coursecode, setCoursecode] = useState(""); const submitCourseForm = () => { makeRequest({ endpoint: `course/${username}`, method: "POST", body: { course_code: coursecode, name, description, }, }) .then((resp) => resp.json()) .then((data) => { window.location.reload(); }); }; return (
{ e.preventDefault(); submitCourseForm(); }} > Course code setCoursecode(e.target.value)} /> Name setName(e.target.value)} /> Description setDescription(e.target.value)} /> Instructor Username setUsername(e.target.value)} />
); }; const sendDeleteCourseRequest = (cid) => { makeRequest({ endpoint: `course/${cid}`, method: "DELETE", }) .then((resp) => resp.json()) .then((data) => { window.location.reload(); }); }; useEffect(() => { makeRequest({ endpoint: `user/${currentUser.id}/courses`, method: "GET", }) .then((req) => req.json()) .then((data) => { setCourseData(data.courses); }) .catch((err) => { console.error(err); }); }, []); return (

Manage Courses

{currentUser.role === "admin" && ( )} {showAddCourseForm && } {courseData.map((course, k) => { return ( ); })}
# Course Code Name Instructor Manage
{course.id} {course.course_code} {course.name} {course.instructor}
Students
Course Content
Assignments {currentUser?.role === "admin" && (
)}
); }; export default ManagePage;