diff --git a/frontend/src/App.js b/frontend/src/App.js
index 3ef2438..ef4209a 100644
--- a/frontend/src/App.js
+++ b/frontend/src/App.js
@@ -6,6 +6,7 @@ import LogoutPage from "./pages/LogoutPage";
import RegisterPage from "./pages/RegisterPage";
import CoursePage from "./pages/CoursePage";
import AssignmentPage from "./pages/AssignmentPage";
+import ContentPage from "./pages/ContentPage";
import ManagePage from "./pages/ManagePage";
import ManageStudentsPage from "./pages/ManageStudentsPage";
import AuthenticatedRoute from "./components/AuthenticatedRoute";
@@ -50,6 +51,16 @@ function App() {
}}
+
+ {(params) => {
+ return (
+
+
+
+ );
+ }}
+
+
{(params) => {
return (
diff --git a/frontend/src/pages/ContentPage.jsx b/frontend/src/pages/ContentPage.jsx
new file mode 100644
index 0000000..608389e
--- /dev/null
+++ b/frontend/src/pages/ContentPage.jsx
@@ -0,0 +1,65 @@
+import { useEffect, useState } from "react";
+import { Container } from "react-bootstrap";
+import MyNavbar from "../components/MyNavbar";
+import { makeRequest } from "../utils.ts";
+
+const ContentPage = ({ id }) => {
+ const [contentData, setContentData] = useState({});
+ const [courseData, setCourseData] = useState({});
+
+ useEffect(() => {
+ const wrap = async () => {
+ let resp = await makeRequest({ endpoint: `content/${id}` });
+ let data = await resp.json();
+ setContentData(data);
+
+ resp = await makeRequest({ endpoint: `course/${data.course_id}` });
+ data = await resp.json();
+ setCourseData(data);
+ };
+ wrap();
+ }, []);
+
+ const Title = ({ children, className, ...rest }) => {
+ return (
+
+ {children}
+
+ );
+ };
+
+ const Value = ({ children, className, ...rest }) => {
+ return (
+
+ {children}
+
+ );
+ };
+
+ return (
+
+
+
+ {courseData.name}
+
+
+
+ Name
+ {contentData.name}
+
+ Created
+ {contentData.created_at}
+
+ Body
+
+ {contentData.body?.split("\n").map((line, k) => {
+ return {line}
;
+ })}
+
+
+
+
+ );
+};
+
+export default ContentPage;