diff --git a/src/learning-sequence/CourseBreadcrumbs.jsx b/src/learning-sequence/CourseBreadcrumbs.jsx index 68acd1df..7a0115e2 100644 --- a/src/learning-sequence/CourseBreadcrumbs.jsx +++ b/src/learning-sequence/CourseBreadcrumbs.jsx @@ -6,7 +6,7 @@ import { faChevronRight } from '@fortawesome/free-solid-svg-icons'; import { getConfig } from '@edx/frontend-platform'; import CourseStructureContext from './CourseStructureContext'; -import { useBlockAncestry } from './hooks'; +import { useBlockAncestry } from './data/hooks'; const CourseBreadcrumbs = () => { const { courseId, unitId } = useContext(CourseStructureContext); diff --git a/src/learning-sequence/LearningSequencePage.jsx b/src/learning-sequence/LearningSequencePage.jsx index fdd5f571..d89135b5 100644 --- a/src/learning-sequence/LearningSequencePage.jsx +++ b/src/learning-sequence/LearningSequencePage.jsx @@ -4,12 +4,10 @@ import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import PageLoading from './PageLoading'; import messages from './messages'; - import CourseBreadcrumbs from './CourseBreadcrumbs'; -import SubSection from './SubSection'; - -import { useCourseStructure } from './hooks'; import CourseStructureContext from './CourseStructureContext'; +import { useCourseStructure } from './data/hooks'; +import SubSection from './sub-section/SubSection'; function LearningSequencePage({ match, intl }) { const { diff --git a/src/learning-sequence/SubSection.jsx b/src/learning-sequence/SubSection.jsx deleted file mode 100644 index abe455ef..00000000 --- a/src/learning-sequence/SubSection.jsx +++ /dev/null @@ -1,239 +0,0 @@ -import React, { Component, useContext, useEffect, useState } from 'react'; -import PropTypes from 'prop-types'; -import { getConfig } from '@edx/frontend-platform'; - -import SubSectionNavigation from './SubSectionNavigation'; -import { getSubSectionMetadata } from './api'; -import CourseStructureContext from './CourseStructureContext'; -import Unit from './Unit'; - -function useSubSectionMetadata(courseId, subSectionId) { - const [metadata, setMetadata] = useState(null); - const [loaded, setLoaded] = useState(false); - - useEffect(() => { - setLoaded(false); - getSubSectionMetadata(courseId, subSectionId).then((data) => { - setMetadata(data); - setLoaded(true); - }); - }, [courseId, subSectionId]); - - return { - metadata, - loaded, - }; -} - -function useExamRedirect(metadata, blocks) { - useEffect(() => { - if (metadata !== null && blocks !== null) { - if (metadata.isTimeLimited) { - global.location.href = blocks[metadata.itemId].lmsWebUrl; - } - } - }, [metadata, blocks]); -} - -/* - - - const calculateUnitId = (metadata, options) => { - const { first, last, preferredUnitId } = options; - let position = metadata.position - 1; // metadata's position is 1's indexed - position = first ? 0 : position; - position = last ? metadata.unitIds.length - 1 : position; - position = preferredUnitId ? metadata.unitIds.indexOf(preferredUnitId) : position; - const unitId = metadata.items[position].id; - - return unitId; - } - - handleUnitChange = (unitId) => { - this.setState({ - unitId, - }); - } - - */ - -export default function SubSection() { - const { - courseId, - subSectionId, - unitId, - blocks, - } = useContext(CourseStructureContext); - const { metadata } = useSubSectionMetadata(courseId, subSectionId); - - useExamRedirect(metadata, blocks); - - if (blocks === null || metadata === null) { - return null; - } - - const unit = blocks[unitId]; - - // units={this.state.units} - // unitIds={this.state.subSectionMetadata.unitIds} - // activeUnitId={this.state.unitId} - // unitClickHandler={this.handleUnitChange} - // nextClickHandler={this.handleNextClick} - // previousClickHandler={this.handlePreviousClick} - return ( -
- - - -
- ); -} - - -/* - -

{course.displayName}

- - - - -