diff --git a/frontend/src/components/ContentWidget.jsx b/frontend/src/components/ContentWidget.jsx new file mode 100644 index 0000000..d6e428d --- /dev/null +++ b/frontend/src/components/ContentWidget.jsx @@ -0,0 +1,42 @@ +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 ContentWidget = ({ className = "", cid }) => { + const [contentData, setContentData] = useState([]); + + useEffect(() => { + makeRequest({ endpoint: `course/${cid}/content` }) + .then((resp) => resp.json()) + .then((data) => { + setContentData(data.content); + }); + }, [setContentData]); + + return ( + +
+ {contentData.map((content, i) => { + return ( + + + + {content.name} + + + + ); + })} +
+
+ ); +}; + +export default ContentWidget; diff --git a/frontend/src/pages/CoursePage.jsx b/frontend/src/pages/CoursePage.jsx index 092154f..87a898c 100644 --- a/frontend/src/pages/CoursePage.jsx +++ b/frontend/src/pages/CoursePage.jsx @@ -1,6 +1,7 @@ import { useEffect, useState } from "react"; import { Container } from "react-bootstrap"; import AssignmentsWidget from "../components/AssignmentsWidget"; +import ContentWidget from "../components/ContentWidget"; import MyNavbar from "../components/MyNavbar"; import { makeRequest } from "../utils.ts"; @@ -23,6 +24,9 @@ const CoursePage = ({ id }) => {

{courseData.instructor}


+

Course Content

+ +

Assignments