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

Add and link timeline cards to submissions

parent 13d5af0b
No related branches found
No related tags found
No related merge requests found
import React from "react";
import SideBarTabGroup from "components/molecules/SideBarTabGroup";
import { faUserFriends, faList, faArchive, faHighlighter, faHome } from "@fortawesome/free-solid-svg-icons";
import {
faUserFriends,
faList,
faArchive,
faHighlighter,
faHome,
faUpload,
} from "@fortawesome/free-solid-svg-icons";
import { useParams } from "react-router-dom";
import WorkDueGroup from "components/molecules/WorkDueGroup";
......@@ -18,7 +25,7 @@ const LeftBarModule: React.FC = () => {
CO150: "k0r3c1t4x8k6l",
CO113: "k0r3byq0f68t",
CO141: "k0r3c0t7dak4o",
CO130: "k0r3bzsith2r"
CO130: "k0r3bzsith2r",
};
let piazzaLink = "https://piazza.com/class/";
......@@ -29,29 +36,34 @@ const LeftBarModule: React.FC = () => {
let outlineButtons = [
{
title: "Dashboard",
activeURL: `/modules/${id}/dashboard`,
icon: faHome,
},
{
activeURL: `/modules/${id}/dashboard`,
icon: faHome,
},
{
title: "Overview",
activeURL: `/modules/${id}/overview`,
icon: faList,
activeURL: `/modules/${id}/overview`,
icon: faList,
},
{
title: "Resources",
activeURL: `/modules/${id}/resources`,
icon: faArchive,
},
{
activeURL: `/modules/${id}/resources`,
icon: faArchive,
},
{
title: "Submissions",
activeURL: `/modules/${id}/submissions`,
icon: faUpload,
},
{
title: "Feedback",
activeURL: `/modules/${id}/feedback`,
icon: faHighlighter,
activeURL: `/modules/${id}/feedback`,
icon: faHighlighter,
},
{
title: "Piazza",
icon: faUserFriends,
externalURL: piazzaLink
}
externalURL: piazzaLink,
},
];
return (
......
import React from "react";
import Dandruff from "components/molecules/Dandruff";
import CalendarGroup from "components/molecules/CalendarGroup";
interface Props {
moduleID: string;
}
const ModuleSubmissions: React.FC<Props> = ({moduleID}) => {
let moduleCode = moduleID.startsWith("CO") ? moduleID.slice(2) : moduleID;
return (
<>
<Dandruff heading="Submissions" />
<span>Something that looks like the cards in timeline view (maybe grouped by week like overview)? </span>
</>
);
};
export default ModuleSubmissions;
\ No newline at end of file
@import "assets/scss/custom";
.moduleSectionHeader {
margin-top: 1.875rem;
color: var(--primary-text-color);
}
.moduleParagraph {
margin-top: 1rem;
}
.moduleDashboardText {
color: var(--primary-text-color);
}
@media (max-width: 62rem) {
}
@media (min-width: 62rem) {
}
......@@ -19,15 +19,16 @@ import ExamPastPapers from "../Exams/PastPapers";
import ModuleOverview from "../ModuleOverview";
import LeftBar from "components/organisms/LeftBar";
import { Term } from "constants/types";
import ModuleSubmissions from "../ModuleSubmissions";
interface StandardViewProps {
toggledLeft: boolean;
toggledRight: boolean;
fileView: string;
initTimelineSideBar: () => void;
revertTimelineSideBar: () => void;
fileView: string;
initTimelineSideBar: () => void;
revertTimelineSideBar: () => void;
onOverlayClick: (event: React.MouseEvent<HTMLElement>) => void;
onSettingsClick: (event: React.MouseEvent) => void;
onSettingsClick: (event: React.MouseEvent) => void;
}
const StandardView: React.FC<StandardViewProps> = ({
......@@ -35,9 +36,9 @@ const StandardView: React.FC<StandardViewProps> = ({
toggledRight,
onOverlayClick,
onSettingsClick,
fileView,
revertTimelineSideBar,
initTimelineSideBar,
fileView,
revertTimelineSideBar,
initTimelineSideBar,
}: StandardViewProps) => {
const [modulesFilter, setModulesFilter] = useState("In Progress");
const [timelineTerm, setTimelineTerm] = useState(Term.AUTUMN);
......@@ -52,9 +53,9 @@ const StandardView: React.FC<StandardViewProps> = ({
>
<LeftBar
modulesFilter={modulesFilter}
setModulesFilter={setModulesFilter}
timelineTerm={timelineTerm}
setTimelineTerm={setTimelineTerm}
setModulesFilter={setModulesFilter}
timelineTerm={timelineTerm}
setTimelineTerm={setTimelineTerm}
/>
<RightBar onSettingsClick={onSettingsClick} />
<div id="sidenav-overlay" onClick={(e) => onOverlayClick(e)}></div>
......@@ -100,6 +101,15 @@ const StandardView: React.FC<StandardViewProps> = ({
)}
/>
<Route
path="/modules/:id/submissions"
render={(props) => (
<Container className={classNames("pageContainer")}>
<ModuleSubmissions moduleID={props.match.params.id} />
</Container>
)}
></Route>
<Route path="/modules/:id/feedback">
<Container className={classNames("pageContainer")}>
<ModuleFeedback />
......@@ -109,9 +119,9 @@ const StandardView: React.FC<StandardViewProps> = ({
<Route path="/timeline">
<Timeline
initSideBar={initTimelineSideBar}
revertSideBar={revertTimelineSideBar}
term={timelineTerm}
setTerm={setTimelineTerm}
revertSideBar={revertTimelineSideBar}
term={timelineTerm}
setTerm={setTimelineTerm}
/>
</Route>
......
......@@ -18,7 +18,7 @@ const ModuleHeading: React.FC<ModuleHeadingprops> = ({
style={style}
className={styles.moduleCard}
as={Link}
to={`modules/${moduleCode}`}
to={`modules/${moduleCode}/submissions`}
>
<Card.Header>
<span>{moduleCode}</span>
......
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