Skip to content

Commit 32bd319

Browse files
authored
fix: prevent content tools from displaying over chat sidebar (openedx#1179)
1 parent 645ac2c commit 32bd319

File tree

6 files changed

+33
-18
lines changed

6 files changed

+33
-18
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"@edx/brand": "npm:@edx/[email protected]",
3333
"@edx/frontend-component-footer": "12.0.0",
3434
"@edx/frontend-component-header": "4.0.0",
35-
"@edx/frontend-lib-learning-assistant": "^1.9.3",
35+
"@edx/frontend-lib-learning-assistant": "^1.9.4",
3636
"@edx/frontend-lib-special-exams": "2.20.1",
3737
"@edx/frontend-platform": "4.3.0",
3838
"@edx/paragon": "20.46.0",

src/courseware/course/Course.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ const Course = ({
9898
enrollmentMode={course.enrollmentMode}
9999
isStaff={isStaff}
100100
courseId={courseId}
101+
contentToolsEnabled={course.showCalculator || course.notes.enabled}
101102
/>
102103
<SidebarTriggers />
103104
</>

src/courseware/course/chat/Chat.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const Chat = ({
99
enrollmentMode,
1010
isStaff,
1111
courseId,
12+
contentToolsEnabled,
1213
}) => {
1314
const VERIFIED_MODES = [
1415
'professional',
@@ -34,7 +35,7 @@ const Chat = ({
3435
<>
3536
{/* Use a portal to ensure that component overlay does not compete with learning MFE styles. */}
3637
{shouldDisplayChat && (createPortal(
37-
<Xpert courseId={courseId} />,
38+
<Xpert courseId={courseId} contentToolsEnabled={contentToolsEnabled} />,
3839
document.body,
3940
))}
4041
</>
@@ -46,6 +47,7 @@ Chat.propTypes = {
4647
enabled: PropTypes.bool.isRequired,
4748
enrollmentMode: PropTypes.string,
4849
courseId: PropTypes.string.isRequired,
50+
contentToolsEnabled: PropTypes.bool.isRequired,
4951
};
5052

5153
Chat.defaultProps = {

src/courseware/course/chat/Chat.test.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ describe('Chat', () => {
4242
isStaff={false}
4343
enabled
4444
courseId={courseId}
45+
contentToolsEnabled={false}
4546
/>
4647
</BrowserRouter>,
4748
{ store },
@@ -74,6 +75,7 @@ describe('Chat', () => {
7475
isStaff
7576
enabled
7677
courseId={courseId}
78+
contentToolsEnabled={false}
7779
/>
7880
</BrowserRouter>,
7981
{ store },
@@ -134,6 +136,7 @@ describe('Chat', () => {
134136
isStaff={test.isStaff}
135137
enabled={test.enabled}
136138
courseId={courseId}
139+
contentToolsEnabled={false}
137140
/>
138141
</BrowserRouter>,
139142
{ store },

src/courseware/course/content-tools/ContentTools.jsx

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,32 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3+
import { useSelector } from 'react-redux';
34

45
import Calculator from './calculator';
56
import NotesVisibility from './notes-visibility';
67

78
const ContentTools = ({
89
course,
9-
}) => (
10-
<div className="content-tools">
11-
<div className="d-flex justify-content-end align-items-end m-0">
12-
{course.showCalculator && (
13-
<Calculator />
14-
)}
15-
{course.notes.enabled && (
16-
<NotesVisibility course={course} />
17-
)}
18-
</div>
19-
</div>
20-
);
10+
}) => {
11+
const {
12+
sidebarIsOpen,
13+
} = useSelector(state => state.learningAssistant);
14+
15+
return (
16+
!sidebarIsOpen && (
17+
<div className="content-tools">
18+
<div className="d-flex justify-content-end align-items-end m-0">
19+
{course.showCalculator && (
20+
<Calculator />
21+
)}
22+
{course.notes.enabled && (
23+
<NotesVisibility course={course} />
24+
)}
25+
</div>
26+
</div>
27+
)
28+
);
29+
};
2130

2231
ContentTools.propTypes = {
2332
course: PropTypes.shape({

0 commit comments

Comments
 (0)