feat: added course level isNewDiscussionSidebarViewEnabled flag to control sidebar view switching (#1373)
* feat: added course level isNewDiscussionSidebarViewEnabled flag * test: fixed notification widget test cases
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
import React, {
|
||||
useEffect, useState,
|
||||
} from 'react';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
import PropTypes from 'prop-types';
|
||||
import classNames from 'classnames';
|
||||
|
||||
@@ -46,13 +45,13 @@ const Sequence = ({
|
||||
const {
|
||||
isStaff,
|
||||
originalUserIsStaff,
|
||||
isNewDiscussionSidebarViewEnabled,
|
||||
} = useModel('courseHomeMeta', courseId);
|
||||
const sequence = useModel('sequences', sequenceId);
|
||||
const unit = useModel('units', unitId);
|
||||
const sequenceStatus = useSelector(state => state.courseware.sequenceStatus);
|
||||
const sequenceMightBeUnit = useSelector(state => state.courseware.sequenceMightBeUnit);
|
||||
const shouldDisplayNotificationTriggerInSequence = useWindowSize().width < breakpoints.small.minWidth;
|
||||
const enableNewSidebar = getConfig().ENABLE_NEW_SIDEBAR;
|
||||
|
||||
const handleNext = () => {
|
||||
const nextIndex = sequence.unitIds.indexOf(unitId) + 1;
|
||||
@@ -171,7 +170,7 @@ const Sequence = ({
|
||||
}}
|
||||
/>
|
||||
{shouldDisplayNotificationTriggerInSequence && (
|
||||
enableNewSidebar === 'true' ? <NewSidebarTriggers /> : <SidebarTriggers />
|
||||
isNewDiscussionSidebarViewEnabled ? <NewSidebarTriggers /> : <SidebarTriggers />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -199,7 +198,7 @@ const Sequence = ({
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
{enableNewSidebar === 'true' ? <NewSidebar /> : <Sidebar />}
|
||||
{isNewDiscussionSidebarViewEnabled ? <NewSidebar /> : <Sidebar />}
|
||||
</div>
|
||||
<PluginSlot
|
||||
id="sequence_container_plugin"
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { useContext } from 'react';
|
||||
import { useSelector } from 'react-redux';
|
||||
import { breakpoints, useWindowSize } from '@openedx/paragon';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
|
||||
import { useModel } from '../../../../generic/model-store';
|
||||
import { sequenceIdsSelector } from '../../../data';
|
||||
@@ -80,8 +79,11 @@ export function useIsOnXLDesktop() {
|
||||
}
|
||||
|
||||
export function useIsSidebarOpen(unitId) {
|
||||
const { currentSidebar } = useContext(getConfig().ENABLE_NEW_SIDEBAR === 'true' ? NewSidebarContext : SidebarContext);
|
||||
const courseId = useSelector(state => state.courseware.courseId);
|
||||
const { isNewDiscussionSidebarViewEnabled } = useModel('courseHomeMeta', courseId);
|
||||
const { currentSidebar } = useContext(isNewDiscussionSidebarViewEnabled ? NewSidebarContext : SidebarContext);
|
||||
const topic = useModel('discussionTopics', unitId);
|
||||
return currentSidebar === WIDGETS.NOTIFICATIONS
|
||||
|| (currentSidebar === WIDGETS.DISCUSSIONS && !!(topic?.id || topic?.enabledInContext));
|
||||
|
||||
return (currentSidebar === WIDGETS.NOTIFICATIONS) || (
|
||||
currentSidebar === WIDGETS.DISCUSSIONS && !!(topic?.id || topic?.enabledInContext));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user