diff --git a/src/courseware/CourseContainer.jsx b/src/courseware/CourseContainer.jsx index 739707d3..16a0d9d5 100644 --- a/src/courseware/CourseContainer.jsx +++ b/src/courseware/CourseContainer.jsx @@ -47,28 +47,30 @@ function CourseContainer(props) { } }, [metadataLoaded]); - if (!courseId || !sequenceId) { - return ( - - ); - } + const isLoaded = courseId && sequenceId && metadataLoaded; - return metadataLoaded && ( - + return ( +
+ { isLoaded ? ( + + ) : ( + + )} +
); } diff --git a/src/courseware/course/Course.jsx b/src/courseware/course/Course.jsx index 2d47b423..7ba061a8 100644 --- a/src/courseware/course/Course.jsx +++ b/src/courseware/course/Course.jsx @@ -67,25 +67,23 @@ export default function Course({ sequenceId={sequenceId} unitId={unitId} /> -
-
- - - -
+ +
+ + - {verifiedMode && } -
+ + {verifiedMode && } ); } diff --git a/src/courseware/course/CourseBreadcrumb.jsx b/src/courseware/course/CourseBreadcrumb.jsx index 788c08d3..4ee35fe2 100644 --- a/src/courseware/course/CourseBreadcrumb.jsx +++ b/src/courseware/course/CourseBreadcrumb.jsx @@ -1,19 +1,15 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faChevronRight } from '@fortawesome/free-solid-svg-icons'; -export default function CourseBreadcrumb({ url, label, last }) { +export default function CourseBreadcrumb({ url, label }) { return ( -
  • - {last ? label : ({label})} +
  • + / +
  • +
  • + {label}
  • - {!last && ( -
  • - -
  • - )}
    ); } @@ -21,5 +17,4 @@ export default function CourseBreadcrumb({ url, label, last }) { CourseBreadcrumb.propTypes = { url: PropTypes.string.isRequired, label: PropTypes.string.isRequired, - last: PropTypes.bool.isRequired, }; diff --git a/src/courseware/course/CourseBreadcrumbs.jsx b/src/courseware/course/CourseBreadcrumbs.jsx index 6a5957c9..1d0b7447 100644 --- a/src/courseware/course/CourseBreadcrumbs.jsx +++ b/src/courseware/course/CourseBreadcrumbs.jsx @@ -1,18 +1,18 @@ import React, { useMemo } from 'react'; import PropTypes from 'prop-types'; import { getConfig } from '@edx/frontend-platform'; +import { FormattedMessage } from '@edx/frontend-platform/i18n'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faHome } from '@fortawesome/free-solid-svg-icons'; import CourseBreadcrumb from './CourseBreadcrumb'; export default function CourseBreadcrumbs({ - courseUsageKey, courseId, sequenceId, unitId, models, + courseUsageKey, courseId, sequenceId, models, }) { const links = useMemo(() => { const sectionId = models[sequenceId].parentId; - if (!unitId) { - return []; - } - return [courseId, sectionId, sequenceId, unitId].map((nodeId) => { + return [sectionId, sequenceId].map((nodeId) => { const node = models[nodeId]; return { id: node.id, @@ -20,11 +20,21 @@ export default function CourseBreadcrumbs({ url: `${getConfig().LMS_BASE_URL}/courses/${courseUsageKey}/course/#${node.id}`, }; }); - }, [courseUsageKey, courseId, sequenceId, unitId, models]); + }, [courseUsageKey, courseId, sequenceId, models]); return ( -