@nualang/nualang-ui-components 0.1.1219 → 0.1.1221

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.
@@ -0,0 +1,599 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _material = require("@mui/material");
9
+ var _styles = require("@mui/material/styles");
10
+ var _useMediaQuery = _interopRequireDefault(require("@mui/material/useMediaQuery"));
11
+ var _ImageSearch = _interopRequireDefault(require("@mui/icons-material/ImageSearch"));
12
+ var _PlayCircleOutline = _interopRequireDefault(require("@mui/icons-material/PlayCircleOutline"));
13
+ var _Hearing = _interopRequireDefault(require("@mui/icons-material/Hearing"));
14
+ var _SwapHoriz = _interopRequireDefault(require("@mui/icons-material/SwapHoriz"));
15
+ var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
16
+ var _ExpandLess = _interopRequireDefault(require("@mui/icons-material/ExpandLess"));
17
+ var _RecordVoiceOver = _interopRequireDefault(require("@mui/icons-material/RecordVoiceOver"));
18
+ var _Forum = _interopRequireDefault(require("@mui/icons-material/Forum"));
19
+ var _OndemandVideo = _interopRequireDefault(require("@mui/icons-material/OndemandVideo"));
20
+ var _AssignmentRoleplaySelection = _interopRequireDefault(require("../AssignmentRoleplaySelection/AssignmentRoleplaySelection"));
21
+ var _CardElements = require("../../Cards/CardElements");
22
+ var _CheckCircle = _interopRequireDefault(require("@mui/icons-material/CheckCircle"));
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
+ function Exercise({
26
+ name,
27
+ description,
28
+ courseSectionTopicId,
29
+ handleCreateGame,
30
+ section,
31
+ t,
32
+ isExerciseSelected,
33
+ setIsExerciseSelected,
34
+ roleplays,
35
+ phrases,
36
+ handleSelectExercise = null,
37
+ selectedExercises,
38
+ useCase,
39
+ assignment,
40
+ handleStartExercise,
41
+ isAssignment,
42
+ isCreator
43
+ }) {
44
+ const [listeningHidden, setListeningHidden] = (0, _react.useState)(false);
45
+ const [translationHidden, setTranslationHidden] = (0, _react.useState)(false);
46
+ const [pronunciationHidden, setPronunciationHidden] = (0, _react.useState)(false);
47
+ const isAssignmentExerciseSelected = selectedExercises.some(e => e.name === name && e.courseSectionTopicId === courseSectionTopicId);
48
+ const noRoleplays = name.toLowerCase() === "roleplays" && roleplays.length === 0;
49
+ const [roleplaysOpen, setRoleplaysOpen] = (0, _react.useState)(noRoleplays ? false : true);
50
+ const handleToggleRoleplays = () => {
51
+ setRoleplaysOpen(!roleplaysOpen);
52
+ };
53
+ const handleExerciseSelected = () => {
54
+ setIsExerciseSelected(true);
55
+ handleCreateGame({
56
+ courseSectionTopicId: courseSectionTopicId,
57
+ exercise: name,
58
+ timer: 30,
59
+ answerOption: 0
60
+ });
61
+ };
62
+ (0, _react.useEffect)(() => {
63
+ section.topics.forEach(topic => {
64
+ if (topic.hiddenExercises && topic.hiddenExercises.includes("listening")) {
65
+ setListeningHidden(true);
66
+ }
67
+ if (topic.hiddenExercises && topic.hiddenExercises.includes("translation")) {
68
+ setTranslationHidden(true);
69
+ }
70
+ if (topic.hiddenExercises && topic.hiddenExercises.includes("pronunciation")) {
71
+ setPronunciationHidden(true);
72
+ }
73
+ });
74
+ }, [section]);
75
+ const isValidExercise = phrases.length >= 2 || name.toLowerCase() === "roleplays";
76
+ if (name.toLowerCase() === "listening" && listeningHidden || name.toLowerCase() === "translation" && translationHidden || name.toLowerCase() === "pronunciation" && pronunciationHidden) {
77
+ return null;
78
+ }
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Tooltip, {
80
+ title: name === "roleplays" && noRoleplays ? t("topic_no_roleplays") : !isValidExercise ? t("minimum_two_phrases") : "",
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.ListItemButton, {
82
+ onClick: () => {
83
+ name.toLowerCase() === "roleplays" ? handleToggleRoleplays() : useCase === "assignment" ? handleSelectExercise([{
84
+ name,
85
+ courseSectionTopicId
86
+ }]) : handleExerciseSelected();
87
+ },
88
+ display: "flex",
89
+ alignItems: "center",
90
+ justifyContent: "space-between",
91
+ disabled: isExerciseSelected || !isValidExercise || noRoleplays,
92
+ sx: theme => ({
93
+ [theme.breakpoints.up("sm")]: {
94
+ ml: 3.5
95
+ }
96
+ }),
97
+ children: [name.toLowerCase() === "listening" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Hearing.default, {})
99
+ }), name.toLowerCase() === "translation" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
100
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SwapHoriz.default, {})
101
+ }), name.toLowerCase() === "pronunciation" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
102
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RecordVoiceOver.default, {})
103
+ }), name.toLowerCase() === "roleplays" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
104
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Forum.default, {})
105
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
106
+ width: "100%",
107
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
108
+ primary: t(name),
109
+ secondary: t(description)
110
+ })
111
+ }), name.toLowerCase() === "roleplays" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
112
+ children: roleplaysOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandLess.default, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandMore.default, {})
113
+ }), (name.toLowerCase() === "listening" || name.toLowerCase() === "translation" || name.toLowerCase() === "pronunciation") && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
114
+ children: isAssignment ? useCase === "assignment" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Checkbox, {
115
+ checked: isAssignmentExerciseSelected,
116
+ onClick: event => {
117
+ event.stopPropagation();
118
+ } //so clicking on the checkbox doesnt also trigger the onclick of the listItemButton
119
+ ,
120
+ onChange: () => {
121
+ handleSelectExercise([{
122
+ name,
123
+ courseSectionTopicId
124
+ }]);
125
+ }
126
+ }) :
127
+ /*#__PURE__*/
128
+ //add check to see if the exercise is completed
129
+ (0, _jsxRuntime.jsx)(_CheckCircle.default, {
130
+ color: "success"
131
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PlayCircleOutline.default, {
132
+ color: "primary"
133
+ })
134
+ })]
135
+ }), name.toLowerCase() === "roleplays" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Collapse, {
136
+ in: roleplaysOpen,
137
+ timeout: "auto",
138
+ unmountOnExit: true,
139
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
140
+ ml: 7,
141
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AssignmentRoleplaySelection.default, {
142
+ roleplays: roleplays,
143
+ handleCreateGame: handleCreateGame,
144
+ courseSectionTopicId: courseSectionTopicId,
145
+ t: t,
146
+ isExerciseSelected: isExerciseSelected,
147
+ handleSelectExercise: handleSelectExercise,
148
+ selectedExercises: selectedExercises,
149
+ useCase: useCase
150
+ })
151
+ })
152
+ })]
153
+ });
154
+ }
155
+ function ExerciseList({
156
+ t,
157
+ exercises = [],
158
+ isMember,
159
+ courseId,
160
+ sectionId,
161
+ topicId,
162
+ handleCreateGame,
163
+ section,
164
+ isExerciseSelected,
165
+ setIsExerciseSelected,
166
+ roleplays,
167
+ phrases,
168
+ handleSelectExercise,
169
+ selectedExercises,
170
+ useCase,
171
+ assignment,
172
+ handleStartExercise,
173
+ isAssignment,
174
+ isCreator,
175
+ ...otherProps
176
+ }) {
177
+ const courseSectionTopicId = `${courseId}|${sectionId}|${topicId}`;
178
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.List, {
179
+ component: "div",
180
+ disablePadding: true,
181
+ children: exercises.map((exercise, i) => {
182
+ const keyId = `exerc_${courseSectionTopicId}_${exercise}_${i}`;
183
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Exercise, {
184
+ t: t,
185
+ ...exercise,
186
+ isMember: isMember,
187
+ courseSectionTopicId: courseSectionTopicId,
188
+ handleCreateGame: handleCreateGame,
189
+ section: section,
190
+ isExerciseSelected: isExerciseSelected,
191
+ setIsExerciseSelected: setIsExerciseSelected,
192
+ roleplays: roleplays,
193
+ courseId: courseId,
194
+ sectionId: sectionId,
195
+ topicId: topicId,
196
+ phrases: phrases,
197
+ handleSelectExercise: handleSelectExercise,
198
+ selectedExercises: selectedExercises,
199
+ useCase: useCase,
200
+ assignment: assignment,
201
+ handleStartExercise: handleStartExercise,
202
+ isAssignment: isAssignment,
203
+ isCreator: isCreator,
204
+ ...otherProps
205
+ }, keyId);
206
+ })
207
+ });
208
+ }
209
+ function Topic({
210
+ t,
211
+ courseId,
212
+ sectionId,
213
+ topicId,
214
+ topicName,
215
+ videoUrl,
216
+ description,
217
+ picture,
218
+ roleplays = [],
219
+ bots = [],
220
+ completions = [],
221
+ isMember,
222
+ nextTopic,
223
+ prevTopic,
224
+ handleViewCourseTopic,
225
+ isTopicHidden,
226
+ completion = {},
227
+ sectionIndex,
228
+ index,
229
+ moveTopic,
230
+ onDropSection,
231
+ handleCreateGame,
232
+ phrases,
233
+ section,
234
+ isExerciseSelected,
235
+ setIsExerciseSelected,
236
+ getRoleplays,
237
+ handleSelectExercise,
238
+ selectedExercises,
239
+ useCase,
240
+ assignment,
241
+ handleStartExercise,
242
+ isAssignment,
243
+ isCreator,
244
+ ...otherProps
245
+ }) {
246
+ const theme = (0, _styles.useTheme)();
247
+ const isLargeScreen = (0, _useMediaQuery.default)(theme.breakpoints.up("sm"));
248
+ const [isExerciseListOpen, setExerciseListOpen] = (0, _react.useState)(false);
249
+ const [isWholeTopicSelected, setIsWholeTopicSelected] = (0, _react.useState)(false);
250
+ const exercises = useCase === "assignment" ? [{
251
+ name: "translation",
252
+ description: `translation_exercise_desc`
253
+ }, {
254
+ name: "listening",
255
+ description: `listening_exercise_desc`
256
+ }, {
257
+ name: "pronunciation",
258
+ description: `pronunciation_exercise_desc`
259
+ }, {
260
+ name: "roleplays",
261
+ description: `roleplay_exercise_desc`
262
+ }] : [{
263
+ name: "translation",
264
+ description: `translation_exercise_desc`
265
+ }, {
266
+ name: "listening",
267
+ description: `listening_exercise_desc`
268
+ }, {
269
+ name: "roleplays",
270
+ description: `roleplay_exercise_desc`
271
+ }];
272
+ const games = ["roleplay-story", "roleplay-fill-in-the-blanks", "roleplay-act-it-out", "roleplay-act-it-out-listening", "roleplay-act-it-out-speaking", "roleplay-act-it-out-listening-speaking"];
273
+ (0, _react.useEffect)(() => {
274
+ const exerciseCount = selectedExercises.filter(exercise => exercise.courseSectionTopicId === `${courseId}|${sectionId}|${topicId}`).length;
275
+ const roleplayCount = selectedExercises.filter(exercise => exercise.roleplayId && roleplays.some(roleplay => roleplay.roleplayId === exercise.roleplayId)).length;
276
+ const total = roleplays.length * 6 + 3;
277
+ if (exerciseCount + roleplayCount === total) {
278
+ setIsWholeTopicSelected(true);
279
+ } else {
280
+ setIsWholeTopicSelected(false);
281
+ }
282
+ }, [selectedExercises]);
283
+ const handleSelectAll = () => {
284
+ if (isWholeTopicSelected) {
285
+ const removeExercises = selectedExercises.filter(exercise => exercise.courseSectionTopicId === `${courseId}|${sectionId}|${topicId}` || exercise.roleplayId && roleplays.some(roleplay => roleplay.roleplayId === exercise.roleplayId));
286
+ handleSelectExercise(removeExercises);
287
+ } else {
288
+ let exercisesToAdd = [];
289
+ exercises.filter(e => e.name !== "roleplays").forEach(exercise => {
290
+ if (!selectedExercises.some(e => e.courseSectionTopicId === `${courseId}|${sectionId}|${topicId}` && e.name === exercise.name)) {
291
+ exercisesToAdd = [...exercisesToAdd, {
292
+ courseSectionTopicId: `${courseId}|${sectionId}|${topicId}`,
293
+ name: exercise.name
294
+ }];
295
+ }
296
+ });
297
+ roleplays.forEach(roleplay => {
298
+ games.forEach(game => {
299
+ if (!selectedExercises.some(e => e.roleplayId === roleplay.roleplayId && e.game === game)) {
300
+ exercisesToAdd = [...exercisesToAdd, {
301
+ roleplayId: roleplay.roleplayId,
302
+ game
303
+ }];
304
+ }
305
+ });
306
+ });
307
+ handleSelectExercise(exercisesToAdd);
308
+ }
309
+ };
310
+ const toggleExerciseList = () => {
311
+ setExerciseListOpen(!isExerciseListOpen);
312
+ };
313
+ const hasNonEmptyRoleplay = roleplays.some(roleplay => roleplay?.script?.length !== 0 && roleplay?.script?.some(line => line.text !== undefined));
314
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
315
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Tooltip, {
316
+ title: phrases.length === 0 ? t("topic_no_phrases") : "",
317
+ placement: "top",
318
+ children: [!isTopicHidden && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.ListItemButton, {
319
+ display: "flex",
320
+ alignItems: "center",
321
+ justifyContent: "space-between",
322
+ onClick: toggleExerciseList,
323
+ "data-cy": "topic-list-item",
324
+ disabled: phrases.length === 0 && !hasNonEmptyRoleplay || isExerciseSelected,
325
+ children: [isLargeScreen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemAvatar, {
326
+ children: picture ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Avatar, {
327
+ src: picture,
328
+ alt: topicName
329
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Avatar, {
330
+ alt: topicName,
331
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ImageSearch.default, {})
332
+ })
333
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
334
+ fontWeight: "fontWeightBold",
335
+ width: "100%",
336
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
337
+ primary: isLargeScreen ? topicName || "" : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
338
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
339
+ mb: 1,
340
+ children: picture ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Avatar, {
341
+ src: picture,
342
+ alt: topicName
343
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Avatar, {
344
+ alt: topicName,
345
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ImageSearch.default, {})
346
+ })
347
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
348
+ variant: "body1",
349
+ children: topicName || ""
350
+ })]
351
+ }),
352
+ secondary: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
353
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
354
+ variant: "body2",
355
+ component: "p",
356
+ color: "textSecondary",
357
+ children: description
358
+ })
359
+ })
360
+ }), videoUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
361
+ display: "flex",
362
+ alignItems: "center",
363
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CardElements.CardInfoSectionItem, {
364
+ component: "span",
365
+ color: "textSecondary",
366
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OndemandVideo.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
367
+ variant: "body2",
368
+ ml: 0.5,
369
+ color: "textSecondary",
370
+ children: t("video_included")
371
+ })]
372
+ })
373
+ })]
374
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
375
+ children: isExerciseListOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandLess.default, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandMore.default, {})
376
+ }), useCase === "assignment" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
377
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Checkbox, {
378
+ checked: isWholeTopicSelected,
379
+ onClick: event => {
380
+ event.stopPropagation();
381
+ },
382
+ onChange: handleSelectAll
383
+ })
384
+ })]
385
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Collapse, {
386
+ in: isExerciseListOpen,
387
+ timeout: "auto",
388
+ unmountOnExit: true,
389
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ExerciseList, {
390
+ t: t,
391
+ topicInfo: {
392
+ topicName,
393
+ description
394
+ },
395
+ exercises: exercises,
396
+ isMember: isMember,
397
+ courseId: courseId,
398
+ sectionId: sectionId,
399
+ topicId: topicId,
400
+ handleCreateGame: handleCreateGame,
401
+ section: section,
402
+ isExerciseSelected: isExerciseSelected,
403
+ setIsExerciseSelected: setIsExerciseSelected,
404
+ roleplays: roleplays,
405
+ phrases: phrases,
406
+ handleSelectExercise: handleSelectExercise,
407
+ selectedExercises: selectedExercises,
408
+ useCase: useCase,
409
+ assignment: assignment,
410
+ handleStartExercise: handleStartExercise,
411
+ isAssignment: isAssignment,
412
+ isCreator: isCreator,
413
+ ...otherProps
414
+ })
415
+ })]
416
+ })
417
+ });
418
+ }
419
+ function Section({
420
+ t,
421
+ courseId,
422
+ sectionId,
423
+ sectionName,
424
+ isHidden,
425
+ topics = [],
426
+ handleCreateGame,
427
+ section,
428
+ isExerciseSelected,
429
+ setIsExerciseSelected,
430
+ getRoleplays,
431
+ handleSelectExercise,
432
+ selectedExercises,
433
+ useCase,
434
+ assignment,
435
+ handleStartExercise,
436
+ isAssignment,
437
+ isCreator,
438
+ ...otherProps
439
+ }) {
440
+ const root = {
441
+ width: "100%"
442
+ };
443
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
444
+ children: !isHidden && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.List, {
445
+ subheader: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListSubheader, {
446
+ disableGutters: true,
447
+ disableSticky: true,
448
+ component: "div",
449
+ id: `${sectionName}-section-list-subheader`,
450
+ sx: {
451
+ fontWeight: !isExerciseSelected ? "bold" : "normal"
452
+ },
453
+ children: sectionName
454
+ }),
455
+ sx: root,
456
+ children: topics.map((topic, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Topic, {
457
+ index: i,
458
+ topics: topics,
459
+ topicLength: topics.length,
460
+ sectionId: sectionId,
461
+ handleCreateGame: handleCreateGame,
462
+ courseId: courseId,
463
+ phrases: topic.phrases,
464
+ section: section,
465
+ t: t,
466
+ ...topic,
467
+ ...otherProps,
468
+ picture: topic.picture,
469
+ isExerciseSelected: isExerciseSelected,
470
+ setIsExerciseSelected: setIsExerciseSelected,
471
+ getRoleplays: getRoleplays,
472
+ handleSelectExercise: handleSelectExercise,
473
+ selectedExercises: selectedExercises,
474
+ useCase: useCase,
475
+ assignment: assignment,
476
+ handleStartExercise: handleStartExercise,
477
+ isAssignment: isAssignment,
478
+ isCreator: isCreator
479
+ }, `${sectionId}-${topic.topicId}`))
480
+ })
481
+ });
482
+ }
483
+ function SectionList({
484
+ sections = [],
485
+ handleFetchTopic,
486
+ teachClassrooms,
487
+ handleCreateGame,
488
+ courseId,
489
+ t,
490
+ isExerciseSelected,
491
+ setIsExerciseSelected,
492
+ getRoleplays,
493
+ handleSelectExercise,
494
+ selectedExercises,
495
+ useCase,
496
+ assignment,
497
+ handleStartExercise,
498
+ isAssignment,
499
+ isCreator,
500
+ ...otherProps
501
+ }) {
502
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
503
+ children: sections.length > 0 ? sections.map((section, index) => {
504
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Section, {
505
+ index: index,
506
+ handleFetchTopic: handleFetchTopic,
507
+ teachClassrooms: teachClassrooms,
508
+ handleCreateGame: handleCreateGame,
509
+ courseId: courseId,
510
+ t: t,
511
+ ...section,
512
+ isExerciseSelected: isExerciseSelected,
513
+ setIsExerciseSelected: setIsExerciseSelected,
514
+ section: section,
515
+ getRoleplays: getRoleplays,
516
+ handleSelectExercise: handleSelectExercise,
517
+ selectedExercises: selectedExercises,
518
+ useCase: useCase,
519
+ assignment: assignment,
520
+ handleStartExercise: handleStartExercise,
521
+ isAssignment: isAssignment,
522
+ isCreator: isCreator,
523
+ ...otherProps
524
+ }, section.sectionId);
525
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
526
+ children: t("sections_not_found")
527
+ })
528
+ });
529
+ }
530
+ function AssignmentExerciseSelection({
531
+ t = text => text,
532
+ sections = [],
533
+ isMember,
534
+ isCreator,
535
+ courseId,
536
+ handleFetchTopic,
537
+ isPublic,
538
+ handleSwitchChange,
539
+ isLoading,
540
+ teachClassrooms,
541
+ handleCreateGame,
542
+ isExerciseSelected,
543
+ setIsExerciseSelected,
544
+ getRoleplays,
545
+ handleSelectExercise,
546
+ selectedExercises,
547
+ useCase,
548
+ assignment,
549
+ handleStartExercise,
550
+ isAssignment,
551
+ ...otherProps
552
+ }) {
553
+ if (isLoading) {
554
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
555
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SectionList, {
556
+ t: t,
557
+ sections: sections,
558
+ isMember: isMember,
559
+ courseId: courseId,
560
+ handleFetchTopic: handleFetchTopic,
561
+ isCreator: isCreator,
562
+ isPublic: isPublic,
563
+ handleSwitchChange: handleSwitchChange,
564
+ teachClassrooms: teachClassrooms,
565
+ handleCreateGame: handleCreateGame,
566
+ isExerciseSelected: isExerciseSelected,
567
+ setIsExerciseSelected: setIsExerciseSelected,
568
+ getRoleplays: getRoleplays,
569
+ assignment: assignment,
570
+ handleStartExercise: handleStartExercise,
571
+ isAssignment: isAssignment,
572
+ ...otherProps
573
+ })
574
+ });
575
+ }
576
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
577
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SectionList, {
578
+ t: t,
579
+ sections: sections,
580
+ isMember: isMember,
581
+ courseId: courseId,
582
+ handleFetchTopic: handleFetchTopic,
583
+ isCreator: isCreator,
584
+ isPublic: isPublic,
585
+ handleSwitchChange: handleSwitchChange,
586
+ teachClassrooms: teachClassrooms,
587
+ handleCreateGame: handleCreateGame,
588
+ isExerciseSelected: isExerciseSelected,
589
+ setIsExerciseSelected: setIsExerciseSelected,
590
+ handleSelectExercise: handleSelectExercise,
591
+ selectedExercises: selectedExercises,
592
+ useCase: useCase,
593
+ isAssignment: isAssignment,
594
+ assignment: assignment,
595
+ ...otherProps
596
+ })
597
+ });
598
+ }
599
+ var _default = exports.default = AssignmentExerciseSelection;
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "AssignmentExerciseSelection",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "main": "./AssignmentExerciseSelection.js"
6
+ }
7
+
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _system = require("@mui/system");
9
+ var _AssignmentCourseSelection = _interopRequireDefault(require("../AssignmentCourseSelection/AssignmentCourseSelection"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function AssignmentExerciseSelector({
13
+ t = text => text,
14
+ assignment,
15
+ handleStartExercise,
16
+ username,
17
+ getCourseSections,
18
+ getRoleplays,
19
+ isAssignment,
20
+ isCreator
21
+ }) {
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_system.Box, {
23
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AssignmentCourseSelection.default, {
24
+ t: t,
25
+ assignment: assignment,
26
+ handleStartExercise: handleStartExercise,
27
+ username: username,
28
+ courses: assignment.courses,
29
+ getCourseSections: getCourseSections,
30
+ getRoleplays: getRoleplays,
31
+ isAssignment: isAssignment,
32
+ isCreator: isCreator
33
+ })
34
+ });
35
+ }
36
+ var _default = exports.default = AssignmentExerciseSelector;
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "AssignmentExerciseSelector",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "main": "./AssignmentExerciseSelector.js"
6
+ }
7
+