From ddf8fd57a0a419a59c10c78c8dc92e1b5af18432 Mon Sep 17 00:00:00 2001 From: Jagraj Aulakh Date: Fri, 14 Apr 2023 14:59:14 -0400 Subject: [PATCH] #61 Added assignment widget on course page --- frontend/src/components/AssignmentsWidget.jsx | 43 +++++++++++++++++++ frontend/src/pages/CoursePage.jsx | 6 ++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 frontend/src/components/AssignmentsWidget.jsx diff --git a/frontend/src/components/AssignmentsWidget.jsx b/frontend/src/components/AssignmentsWidget.jsx new file mode 100644 index 0000000..3e3ee5e --- /dev/null +++ b/frontend/src/components/AssignmentsWidget.jsx @@ -0,0 +1,43 @@ +import { useContext, useEffect, useState } from "react"; +import { Card, Container } from "react-bootstrap"; +import { Link } from "wouter"; +import UserContext from "../contexts/UserContext"; +import { makeRequest } from "../utils.ts"; + +const AssignmentsWidget = ({ className = "", cid }) => { + const [assignmentData, setAssignmentData] = useState([]); + + useEffect(() => { + makeRequest({ endpoint: `course/${cid}/assignments` }) + .then((resp) => resp.json()) + .then((data) => { + setAssignmentData(data.assignments); + }); + }, [setAssignmentData]); + + return ( + +
+ {assignmentData.map((assignment, i) => { + return ( + + + + {assignment.name} + Due: {assignment.due_date} + + + + ); + })} +
+
+ ); +}; + +export default AssignmentsWidget; diff --git a/frontend/src/pages/CoursePage.jsx b/frontend/src/pages/CoursePage.jsx index 4615e30..092154f 100644 --- a/frontend/src/pages/CoursePage.jsx +++ b/frontend/src/pages/CoursePage.jsx @@ -1,5 +1,6 @@ import { useEffect, useState } from "react"; import { Container } from "react-bootstrap"; +import AssignmentsWidget from "../components/AssignmentsWidget"; import MyNavbar from "../components/MyNavbar"; import { makeRequest } from "../utils.ts"; @@ -21,7 +22,10 @@ const CoursePage = ({ id }) => {

{courseData.name}

{courseData.instructor}


-

Assignments

+
+

Assignments

+ +
); -- 2.49.1