From 2a0b2d40bf43213f619e90afda5c695ffe9ef206 Mon Sep 17 00:00:00 2001 From: Adam Butterworth Date: Wed, 1 Apr 2020 15:07:56 -0400 Subject: [PATCH] stuff --- src/CourseContainer.jsx | 30 ++++++++++++++++++ src/SequenceContainer.jsx | 34 +++++++++++++++++++++ src/courseware/course/CourseBreadcrumbs.jsx | 2 +- src/index.jsx | 11 ++----- 4 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 src/CourseContainer.jsx create mode 100644 src/SequenceContainer.jsx diff --git a/src/CourseContainer.jsx b/src/CourseContainer.jsx new file mode 100644 index 00000000..0e879350 --- /dev/null +++ b/src/CourseContainer.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { + Route, Switch, useParams, useRouteMatch, +} from 'react-router-dom'; +import SequenceContainer from './SequenceContainer'; + +export default (props) => { + const { path } = useRouteMatch(); + const { courseId } = useParams(); + + return ( + <> +
CourseContainer
+ + +

{path} find the sequence and redirect

+
+ + +

Course Home

+
+ {/* CoursewareContainer ???? */} + +
+ + ); +}; diff --git a/src/SequenceContainer.jsx b/src/SequenceContainer.jsx new file mode 100644 index 00000000..1a3c0dbd --- /dev/null +++ b/src/SequenceContainer.jsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { + Route, Switch, useParams, useRouteMatch, +} from 'react-router-dom'; + +export default (props) => { + const { path } = useRouteMatch(); + const { courseId, sequenceId } = useParams(); + // const { courseId } = props; + + return ( + <> +
SequenceContainer
+ + {courseId}
+ {sequenceId} + + +

{path} find the unit and redirect

+
+ +

Course Home

+
+ ( + + )} + /> +
+ {props.children} + + ); +}; diff --git a/src/courseware/course/CourseBreadcrumbs.jsx b/src/courseware/course/CourseBreadcrumbs.jsx index 2750b1cb..7118c2b4 100644 --- a/src/courseware/course/CourseBreadcrumbs.jsx +++ b/src/courseware/course/CourseBreadcrumbs.jsx @@ -45,7 +45,7 @@ export default function CourseBreadcrumbs({ const links = useMemo(() => { if (courseStatus === 'loaded' && sequenceStatus === 'loaded') { - return [section, sequence].map((node) => ({ + return [section, sequence].filter(node => !!node).map((node) => ({ id: node.id, label: node.title, url: `${getConfig().LMS_BASE_URL}/courses/${course.id}/course/#${node.id}`, diff --git a/src/index.jsx b/src/index.jsx index cffa86a6..31c2c06c 100755 --- a/src/index.jsx +++ b/src/index.jsx @@ -19,6 +19,7 @@ import './index.scss'; import './assets/favicon.ico'; import CoursewareContainer from './courseware'; import CourseHomeContainer from './course-home'; +import CourseContainer from './CourseContainer'; import store from './store'; @@ -27,15 +28,7 @@ subscribe(APP_READY, () => { - - +