import React from 'react'; import PropTypes from 'prop-types'; import { Switch, useRouteMatch } from 'react-router'; import { PageRoute } from '@edx/frontend-platform/react'; import Placeholder from '@edx/frontend-lib-content-components'; import CourseAuthoringPage from './CourseAuthoringPage'; import { PagesAndResources } from './pages-and-resources'; import ProctoredExamSettings from './proctored-exam-settings/ProctoredExamSettings'; import EditorContainer from './editors/EditorContainer'; import VideoSelectorContainer from './selectors/VideoSelectorContainer'; import CustomPages from './custom-pages'; import FilesAndUploads from './files-and-uploads'; import { AdvancedSettings } from './advanced-settings'; import ScheduleAndDetails from './schedule-and-details'; import { GradingSettings } from './grading-settings'; import CourseTeam from './course-team/CourseTeam'; import { CourseUpdates } from './course-updates'; /** * As of this writing, these routes are mounted at a path prefixed with the following: * * /course/:courseId * * Meaning that their absolute paths look like: * * /course/:courseId/course-pages * /course/:courseId/proctored-exam-settings * /course/:courseId/editor/:blockType/:blockId * * This component and CourseAuthoringPage should maybe be combined once we no longer need to have * CourseAuthoringPage split out for use in LegacyProctoringRoute. Once that route is removed, we * can move the Header/Footer rendering to this component and likely pull the course detail loading * in as well, and it'd feel a bit better-factored and the roles would feel more clear. */ const CourseAuthoringRoutes = ({ courseId }) => { const { path } = useRouteMatch(); return ( {process.env.ENABLE_NEW_COURSE_OUTLINE_PAGE === 'true' && ( )} {process.env.ENABLE_NEW_VIDEO_UPLOAD_PAGE === 'true' && ( )} {process.env.ENABLE_UNIT_PAGE === 'true' && ( )} {process.env.ENABLE_NEW_EDITOR_PAGES === 'true' && ( )} {process.env.ENABLE_NEW_EDITOR_PAGES === 'true' && ( )} {process.env.ENABLE_NEW_IMPORT_PAGE === 'true' && ( )} {process.env.ENABLE_NEW_EXPORT_PAGE === 'true' && ( )} ); }; CourseAuthoringRoutes.propTypes = { courseId: PropTypes.string.isRequired, }; export default CourseAuthoringRoutes;