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:
Awais Ansari
2024-04-29 16:14:08 +05:00
committed by GitHub
parent 72381a783b
commit cf3a91dde0
11 changed files with 29 additions and 25 deletions

View File

@@ -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"

View File

@@ -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));
}