@nualang/nualang-ui-components 0.1.1139 → 0.1.1141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Dialogs/LiveGameTutorial/LiveGameTutorial.js +12 -3
- package/dist/Dialogs/ReportProblem/ReportProblem.js +5 -1
- package/dist/Dialogs/UploadVideo/UploadVideo.js +4 -1
- package/dist/Exercises/Bot/Bot.js +3 -1
- package/dist/Exercises/Listener/Listener.js +2 -1
- package/dist/Exercises/Pronouncer/Pronouncer.js +2 -1
- package/dist/Exercises/Roleplay/Games/TopBarActions.js +14 -4
- package/dist/Exercises/Translator/Translator.js +32 -5
- package/dist/Lists/Courses/Courses.js +2 -0
- package/dist/Misc/ReportProblem/ReportProblem.js +6 -2
- package/dist/Screens/Classrooms/ViewClassroom/ViewClassroom.js +11 -3
- package/dist/Screens/Dashboard/Dashboard.js +14 -75
- package/dist/Screens/Dashboard/Dashboard.stories.js +3 -2
- package/dist/img/NualangLiveTranslate.svg +30 -94
- package/dist/img/NualangLiveTranslateQuickly.svg +18 -7
- package/package.json +1 -1
|
@@ -54,13 +54,14 @@ function DotsMobileStepper({
|
|
|
54
54
|
}, Math.abs(activeStep - index) <= 2 ? /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
55
55
|
component: "img",
|
|
56
56
|
sx: {
|
|
57
|
-
height: 500,
|
|
58
57
|
display: "block",
|
|
59
58
|
maxWidth: 720,
|
|
60
59
|
overflow: "hidden",
|
|
61
60
|
width: "100%",
|
|
62
61
|
margin: "auto",
|
|
63
|
-
borderRadius: "10px"
|
|
62
|
+
borderRadius: "10px",
|
|
63
|
+
marginTop: 1,
|
|
64
|
+
marginBottom: 1
|
|
64
65
|
},
|
|
65
66
|
src: step.imgPath,
|
|
66
67
|
alt: step.label
|
|
@@ -150,8 +151,16 @@ function LiveGameTutorial({
|
|
|
150
151
|
handleClose: handleClose,
|
|
151
152
|
dialogTitle: t(exerciseName),
|
|
152
153
|
t: t
|
|
154
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
155
|
+
sx: {
|
|
156
|
+
display: 'flex',
|
|
157
|
+
justifyContent: 'center',
|
|
158
|
+
alignItems: 'center',
|
|
159
|
+
width: '100%',
|
|
160
|
+
height: '100%'
|
|
161
|
+
}
|
|
153
162
|
}, /*#__PURE__*/_react.default.createElement(DotsMobileStepper, {
|
|
154
163
|
images: images,
|
|
155
164
|
t: t
|
|
156
|
-
}));
|
|
165
|
+
})));
|
|
157
166
|
}
|
|
@@ -25,6 +25,8 @@ function ReportProblem({
|
|
|
25
25
|
open,
|
|
26
26
|
handleClose,
|
|
27
27
|
handleReportProblem,
|
|
28
|
+
currentPhrase,
|
|
29
|
+
isQuestion,
|
|
28
30
|
...otherProps
|
|
29
31
|
}) {
|
|
30
32
|
const [problem, setProblem] = (0, _react.useState)(initialProblem);
|
|
@@ -45,7 +47,9 @@ function ReportProblem({
|
|
|
45
47
|
} = event.target;
|
|
46
48
|
setProblem(prevProblem => ({
|
|
47
49
|
...prevProblem,
|
|
48
|
-
[name]: value
|
|
50
|
+
[name]: value,
|
|
51
|
+
currentPhrase: currentPhrase,
|
|
52
|
+
isQuestion: isQuestion ? isQuestion : false
|
|
49
53
|
}));
|
|
50
54
|
};
|
|
51
55
|
const problemTypes = [{
|
|
@@ -33,14 +33,17 @@ function UploadVideo({
|
|
|
33
33
|
} = useStyles();
|
|
34
34
|
const [video, setVideo] = (0, _react.useState)();
|
|
35
35
|
const [errors, setErrors] = (0, _react.useState)([]);
|
|
36
|
+
const [isVideoSubmitting, setIsVideoSubmitting] = (0, _react.useState)(false);
|
|
36
37
|
const handleSubmit = async () => {
|
|
37
38
|
try {
|
|
39
|
+
setIsVideoSubmitting(true);
|
|
38
40
|
await onSubmit({
|
|
39
41
|
video
|
|
40
42
|
});
|
|
41
43
|
} catch (error) {
|
|
42
44
|
console.error(error);
|
|
43
45
|
}
|
|
46
|
+
setIsVideoSubmitting(false);
|
|
44
47
|
handleClose();
|
|
45
48
|
};
|
|
46
49
|
return /*#__PURE__*/_react.default.createElement(_ResponsiveDialog.default, {
|
|
@@ -52,7 +55,7 @@ function UploadVideo({
|
|
|
52
55
|
handleSubmit: handleSubmit,
|
|
53
56
|
submitText: t("add_video"),
|
|
54
57
|
dialogTitle: t("upload_video"),
|
|
55
|
-
isSubmitDisabled: !video || video.length === 0 || errors.length > 0
|
|
58
|
+
isSubmitDisabled: !video || video.length === 0 || errors.length > 0 || isVideoSubmitting
|
|
56
59
|
}, /*#__PURE__*/_react.default.createElement(_Box.default, null, /*#__PURE__*/_react.default.createElement(_VideoUploader.default, {
|
|
57
60
|
t: t,
|
|
58
61
|
file: video,
|
|
@@ -212,6 +212,7 @@ function Bot({
|
|
|
212
212
|
isSpeaking,
|
|
213
213
|
isSpeakingTextContainer
|
|
214
214
|
} = exerciseState;
|
|
215
|
+
const currentPhrase = botMessages.length > 0 ? botMessages[botMessages.length - 1].text : "N/A";
|
|
215
216
|
const joyrideSteps = [{
|
|
216
217
|
content: /*#__PURE__*/_react.default.createElement("h2", null, t("bot_exercise_welcome")),
|
|
217
218
|
placement: "center",
|
|
@@ -375,7 +376,8 @@ function Bot({
|
|
|
375
376
|
isReportProblemOpen: isReportProblemOpen,
|
|
376
377
|
handleOpenReportProblem: handleOpenReportProblem,
|
|
377
378
|
handleCloseReportProblem: handleCloseReportProblem,
|
|
378
|
-
handleReportProblem: handleReportProblem
|
|
379
|
+
handleReportProblem: handleReportProblem,
|
|
380
|
+
currentPhrase: currentPhrase
|
|
379
381
|
}));
|
|
380
382
|
const beforeElements = /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
381
383
|
mb: 2
|
|
@@ -549,7 +549,8 @@ function Listener({
|
|
|
549
549
|
isReportProblemOpen: isReportProblemOpen,
|
|
550
550
|
handleOpenReportProblem: handleOpenReportProblem,
|
|
551
551
|
handleCloseReportProblem: handleCloseReportProblem,
|
|
552
|
-
handleReportProblem: handleReportProblem
|
|
552
|
+
handleReportProblem: handleReportProblem,
|
|
553
|
+
currentPhrase: currentPhrase
|
|
553
554
|
})), /*#__PURE__*/_react.default.createElement(_material.Toolbar, {
|
|
554
555
|
variant: "dense",
|
|
555
556
|
className: classes.mobileAdditionalToolbar
|
|
@@ -488,7 +488,8 @@ function Pronouncer({
|
|
|
488
488
|
isReportProblemOpen: isReportProblemOpen,
|
|
489
489
|
handleOpenReportProblem: handleOpenReportProblem,
|
|
490
490
|
handleCloseReportProblem: handleCloseReportProblem,
|
|
491
|
-
handleReportProblem: handleReportProblem
|
|
491
|
+
handleReportProblem: handleReportProblem,
|
|
492
|
+
currentPhrase: currentPhrase
|
|
492
493
|
})), /*#__PURE__*/_react.default.createElement(_material.Toolbar, {
|
|
493
494
|
variant: "dense",
|
|
494
495
|
className: classes.mobileAdditionalToolbar
|
|
@@ -127,7 +127,8 @@ function OverflowMenu({
|
|
|
127
127
|
handleCloseReportProblem,
|
|
128
128
|
handleReportProblem,
|
|
129
129
|
handleRestart,
|
|
130
|
-
setRestartRoleplayDialog
|
|
130
|
+
setRestartRoleplayDialog,
|
|
131
|
+
currentMessages
|
|
131
132
|
}) {
|
|
132
133
|
const {
|
|
133
134
|
classes
|
|
@@ -139,6 +140,8 @@ function OverflowMenu({
|
|
|
139
140
|
const handleCloseMenu = () => {
|
|
140
141
|
setAnchorEl(null);
|
|
141
142
|
};
|
|
143
|
+
const currentPhrase = currentMessages.length > 0 ? currentMessages[currentMessages.length - 1].text ? currentMessages[currentMessages.length - 1].text : currentMessages[currentMessages.length - 1].question : "N/A";
|
|
144
|
+
const isQuestion = currentMessages.length > 0 && currentMessages[currentMessages.length - 1].hasOwnProperty("question");
|
|
142
145
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
143
146
|
title: t("more_options")
|
|
144
147
|
}, /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
@@ -183,7 +186,9 @@ function OverflowMenu({
|
|
|
183
186
|
handleCloseReportProblem: handleCloseReportProblem,
|
|
184
187
|
handleReportProblem: handleReportProblem,
|
|
185
188
|
mode: "menuitem",
|
|
186
|
-
menuIconClassname: classes.menuIcon
|
|
189
|
+
menuIconClassname: classes.menuIcon,
|
|
190
|
+
currentPhrase: currentPhrase,
|
|
191
|
+
isQuestion: isQuestion
|
|
187
192
|
})));
|
|
188
193
|
}
|
|
189
194
|
const TopBarActions = ({
|
|
@@ -212,6 +217,8 @@ const TopBarActions = ({
|
|
|
212
217
|
const {
|
|
213
218
|
classes
|
|
214
219
|
} = useStyles();
|
|
220
|
+
const currentPhrase = currentMessages.length > 0 ? currentMessages[currentMessages.length - 1].text ? currentMessages[currentMessages.length - 1].text : currentMessages[currentMessages.length - 1].question : "N/A";
|
|
221
|
+
const isQuestion = currentMessages.length > 0 && currentMessages[currentMessages.length - 1].hasOwnProperty("question");
|
|
215
222
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, roleplayHasStarted || isRoleplayPreview ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isRoleplayPreview && /*#__PURE__*/_react.default.createElement("div", {
|
|
216
223
|
className: classes.progress
|
|
217
224
|
}, /*#__PURE__*/_react.default.createElement(RoundedLinearProgress, {
|
|
@@ -253,7 +260,9 @@ const TopBarActions = ({
|
|
|
253
260
|
isReportProblemOpen: isReportProblemOpen,
|
|
254
261
|
handleOpenReportProblem: handleOpenReportProblem,
|
|
255
262
|
handleCloseReportProblem: handleCloseReportProblem,
|
|
256
|
-
handleReportProblem: handleReportProblem
|
|
263
|
+
handleReportProblem: handleReportProblem,
|
|
264
|
+
currentPhrase: currentPhrase,
|
|
265
|
+
isQuestion: isQuestion
|
|
257
266
|
})), /*#__PURE__*/_react.default.createElement(_material.Hidden, {
|
|
258
267
|
smUp: true
|
|
259
268
|
}, /*#__PURE__*/_react.default.createElement(_VoiceSpeed.default, {
|
|
@@ -272,7 +281,8 @@ const TopBarActions = ({
|
|
|
272
281
|
isReportProblemOpen: isReportProblemOpen,
|
|
273
282
|
handleOpenReportProblem: handleOpenReportProblem,
|
|
274
283
|
handleCloseReportProblem: handleCloseReportProblem,
|
|
275
|
-
handleReportProblem: handleReportProblem
|
|
284
|
+
handleReportProblem: handleReportProblem,
|
|
285
|
+
currentMessages: currentMessages
|
|
276
286
|
}))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, handleShareRoleplay && /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
277
287
|
title: t("share")
|
|
278
288
|
}, /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
@@ -7,6 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactJoyride = _interopRequireWildcard(require("react-joyride"));
|
|
9
9
|
var _material = require("@mui/material");
|
|
10
|
+
var _colors = require("@mui/material/colors");
|
|
10
11
|
var _mui = require("tss-react/mui");
|
|
11
12
|
var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
|
|
12
13
|
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
@@ -115,7 +116,6 @@ const useStyles = (0, _mui.makeStyles)()(theme => ({
|
|
|
115
116
|
margin: theme.spacing(1, 2, 1, 2),
|
|
116
117
|
borderRadius: theme.spacing(),
|
|
117
118
|
borderWidth: "2px",
|
|
118
|
-
borderColor: theme.palette.primary.main,
|
|
119
119
|
borderStyle: "solid",
|
|
120
120
|
textAlign: "center",
|
|
121
121
|
color: theme.palette.primary.main,
|
|
@@ -397,10 +397,21 @@ function Translator({
|
|
|
397
397
|
handleTranslationTourFinished();
|
|
398
398
|
}
|
|
399
399
|
};
|
|
400
|
+
const [incomplete, setIncomplete] = (0, _react.useState)(false);
|
|
401
|
+
const checkCompletionAndNotify = () => {
|
|
402
|
+
let correctCount = translationWords.filter((word, index) => (0, _index.removeAllSymbols)(word.text) === (0, _index.removeAllSymbols)(translationWordList[index])).length;
|
|
403
|
+
if (correctCount === translationWords.length && translationWords.length < translationWordList.length) {
|
|
404
|
+
setIncomplete(true);
|
|
405
|
+
}
|
|
406
|
+
};
|
|
400
407
|
(0, _react.useEffect)(() => {
|
|
401
408
|
setCheckAnswer(false);
|
|
402
409
|
setIsWordBankAttemptChanged(true);
|
|
410
|
+
setIncomplete(false);
|
|
403
411
|
}, [translationWords]);
|
|
412
|
+
(0, _react.useEffect)(() => {
|
|
413
|
+
checkAnswer && checkCompletionAndNotify();
|
|
414
|
+
}, [checkAnswer]);
|
|
404
415
|
(0, _react.useEffect)(() => {
|
|
405
416
|
if (open && !run && !localStorage.getItem(`translation-exercise-tour-completed`)) {
|
|
406
417
|
setJoyrideState(prevState => ({
|
|
@@ -543,7 +554,8 @@ function Translator({
|
|
|
543
554
|
isReportProblemOpen: isReportProblemOpen,
|
|
544
555
|
handleOpenReportProblem: handleOpenReportProblem,
|
|
545
556
|
handleCloseReportProblem: handleCloseReportProblem,
|
|
546
|
-
handleReportProblem: handleReportProblem
|
|
557
|
+
handleReportProblem: handleReportProblem,
|
|
558
|
+
currentPhrase: currentPhrase
|
|
547
559
|
})), /*#__PURE__*/_react.default.createElement(_material.Toolbar, {
|
|
548
560
|
variant: "dense",
|
|
549
561
|
className: classes.mobileAdditionalToolbar
|
|
@@ -657,7 +669,7 @@ function Translator({
|
|
|
657
669
|
}, /*#__PURE__*/_react.default.createElement(_reactBeautifulDnd.Droppable, {
|
|
658
670
|
droppableId: "translationWords",
|
|
659
671
|
direction: "horizontal"
|
|
660
|
-
}, provided => /*#__PURE__*/_react.default.createElement(_material.Grid, _extends({
|
|
672
|
+
}, provided => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Grid, _extends({
|
|
661
673
|
container: true,
|
|
662
674
|
spacing: 1,
|
|
663
675
|
className: classes.wordsContainer,
|
|
@@ -665,7 +677,8 @@ function Translator({
|
|
|
665
677
|
}, provided.droppableProps, {
|
|
666
678
|
sx: {
|
|
667
679
|
display: "flex",
|
|
668
|
-
flexDirection: "row"
|
|
680
|
+
flexDirection: "row",
|
|
681
|
+
borderColor: incomplete ? _colors.red[800] : theme.palette.primary.main
|
|
669
682
|
}
|
|
670
683
|
}), translationWords.map((word, index) => /*#__PURE__*/_react.default.createElement(_reactBeautifulDnd.Draggable, {
|
|
671
684
|
key: word.id.toString(),
|
|
@@ -692,7 +705,21 @@ function Translator({
|
|
|
692
705
|
ref: setAnswerBoxRef(index),
|
|
693
706
|
checkAnswer: checkAnswer,
|
|
694
707
|
isDragging: snapshot.isDragging
|
|
695
|
-
})))), provided.placeholder)
|
|
708
|
+
})))), provided.placeholder), /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
709
|
+
sx: {
|
|
710
|
+
minHeight: '24px',
|
|
711
|
+
// Adjust this based on the Typography height
|
|
712
|
+
display: 'flex',
|
|
713
|
+
justifyContent: 'center',
|
|
714
|
+
alignItems: 'center',
|
|
715
|
+
textAlign: 'center'
|
|
716
|
+
}
|
|
717
|
+
}, incomplete && /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
718
|
+
sx: {
|
|
719
|
+
color: _colors.red[800],
|
|
720
|
+
fontWeight: 'bold'
|
|
721
|
+
}
|
|
722
|
+
}, t("incomplete_translation")))))), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
696
723
|
component: "fieldset",
|
|
697
724
|
sx: {
|
|
698
725
|
borderWidth: 0
|
|
@@ -8,6 +8,8 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _material = require("@mui/material");
|
|
10
10
|
var _mui = require("tss-react/mui");
|
|
11
|
+
var _ProgressiveCardMedia = _interopRequireDefault(require("../../Misc/ProgressiveCardMedia"));
|
|
12
|
+
var _index = _interopRequireDefault(require("../../utils/placeholder-images/index"));
|
|
11
13
|
var _Course = _interopRequireDefault(require("../../Cards/Course"));
|
|
12
14
|
var _useListScroll = _interopRequireDefault(require("../../hooks/useListScroll"));
|
|
13
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -20,13 +20,17 @@ function ReportProblem({
|
|
|
20
20
|
handleReportProblem,
|
|
21
21
|
edge,
|
|
22
22
|
mode,
|
|
23
|
-
menuIconClassname
|
|
23
|
+
menuIconClassname,
|
|
24
|
+
currentPhrase,
|
|
25
|
+
isQuestion
|
|
24
26
|
}) {
|
|
25
27
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ReportProblem.default, {
|
|
26
28
|
t: t,
|
|
27
29
|
open: isReportProblemOpen,
|
|
28
30
|
handleClose: handleCloseReportProblem,
|
|
29
|
-
handleReportProblem: handleReportProblem
|
|
31
|
+
handleReportProblem: handleReportProblem,
|
|
32
|
+
currentPhrase: currentPhrase,
|
|
33
|
+
isQuestion: isQuestion
|
|
30
34
|
}), mode === "icon" && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
|
|
31
35
|
title: t("report_problem")
|
|
32
36
|
}, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
@@ -149,7 +149,9 @@ function OverflowMenu({
|
|
|
149
149
|
trackRecommendedEvent,
|
|
150
150
|
mainSiteUrl,
|
|
151
151
|
members,
|
|
152
|
-
handleOpenInviteDialog
|
|
152
|
+
handleOpenInviteDialog,
|
|
153
|
+
refreshClassroomCourses,
|
|
154
|
+
selectedCourses
|
|
153
155
|
}) {
|
|
154
156
|
const isMediumScreen = (0, _useMediaQuery.default)("(max-width:600px)");
|
|
155
157
|
const [isShareDrawerOpen, setIsShareDrawerOpen] = (0, _react.useState)(false);
|
|
@@ -185,7 +187,9 @@ function OverflowMenu({
|
|
|
185
187
|
onClick: joinClassroom
|
|
186
188
|
}, t("join_classroom")), !isCreator && isMember && /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
187
189
|
onClick: leaveClassroom
|
|
188
|
-
}, t("leave_classroom")), isCreator && /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
190
|
+
}, t("leave_classroom")), isCreator && selectedCourses.length > 0 && /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
191
|
+
onClick: refreshClassroomCourses
|
|
192
|
+
}, t("refresh_courses")), isCreator && /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
189
193
|
onClick: handleOpenCoursesModal
|
|
190
194
|
}, t("manage_courses")), isCreator && /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
191
195
|
"data-cy": "delete-classroom",
|
|
@@ -285,6 +289,8 @@ function Classroom({
|
|
|
285
289
|
createdGame,
|
|
286
290
|
isNualangLiveEnabled,
|
|
287
291
|
handleCreateCourse,
|
|
292
|
+
refreshClassroomCourses,
|
|
293
|
+
selectedCourses,
|
|
288
294
|
...otherProps
|
|
289
295
|
}) {
|
|
290
296
|
const {
|
|
@@ -1048,7 +1054,9 @@ function Classroom({
|
|
|
1048
1054
|
mainSiteUrl: mainSiteUrl,
|
|
1049
1055
|
members: members,
|
|
1050
1056
|
handleOpenInviteDialog: handleOpenInviteDialog,
|
|
1051
|
-
handleOpenUpgradeSubscriptionModal: true
|
|
1057
|
+
handleOpenUpgradeSubscriptionModal: true,
|
|
1058
|
+
refreshClassroomCourses: refreshClassroomCourses,
|
|
1059
|
+
selectedCourses: selectedCourses
|
|
1052
1060
|
}), /*#__PURE__*/_react.default.createElement(_UpgradeSubscription.default, {
|
|
1053
1061
|
key: "UpgradeSubscription",
|
|
1054
1062
|
t: t,
|
|
@@ -48,8 +48,6 @@ const useStyles = (0, _mui.makeStyles)()(theme => ({
|
|
|
48
48
|
}));
|
|
49
49
|
function Dashboard({
|
|
50
50
|
t,
|
|
51
|
-
learnCourses = [],
|
|
52
|
-
teachCourses = [],
|
|
53
51
|
completions = [],
|
|
54
52
|
avatars = [],
|
|
55
53
|
newRoleplays = [],
|
|
@@ -62,11 +60,12 @@ function Dashboard({
|
|
|
62
60
|
handlePlayRoleplay,
|
|
63
61
|
newCourses = [],
|
|
64
62
|
recommendedCourses = [],
|
|
65
|
-
|
|
63
|
+
popularCourses = [],
|
|
66
64
|
isNewCoursesLoading,
|
|
67
65
|
isRecommendedCoursesLoading,
|
|
68
66
|
isNewRoleplaysLoading,
|
|
69
67
|
isNewBotsLoading,
|
|
68
|
+
isPopularCoursesLoading,
|
|
70
69
|
handleDuplicateBot,
|
|
71
70
|
handleDuplicateRoleplay,
|
|
72
71
|
singleLineGrid = true,
|
|
@@ -175,7 +174,7 @@ function Dashboard({
|
|
|
175
174
|
}, /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_Face.default, null)), t("bot")), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
176
175
|
onClick: handleCreateCourse,
|
|
177
176
|
role: "link"
|
|
178
|
-
}, /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_BubbleChart.default, null)), t("course")))))),
|
|
177
|
+
}, /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_BubbleChart.default, null)), t("course")))))), isPopularCoursesLoading || popularCourses.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
179
178
|
pb: 2
|
|
180
179
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
181
180
|
className: classes.header
|
|
@@ -184,7 +183,7 @@ function Dashboard({
|
|
|
184
183
|
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
185
184
|
variant: "h5",
|
|
186
185
|
component: "h2"
|
|
187
|
-
},
|
|
186
|
+
}, popularCourses.length > 0 ? t("popular_courses") : /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
188
187
|
variant: "rectangular",
|
|
189
188
|
height: 32,
|
|
190
189
|
width: 250
|
|
@@ -210,14 +209,14 @@ function Dashboard({
|
|
|
210
209
|
t: t,
|
|
211
210
|
reviewPlaceholderImageUrl: reviewPlaceholderImageUrl,
|
|
212
211
|
memberPlaceholderImageUrl: memberPlaceholderImageUrl,
|
|
213
|
-
courses: Array.isArray(
|
|
212
|
+
courses: Array.isArray(popularCourses) && popularCourses.length ? popularCourses : null,
|
|
214
213
|
completions: completions,
|
|
215
214
|
handleStartCourse: handleStartCourse,
|
|
216
215
|
handleLeaveCourse: handleLeaveCourse,
|
|
216
|
+
handleViewCourseTopic: handleViewCourseTopic,
|
|
217
217
|
handleViewCourse: handleViewCourse,
|
|
218
218
|
handleViewUserProfile: handleViewUserProfile,
|
|
219
219
|
membersProps: membersProps,
|
|
220
|
-
handleViewCourseTopic: handleViewCourseTopic,
|
|
221
220
|
getMemberDetails: getMemberDetails,
|
|
222
221
|
getMemberInfo: getMemberInfo,
|
|
223
222
|
getUserReviews: getUserReviews,
|
|
@@ -230,11 +229,10 @@ function Dashboard({
|
|
|
230
229
|
getCourseMembers: getCourseMembers,
|
|
231
230
|
memberId: memberId,
|
|
232
231
|
username: username,
|
|
233
|
-
handleDuplicateCourse: handleDuplicateCourse
|
|
234
|
-
ariaText: "Continue learning "
|
|
232
|
+
handleDuplicateCourse: handleDuplicateCourse
|
|
235
233
|
})), /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
236
234
|
pb: 2
|
|
237
|
-
}, /*#__PURE__*/_react.default.createElement(_material.Divider, null))) : null,
|
|
235
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Divider, null))) : null, isRecommendedCoursesLoading || recommendedCourses.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
238
236
|
pb: 2
|
|
239
237
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
240
238
|
className: classes.header
|
|
@@ -243,7 +241,7 @@ function Dashboard({
|
|
|
243
241
|
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
244
242
|
variant: "h5",
|
|
245
243
|
component: "h2"
|
|
246
|
-
},
|
|
244
|
+
}, recommendedCourses.length > 0 ? t("recommended_courses") : /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
247
245
|
variant: "rectangular",
|
|
248
246
|
height: 32,
|
|
249
247
|
width: 250
|
|
@@ -269,7 +267,7 @@ function Dashboard({
|
|
|
269
267
|
t: t,
|
|
270
268
|
reviewPlaceholderImageUrl: reviewPlaceholderImageUrl,
|
|
271
269
|
memberPlaceholderImageUrl: memberPlaceholderImageUrl,
|
|
272
|
-
courses: Array.isArray(
|
|
270
|
+
courses: Array.isArray(recommendedCourses) && recommendedCourses.length ? recommendedCourses : null,
|
|
273
271
|
completions: completions,
|
|
274
272
|
handleStartCourse: handleStartCourse,
|
|
275
273
|
handleLeaveCourse: handleLeaveCourse,
|
|
@@ -289,11 +287,10 @@ function Dashboard({
|
|
|
289
287
|
getCourseMembers: getCourseMembers,
|
|
290
288
|
memberId: memberId,
|
|
291
289
|
username: username,
|
|
292
|
-
handleDuplicateCourse: handleDuplicateCourse
|
|
293
|
-
ariaText: "Continue teaching "
|
|
290
|
+
handleDuplicateCourse: handleDuplicateCourse
|
|
294
291
|
})), /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
295
292
|
pb: 2
|
|
296
|
-
}, /*#__PURE__*/_react.default.createElement(_material.Divider, null))) : null,
|
|
293
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Divider, null))) : null, isNewCoursesLoading || newCourses.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
297
294
|
pb: 2
|
|
298
295
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
299
296
|
className: classes.header
|
|
@@ -302,7 +299,7 @@ function Dashboard({
|
|
|
302
299
|
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
303
300
|
variant: "h5",
|
|
304
301
|
component: "h2"
|
|
305
|
-
}, newCourses.length > 0 ? t("
|
|
302
|
+
}, newCourses.length > 0 ? t("new_courses") : /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
306
303
|
variant: "rectangular",
|
|
307
304
|
height: 32,
|
|
308
305
|
width: 250
|
|
@@ -328,7 +325,7 @@ function Dashboard({
|
|
|
328
325
|
t: t,
|
|
329
326
|
reviewPlaceholderImageUrl: reviewPlaceholderImageUrl,
|
|
330
327
|
memberPlaceholderImageUrl: memberPlaceholderImageUrl,
|
|
331
|
-
courses: Array.isArray(
|
|
328
|
+
courses: Array.isArray(newCourses) && newCourses.length ? newCourses : null,
|
|
332
329
|
completions: completions,
|
|
333
330
|
handleStartCourse: handleStartCourse,
|
|
334
331
|
handleLeaveCourse: handleLeaveCourse,
|
|
@@ -444,64 +441,6 @@ function Dashboard({
|
|
|
444
441
|
disablePreview: true
|
|
445
442
|
})), /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
446
443
|
pb: 2
|
|
447
|
-
}, /*#__PURE__*/_react.default.createElement(_material.Divider, null))) : null, isNewCoursesLoading || newCourses.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
448
|
-
pb: 2
|
|
449
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
450
|
-
className: classes.header
|
|
451
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
452
|
-
className: classes.headerText
|
|
453
|
-
}, /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
454
|
-
variant: "h5",
|
|
455
|
-
component: "h2"
|
|
456
|
-
}, newCourses.length > 0 ? t("new_courses") : /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
|
|
457
|
-
variant: "rectangular",
|
|
458
|
-
height: 32,
|
|
459
|
-
width: 250
|
|
460
|
-
}))), /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
461
|
-
title: t("find_course")
|
|
462
|
-
}, /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
463
|
-
onClick: handleSearchCourses,
|
|
464
|
-
"aria-label": t("find_course"),
|
|
465
|
-
color: "inherit",
|
|
466
|
-
"data-cy": "search-course-fab",
|
|
467
|
-
size: "large",
|
|
468
|
-
role: "link"
|
|
469
|
-
}, /*#__PURE__*/_react.default.createElement(_Search.default, null))), /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
470
|
-
title: t("create_course")
|
|
471
|
-
}, /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
472
|
-
onClick: handleCreateCourse,
|
|
473
|
-
"aria-label": t("create_course"),
|
|
474
|
-
color: "inherit",
|
|
475
|
-
"data-cy": "add-course-fab",
|
|
476
|
-
size: "large",
|
|
477
|
-
role: "link"
|
|
478
|
-
}, /*#__PURE__*/_react.default.createElement(_Add.default, null)))), /*#__PURE__*/_react.default.createElement(_Courses.default, {
|
|
479
|
-
t: t,
|
|
480
|
-
reviewPlaceholderImageUrl: reviewPlaceholderImageUrl,
|
|
481
|
-
memberPlaceholderImageUrl: memberPlaceholderImageUrl,
|
|
482
|
-
courses: Array.isArray(newCourses) && newCourses.length ? newCourses : null,
|
|
483
|
-
completions: completions,
|
|
484
|
-
handleStartCourse: handleStartCourse,
|
|
485
|
-
handleLeaveCourse: handleLeaveCourse,
|
|
486
|
-
handleViewCourseTopic: handleViewCourseTopic,
|
|
487
|
-
handleViewCourse: handleViewCourse,
|
|
488
|
-
handleViewUserProfile: handleViewUserProfile,
|
|
489
|
-
membersProps: membersProps,
|
|
490
|
-
getMemberDetails: getMemberDetails,
|
|
491
|
-
getMemberInfo: getMemberInfo,
|
|
492
|
-
getUserReviews: getUserReviews,
|
|
493
|
-
avatars: avatars,
|
|
494
|
-
singleLineGrid: singleLineGrid,
|
|
495
|
-
singleLineGridCols: singleLineGridCols,
|
|
496
|
-
getCourseSections: getCourseSections,
|
|
497
|
-
getCourseReviews: getCourseReviews,
|
|
498
|
-
getCourseMember: getCourseMember,
|
|
499
|
-
getCourseMembers: getCourseMembers,
|
|
500
|
-
memberId: memberId,
|
|
501
|
-
username: username,
|
|
502
|
-
handleDuplicateCourse: handleDuplicateCourse
|
|
503
|
-
})), /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
504
|
-
pb: 2
|
|
505
444
|
}, /*#__PURE__*/_react.default.createElement(_material.Divider, null))) : null);
|
|
506
445
|
}
|
|
507
446
|
Dashboard.defaultProps = {
|
|
@@ -79,8 +79,9 @@ Loading.storyName = "loading";
|
|
|
79
79
|
const Loaded = exports.Loaded = Template.bind({});
|
|
80
80
|
Loaded.args = {
|
|
81
81
|
...props,
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
popularCourses: _Courses.courses,
|
|
83
|
+
recommendedCourses: _Courses.courses,
|
|
84
|
+
newCourses: _Courses.courses,
|
|
84
85
|
newRoleplays: _Roleplays.roleplays,
|
|
85
86
|
newBots: _Bots.bots
|
|
86
87
|
};
|