Skip to content
Snippets Groups Projects
Commit c3a4b03e authored by danieldeng2's avatar danieldeng2
Browse files

Change order of module outline

parent 56572eb7
No related branches found
No related tags found
No related merge requests found
import React from "react"; import React from "react";
import LeftBar from "components/organisms/LeftBar"; import LeftBar from "components/organisms/LeftBar";
import SideBarTabGroup from "components/molecules/SideBarTabGroup"; import SideBarTabGroup from "components/molecules/SideBarTabGroup";
import { faUserFriends } from "@fortawesome/free-solid-svg-icons"; import { faUserFriends, faList, faTasks, faSpinner, faArchive, faHighlighter } from "@fortawesome/free-solid-svg-icons";
import { useParams } from "react-router-dom"; import { useParams } from "react-router-dom";
import WorkDueGroup from "components/molecules/WorkDueGroup"; import WorkDueGroup from "components/molecules/WorkDueGroup";
...@@ -30,15 +30,23 @@ const LeftBarModule: React.FC = () => { ...@@ -30,15 +30,23 @@ const LeftBarModule: React.FC = () => {
let outlineButtons = [ let outlineButtons = [
{ {
title: "Overview", title: "Overview",
activeURL: `/modules/${id}/overview` activeURL: `/modules/${id}/overview`,
}, icon: faList,
{ },
title: "Feedback", {
activeURL: `/modules/${id}/feedback` title: "Progress",
activeURL: `/modules/${id}/progress`,
icon: faSpinner,
}, },
{ {
title: "Resources", title: "Resources",
activeURL: `/modules/${id}/resources` activeURL: `/modules/${id}/resources`,
icon: faArchive,
},
{
title: "Feedback",
activeURL: `/modules/${id}/feedback`,
icon: faHighlighter,
}, },
{ {
title: "Piazza", title: "Piazza",
......
...@@ -9,9 +9,6 @@ import PageButtonGroup from "components/molecules/PageButtonGroup"; ...@@ -9,9 +9,6 @@ import PageButtonGroup from "components/molecules/PageButtonGroup";
import { request } from "../../../utils/api"; import { request } from "../../../utils/api";
import { api, methods } from "../../../constants/routes"; import { api, methods } from "../../../constants/routes";
import ProgressBar from "react-bootstrap/ProgressBar";
import Accordion from "react-bootstrap/Accordion";
import Card from "react-bootstrap/Card";
import TutorCard from "components/atoms/TutorCard"; import TutorCard from "components/atoms/TutorCard";
import tutorImage1 from "assets/images/tutor-1.png"; import tutorImage1 from "assets/images/tutor-1.png";
...@@ -106,42 +103,13 @@ const ModuleOverview: React.FC = () => { ...@@ -106,42 +103,13 @@ const ModuleOverview: React.FC = () => {
</ul> </ul>
</p> </p>
<h4 className={classNames(styles.moduleSectionHeader)}>Links</h4>
<PageButtonGroup buttons={buttons} style={{ marginTop: "1.25rem" }} />
<h4 className={classNames(styles.moduleSectionHeader)}>Module Leaders</h4> <h4 className={classNames(styles.moduleSectionHeader)}>Module Leaders</h4>
<Row> <Row>
{leaderCards} {leaderCards}
</Row> </Row>
<h4 className={classNames(styles.moduleSectionHeader)}>Progress</h4> <h4 className={classNames(styles.moduleSectionHeader)}>Links</h4>
{ <ProgressBar <PageButtonGroup buttons={buttons} style={{ marginTop: "1.25rem" }} />
now={50}
className={styles.progress}
/> }
<Accordion
defaultActiveKey="0"
style={{ marginTop: "1.25rem", borderRadius: ".5rem" }}
className={styles.progressAccordion}
>
{[...Array(9)].map((e, i) => (
<Card className={styles.weekCard}>
<Accordion.Toggle
className={styles.weekCardHeader}
as={Card.Header}
eventKey={`${i}`}
>
Week {i + 1}
</Accordion.Toggle>
<Accordion.Collapse eventKey={`${i}`}>
<Card.Body className={styles.weekCardBody}>
Hello! I'm the body of week {i + 1}
</Card.Body>
</Accordion.Collapse>
</Card>
))}
</Accordion>
</> </>
); );
}; };
......
...@@ -8,50 +8,6 @@ ...@@ -8,50 +8,6 @@
margin-top: 1rem; margin-top: 1rem;
} }
.progress {
background-color: $gray-100;
margin-top: 1.25rem;
border-radius: 0.5rem;
height: 0.75rem;
}
:global(.progress-bar) {
background-color: $teal-500;
border-radius: 0.5rem;
}
.progressAccordion {
border-radius: 0.5rem;
}
.weekCard {
background: $white;
border-width: 0rem;
margin-bottom: 0.5rem;
transition: 0.2s transform;
border-radius: 0.5rem !important;
}
.weekCardHeader {
background: $gray-100;
transition: 0.2s background;
-webkit-transition: 0.2s background;
-moz-transition: 0.2s background;
border-radius: 0.5rem !important;
font-size: 1.125rem;
margin-bottom: 0px !important;
padding: 0.5rem 0.75rem;
border-width: 0px;
}
.weekCardHeader:hover {
background: $gray-200;
}
.weekCardBody {
border-radius: 0.5rem;
}
@media (max-width: 62rem) { @media (max-width: 62rem) {
} }
......
import React, { useEffect, useState } from "react";
import Dandruff from "components/molecules/Dandruff";
import { useParams } from "react-router-dom";
import styles from "./style.module.scss";
import classNames from "classnames";
import { request } from "../../../utils/api";
import { api, methods } from "../../../constants/routes";
import ProgressBar from "react-bootstrap/ProgressBar";
import Accordion from "react-bootstrap/Accordion";
import Card from "react-bootstrap/Card";
import MyBreadcrumbs from "components/atoms/MyBreadcrumbs";
const ModuleProgress: React.FC = () => {
let { id } = useParams();
let moduleCode = id.startsWith("CO") ? id.slice(2) : id;
return (
<>
<MyBreadcrumbs />
<h3>Progress</h3>
<ProgressBar
now={50}
className={styles.progress}
/>
<Accordion
defaultActiveKey="0"
style={{ marginTop: "1.25rem", borderRadius: ".5rem" }}
className={styles.progressAccordion}
>
{[...Array(9)].map((e, i) => (
<Card className={styles.weekCard}>
<Accordion.Toggle
className={styles.weekCardHeader}
as={Card.Header}
eventKey={`${i}`}
>
Week {i + 1}
</Accordion.Toggle>
<Accordion.Collapse eventKey={`${i}`}>
<Card.Body className={styles.weekCardBody}>
Hello! I'm the body of week {i + 1}
</Card.Body>
</Accordion.Collapse>
</Card>
))}
</Accordion>
</>
);
};
export default ModuleProgress;
\ No newline at end of file
@import "assets/scss/custom";
.moduleSectionHeader {
margin-top: 1.875rem;
}
.moduleParagraph {
margin-top: 1rem;
}
.progress {
background-color: $gray-100;
margin-top: 1.25rem;
border-radius: 0.5rem;
height: 0.75rem;
}
:global(.progress-bar) {
background-color: $teal-500;
border-radius: 0.5rem;
}
.progressAccordion {
border-radius: 0.5rem;
}
.weekCard {
background: $white;
border-width: 0rem;
margin-bottom: 0.5rem;
transition: 0.2s transform;
border-radius: 0.5rem !important;
}
.weekCardHeader {
background: $gray-100;
transition: 0.2s background;
-webkit-transition: 0.2s background;
-moz-transition: 0.2s background;
border-radius: 0.5rem !important;
font-size: 1.125rem;
margin-bottom: 0px !important;
padding: 0.5rem 0.75rem;
border-width: 0px;
}
.weekCardHeader:hover {
background: $gray-200;
}
.weekCardBody {
border-radius: 0.5rem;
}
@media (max-width: 62rem) {
}
@media (min-width: 62rem) {
}
...@@ -20,6 +20,7 @@ import Container from "react-bootstrap/esm/Container"; ...@@ -20,6 +20,7 @@ import Container from "react-bootstrap/esm/Container";
import ExamRubrics from "../Exams/Rubrics"; import ExamRubrics from "../Exams/Rubrics";
import ExamGrading from "../Exams/Grading"; import ExamGrading from "../Exams/Grading";
import ExamPastPapers from "../Exams/PastPapers"; import ExamPastPapers from "../Exams/PastPapers";
import ModuleProgress from "../ModuleProgress";
interface StandardViewProps { interface StandardViewProps {
toggledLeft: boolean; toggledLeft: boolean;
...@@ -82,6 +83,10 @@ const StandardView: React.FC<StandardViewProps> = ({ ...@@ -82,6 +83,10 @@ const StandardView: React.FC<StandardViewProps> = ({
<ModuleOverview /> <ModuleOverview />
</Route> </Route>
<Route path="/modules/:id/progress">
<ModuleProgress />
</Route>
<Route <Route
path="/modules/:id/resources/:scope?" path="/modules/:id/resources/:scope?"
render={props => ( render={props => (
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment