touchstudy-core 0.1.196 → 0.1.197
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/components/Chats/ChatContainer.d.ts +1 -5
- package/dist/components/Chats/components/InputChat.d.ts +2 -8
- package/dist/components/Chats/configs/constants.d.ts +1 -8
- package/dist/components/Chats/configs/types.d.ts +0 -2
- package/dist/components/Chats/hooks/useChatContainer.d.ts +2 -6
- package/dist/components/Selects/CustomSelectOption.d.ts +1 -1
- package/dist/index.css +16 -4
- package/dist/index.js +239 -1083
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +244 -1088
- package/dist/index.modern.js.map +1 -1
- package/dist/layouts/TimerDialog.d.ts +3 -1
- package/dist/layouts/configs/constants.d.ts +2 -0
- package/dist/layouts/configs/enums.d.ts +6 -0
- package/dist/layouts/configs/fn.d.ts +3 -0
- package/dist/layouts/configs/types.d.ts +8 -0
- package/dist/layouts/hooks/useAlarm.d.ts +19 -0
- package/dist/layouts/hooks/useCountDownTimer.d.ts +6 -2
- package/dist/layouts/hooks/useTimers.d.ts +14 -0
- package/dist/layouts/partials/Alarm/AlarmClock.d.ts +12 -0
- package/dist/layouts/partials/Alarm/AlarmClockNote.d.ts +3 -0
- package/dist/layouts/partials/Alarm/AlarmClockPanel.d.ts +12 -0
- package/dist/layouts/partials/Alarm/AlarmClockPanelNote.d.ts +3 -0
- package/dist/layouts/partials/Alarm/AlarmClockTab.d.ts +14 -0
- package/dist/layouts/partials/Alarm/AlarmSpeakerCheckbox.d.ts +8 -0
- package/dist/layouts/partials/Alarm/AudioToastContent.d.ts +8 -0
- package/dist/layouts/partials/AlarmClock.d.ts +3 -1
- package/dist/layouts/partials/AlarmClockNote.d.ts +3 -0
- package/dist/layouts/partials/AlarmClockPanel.d.ts +3 -1
- package/dist/layouts/partials/AlarmClockPanelNote.d.ts +3 -0
- package/dist/layouts/partials/AlarmClockTab.d.ts +4 -3
- package/dist/layouts/partials/AudioToastContent.d.ts +8 -0
- package/dist/layouts/partials/StudyTimerTab.d.ts +2 -1
- package/dist/layouts/partials/TimeUpdateDialog.d.ts +7 -0
- package/dist/layouts/partials/Timer/StudyTimerTab.d.ts +13 -0
- package/dist/layouts/partials/Timer/TimeLineTabPanel.d.ts +8 -0
- package/dist/layouts/partials/Timer/TimeLineTabs.d.ts +11 -0
- package/dist/layouts/partials/Timer/TimeUpdateDialog.d.ts +7 -0
- package/dist/layouts/partials/Timer/TimerCountItem.d.ts +10 -0
- package/dist/layouts/partials/Timer/TimerDivider.d.ts +9 -0
- package/dist/layouts/partials/Timer/TimerItem.d.ts +12 -0
- package/dist/layouts/partials/Timer/TimerLineItem.d.ts +13 -0
- package/dist/layouts/partials/Timer/TimerTabPanel.d.ts +8 -0
- package/dist/layouts/partials/Timer/TimerTabs.d.ts +7 -0
- package/dist/layouts/partials/TimerItem.d.ts +2 -1
- package/dist/services/alarmService.d.ts +9 -0
- package/dist/utils/types/examResults.d.ts +1 -0
- package/dist/utils/types/subjects.d.ts +4 -2
- package/package.json +1 -2
package/dist/index.js
CHANGED
@@ -37,10 +37,8 @@ var CreatableSelect = _interopDefault(require('react-select/creatable'));
|
|
37
37
|
var tinymce = _interopDefault(require('tinymce'));
|
38
38
|
require('@wiris/mathtype-tinymce6');
|
39
39
|
var tinymceReact = require('@tinymce/tinymce-react');
|
40
|
-
var reactSketchCanvas = require('react-sketch-canvas');
|
41
|
-
var md = require('react-icons/md');
|
42
|
-
var gr = require('react-icons/gr');
|
43
40
|
var fa6 = require('react-icons/fa6');
|
41
|
+
var md = require('react-icons/md');
|
44
42
|
var colors = require('@mui/material/colors');
|
45
43
|
var Grid = _interopDefault(require('@mui/material/Grid'));
|
46
44
|
var Card = _interopDefault(require('@mui/material/Card'));
|
@@ -64,6 +62,7 @@ var TableCell = _interopDefault(require('@mui/material/TableCell'));
|
|
64
62
|
var TableRow = _interopDefault(require('@mui/material/TableRow'));
|
65
63
|
var html2pdf = _interopDefault(require('html2pdf.js'));
|
66
64
|
var Slider = _interopDefault(require('react-slick'));
|
65
|
+
var gr = require('react-icons/gr');
|
67
66
|
var Table = _interopDefault(require('@mui/material/Table'));
|
68
67
|
var TableBody = _interopDefault(require('@mui/material/TableBody'));
|
69
68
|
var TableHead = _interopDefault(require('@mui/material/TableHead'));
|
@@ -1578,8 +1577,9 @@ var there_are_no_problems_you_were_working_on = "풀던 문제가 없습니다."
|
|
1578
1577
|
var incomplete_exam = "미참가";
|
1579
1578
|
var completed_exam = "참가";
|
1580
1579
|
var failed_to_send_the_image_error = "이미지를 보내지 못했습니다: {{ message }}";
|
1581
|
-
var
|
1582
|
-
var
|
1580
|
+
var exam_session = "시험 세션";
|
1581
|
+
var must_select_an_exam_first = "먼저 시험을 선택해야 합니다";
|
1582
|
+
var not_selected = "미선택";
|
1583
1583
|
var lang_ko = {
|
1584
1584
|
problem_solving: problem_solving,
|
1585
1585
|
my_story: my_story,
|
@@ -2789,8 +2789,9 @@ var lang_ko = {
|
|
2789
2789
|
incomplete_exam: incomplete_exam,
|
2790
2790
|
completed_exam: completed_exam,
|
2791
2791
|
failed_to_send_the_image_error: failed_to_send_the_image_error,
|
2792
|
-
|
2793
|
-
|
2792
|
+
exam_session: exam_session,
|
2793
|
+
must_select_an_exam_first: must_select_an_exam_first,
|
2794
|
+
not_selected: not_selected
|
2794
2795
|
};
|
2795
2796
|
|
2796
2797
|
var problem_solving$1 = "Problem Solving";
|
@@ -4026,8 +4027,9 @@ var there_are_no_problems_you_were_working_on$1 = "There are no problems you wer
|
|
4026
4027
|
var incomplete_exam$1 = "Incomplete";
|
4027
4028
|
var completed_exam$1 = "Completed";
|
4028
4029
|
var failed_to_send_the_image_error$1 = "Failed to send the image: {{ message }}";
|
4029
|
-
var
|
4030
|
-
var
|
4030
|
+
var exam_session$1 = "Exam session";
|
4031
|
+
var must_select_an_exam_first$1 = "Must select an exam first";
|
4032
|
+
var not_selected$1 = "Not selected";
|
4031
4033
|
var lang_en = {
|
4032
4034
|
problem_solving: problem_solving$1,
|
4033
4035
|
my_story: my_story$1,
|
@@ -5239,8 +5241,9 @@ var lang_en = {
|
|
5239
5241
|
incomplete_exam: incomplete_exam$1,
|
5240
5242
|
completed_exam: completed_exam$1,
|
5241
5243
|
failed_to_send_the_image_error: failed_to_send_the_image_error$1,
|
5242
|
-
|
5243
|
-
|
5244
|
+
exam_session: exam_session$1,
|
5245
|
+
must_select_an_exam_first: must_select_an_exam_first$1,
|
5246
|
+
not_selected: not_selected$1
|
5244
5247
|
};
|
5245
5248
|
|
5246
5249
|
i18n__default.use(reactI18next.initReactI18next).init({
|
@@ -7954,7 +7957,7 @@ var CustomSelect = function CustomSelect(_ref) {
|
|
7954
7957
|
}, rest));
|
7955
7958
|
};
|
7956
7959
|
|
7957
|
-
var _excluded$3 = ["defaultValue", "options", "isDisabled", "scrollBottom", "value", "isMulti", "valueById", "isTextbook"];
|
7960
|
+
var _excluded$3 = ["defaultValue", "options", "isDisabled", "scrollBottom", "value", "isMulti", "valueById", "isTextbook", "styles"];
|
7958
7961
|
var CustomSelectOption = function CustomSelectOption(_ref) {
|
7959
7962
|
var defaultValue = _ref.defaultValue,
|
7960
7963
|
options = _ref.options,
|
@@ -7964,6 +7967,7 @@ var CustomSelectOption = function CustomSelectOption(_ref) {
|
|
7964
7967
|
isMulti = _ref.isMulti,
|
7965
7968
|
valueById = _ref.valueById,
|
7966
7969
|
isTextbook = _ref.isTextbook,
|
7970
|
+
styles = _ref.styles,
|
7967
7971
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
7968
7972
|
var _useTranslation = reactI18next.useTranslation(),
|
7969
7973
|
t = _useTranslation.t;
|
@@ -7990,7 +7994,7 @@ var CustomSelectOption = function CustomSelectOption(_ref) {
|
|
7990
7994
|
DropdownIndicator: DropdownIndicator,
|
7991
7995
|
Option: CustomOption
|
7992
7996
|
},
|
7993
|
-
styles: customStyles,
|
7997
|
+
styles: _extends({}, customStyles, styles),
|
7994
7998
|
placeholder: t("select_placeholder")
|
7995
7999
|
}, rest)) : React__default.createElement(Select__default, Object.assign({
|
7996
8000
|
isDisabled: isDisabled,
|
@@ -8006,7 +8010,7 @@ var CustomSelectOption = function CustomSelectOption(_ref) {
|
|
8006
8010
|
DropdownIndicator: DropdownIndicator,
|
8007
8011
|
Option: CustomOption
|
8008
8012
|
},
|
8009
|
-
styles: customStyles,
|
8013
|
+
styles: _extends({}, customStyles, styles),
|
8010
8014
|
placeholder: t("select_placeholder")
|
8011
8015
|
}, rest));
|
8012
8016
|
};
|
@@ -9013,9 +9017,7 @@ var ChatRightItem = function ChatRightItem(_ref) {
|
|
9013
9017
|
style: {
|
9014
9018
|
height: "200px",
|
9015
9019
|
position: "relative",
|
9016
|
-
objectFit: "contain"
|
9017
|
-
cursor: "pointer",
|
9018
|
-
borderRadius: "6px"
|
9020
|
+
objectFit: "contain"
|
9019
9021
|
}
|
9020
9022
|
}) : React__default.createElement("div", {
|
9021
9023
|
className: styles$2["wrap-content"] + " " + styles$2["content-chat-receiver"],
|
@@ -9098,9 +9100,7 @@ var ChatLeftItem = function ChatLeftItem(_ref) {
|
|
9098
9100
|
style: {
|
9099
9101
|
height: "200px",
|
9100
9102
|
position: "relative",
|
9101
|
-
objectFit: "contain"
|
9102
|
-
cursor: "pointer",
|
9103
|
-
borderRadius: "6px"
|
9103
|
+
objectFit: "contain"
|
9104
9104
|
}
|
9105
9105
|
}) : React__default.createElement("div", {
|
9106
9106
|
className: styles$2["wrap-content"] + " " + styles$2["content-chat-sender"],
|
@@ -9529,928 +9529,89 @@ var ChatItem = function ChatItem(props) {
|
|
9529
9529
|
open: openConfirmDialog,
|
9530
9530
|
toggle: toggleConfirmDialog,
|
9531
9531
|
text: t("confirm_delete_message"),
|
9532
|
-
onConfirm: function onConfirm() {
|
9533
|
-
return handleDeleteMessage(conversationId || 0, id || 0, toggleConfirmDialog);
|
9534
|
-
},
|
9535
|
-
title: t("confirmation"),
|
9536
|
-
okText: t("yes"),
|
9537
|
-
cancelText: t("no")
|
9538
|
-
}), React__default.createElement(UpdateMessageDialog, {
|
9539
|
-
open: openUpdateDialog,
|
9540
|
-
onClose: toggleUpdateDialog,
|
9541
|
-
content: content,
|
9542
|
-
handleUploadImage: handleUploadImage,
|
9543
|
-
selectedFile: selectedFile,
|
9544
|
-
contentType: contentType,
|
9545
|
-
handleUpdateMessage: function handleUpdateMessage(content) {
|
9546
|
-
return _handleUpdateMessage(conversationId || 0, id || 0, content, toggleUpdateDialog);
|
9547
|
-
}
|
9548
|
-
}));
|
9549
|
-
};
|
9550
|
-
|
9551
|
-
var ChatList = function ChatList(_ref) {
|
9552
|
-
var _ref$messages = _ref.messages,
|
9553
|
-
messages = _ref$messages === void 0 ? [] : _ref$messages,
|
9554
|
-
roles = _ref.roles,
|
9555
|
-
onReTrySendMessage = _ref.onReTrySendMessage,
|
9556
|
-
handleUpdateMessage = _ref.handleUpdateMessage,
|
9557
|
-
handleDeleteMessage = _ref.handleDeleteMessage,
|
9558
|
-
listItemRef = _ref.listItemRef;
|
9559
|
-
var _useTranslation = reactI18next.useTranslation(),
|
9560
|
-
t = _useTranslation.t;
|
9561
|
-
var filterMessage = React.useMemo(function () {
|
9562
|
-
var prevTime = 0;
|
9563
|
-
var prevSender;
|
9564
|
-
return messages.map(function (message) {
|
9565
|
-
var _message$sender, _message$sender2;
|
9566
|
-
var currentTime = new Date(message.createdAt).getTime();
|
9567
|
-
var showTimestamp = !prevTime || currentTime - prevTime > 20 * 60 * 1000;
|
9568
|
-
var showName = ((_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.fullName) !== prevSender;
|
9569
|
-
prevSender = (_message$sender2 = message.sender) === null || _message$sender2 === void 0 ? void 0 : _message$sender2.fullName;
|
9570
|
-
prevTime = currentTime;
|
9571
|
-
return _extends({}, message, {
|
9572
|
-
showTimestamp: showTimestamp,
|
9573
|
-
showName: showName
|
9574
|
-
});
|
9575
|
-
});
|
9576
|
-
}, [JSON.stringify(messages)]);
|
9577
|
-
var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Student);
|
9578
|
-
return React__default.createElement("ul", {
|
9579
|
-
ref: listItemRef,
|
9580
|
-
className: styles$2["list"] + " " + styles$2["padding-content"] + " d-flex h-100 flex-column mb-0 " + (!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) ? 'justify-content-center' : '')
|
9581
|
-
}, !(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) && React__default.createElement("li", {
|
9582
|
-
className: "text-muted text-center fst-italic fs-6"
|
9583
|
-
}, t('no_message')), !!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) && filterMessage.map(function (message) {
|
9584
|
-
return React__default.createElement(ChatItem, Object.assign({
|
9585
|
-
key: message.id
|
9586
|
-
}, message, {
|
9587
|
-
isStudent: isStudent,
|
9588
|
-
handleUpdateMessage: handleUpdateMessage,
|
9589
|
-
handleDeleteMessage: handleDeleteMessage,
|
9590
|
-
onReTrySendMessage: onReTrySendMessage
|
9591
|
-
}));
|
9592
|
-
}));
|
9593
|
-
};
|
9594
|
-
|
9595
|
-
var iconSendMessage = function iconSendMessage(_ref) {
|
9596
|
-
var _ref$width = _ref.width,
|
9597
|
-
width = _ref$width === void 0 ? "16" : _ref$width,
|
9598
|
-
_ref$height = _ref.height,
|
9599
|
-
height = _ref$height === void 0 ? "16" : _ref$height,
|
9600
|
-
color = _ref.color;
|
9601
|
-
return React__default.createElement("svg", {
|
9602
|
-
width: width,
|
9603
|
-
height: height,
|
9604
|
-
viewBox: "0 0 16 16",
|
9605
|
-
fill: color,
|
9606
|
-
xmlns: "http://www.w3.org/2000/svg"
|
9607
|
-
}, React__default.createElement("path", {
|
9608
|
-
d: "M14.8934 7.09539L14.8884 7.0932L1.54219 1.55758C1.42993 1.51059 1.30778 1.49217 1.18666 1.50395C1.06554 1.51573 0.949225 1.55734 0.848125 1.62508C0.741311 1.69507 0.653573 1.79052 0.592805 1.90283C0.532037 2.01515 0.500145 2.14081 0.5 2.26852V5.80883C0.50006 5.98341 0.561019 6.15249 0.67237 6.28695C0.783722 6.42141 0.938491 6.5128 1.11 6.54539L8.38906 7.89133C8.41767 7.89675 8.44348 7.91199 8.46205 7.93441C8.48062 7.95683 8.49078 7.98503 8.49078 8.01414C8.49078 8.04325 8.48062 8.07145 8.46205 8.09387C8.44348 8.1163 8.41767 8.13153 8.38906 8.13695L1.11031 9.48289C0.938851 9.5154 0.784092 9.60667 0.67269 9.74101C0.561288 9.87534 0.500219 10.0443 0.5 10.2188V13.7598C0.499917 13.8817 0.530111 14.0018 0.587871 14.1092C0.645632 14.2166 0.729152 14.3079 0.830938 14.3751C0.953375 14.4564 1.09706 14.4999 1.24406 14.5001C1.34626 14.5 1.4474 14.4795 1.54156 14.4398L14.8875 8.9357L14.8934 8.93289C15.0731 8.85569 15.2262 8.72751 15.3337 8.56421C15.4413 8.40092 15.4986 8.20968 15.4986 8.01414C15.4986 7.81861 15.4413 7.62736 15.3337 7.46407C15.2262 7.30077 15.0731 7.1726 14.8934 7.09539Z",
|
9609
|
-
fill: "white"
|
9610
|
-
}));
|
9611
|
-
};
|
9612
|
-
|
9613
|
-
var CanvasOverlay = function CanvasOverlay(_ref) {
|
9614
|
-
var open = _ref.open,
|
9615
|
-
width = _ref.width,
|
9616
|
-
height = _ref.height,
|
9617
|
-
size = _ref.size,
|
9618
|
-
color = _ref.color,
|
9619
|
-
isEraser = _ref.isEraser;
|
9620
|
-
var overlayRef = React.useRef(null);
|
9621
|
-
var _useState = React.useState({
|
9622
|
-
x: 0,
|
9623
|
-
y: 0
|
9624
|
-
}),
|
9625
|
-
cursorPosition = _useState[0],
|
9626
|
-
setCursorPosition = _useState[1];
|
9627
|
-
var _useState2 = React.useState(true),
|
9628
|
-
hideCursor = _useState2[0],
|
9629
|
-
setHideCursor = _useState2[1];
|
9630
|
-
React.useEffect(function () {
|
9631
|
-
var updateCursorPosition = function updateCursorPosition(clientX, clientY) {
|
9632
|
-
var _overlayRef$current;
|
9633
|
-
var rect = (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.getBoundingClientRect();
|
9634
|
-
var isInside = rect && clientX > rect.left && clientX < rect.right && clientY > rect.top && clientY < rect.bottom;
|
9635
|
-
setHideCursor(!isInside);
|
9636
|
-
if (rect) setCursorPosition({
|
9637
|
-
x: clientX - rect.left,
|
9638
|
-
y: clientY - rect.top
|
9639
|
-
});
|
9640
|
-
};
|
9641
|
-
var handleMouseMove = function handleMouseMove(e) {
|
9642
|
-
updateCursorPosition(e.clientX, e.clientY);
|
9643
|
-
};
|
9644
|
-
var handleTouchMove = function handleTouchMove(e) {
|
9645
|
-
if (e.touches.length > 0) {
|
9646
|
-
var touch = e.touches[0];
|
9647
|
-
updateCursorPosition(touch.clientX, touch.clientY);
|
9648
|
-
}
|
9649
|
-
};
|
9650
|
-
if (open) {
|
9651
|
-
document.addEventListener("mousemove", handleMouseMove);
|
9652
|
-
document.addEventListener("touchmove", handleTouchMove);
|
9653
|
-
}
|
9654
|
-
return function () {
|
9655
|
-
document.removeEventListener("mousemove", handleMouseMove);
|
9656
|
-
document.removeEventListener("touchmove", handleTouchMove);
|
9657
|
-
};
|
9658
|
-
}, [open]);
|
9659
|
-
var left = cursorPosition.x - size / 2;
|
9660
|
-
var top = cursorPosition.y - size / 2;
|
9661
|
-
return React__default.createElement(material.Box, {
|
9662
|
-
ref: overlayRef,
|
9663
|
-
sx: {
|
9664
|
-
position: "absolute",
|
9665
|
-
top: 0,
|
9666
|
-
left: "50%",
|
9667
|
-
transform: "translateX(-50%)",
|
9668
|
-
width: width + "px",
|
9669
|
-
height: height + "px",
|
9670
|
-
pointerEvents: "none",
|
9671
|
-
overflow: "hidden"
|
9672
|
-
},
|
9673
|
-
width: width,
|
9674
|
-
height: height
|
9675
|
-
}, React__default.createElement(material.Box, {
|
9676
|
-
sx: {
|
9677
|
-
position: "fixed",
|
9678
|
-
top: top,
|
9679
|
-
left: left,
|
9680
|
-
width: size + "px",
|
9681
|
-
height: size + "px",
|
9682
|
-
borderRadius: "50%",
|
9683
|
-
border: "1px solid " + (isEraser ? "red" : color),
|
9684
|
-
backgroundColor: isEraser ? "rgba(255,0,0,0.1)" : "transparent",
|
9685
|
-
pointerEvents: "none",
|
9686
|
-
zIndex: 10,
|
9687
|
-
display: size > 0 && !hideCursor ? "block" : "none"
|
9688
|
-
}
|
9689
|
-
}));
|
9690
|
-
};
|
9691
|
-
|
9692
|
-
var MessageSortBy;
|
9693
|
-
(function (MessageSortBy) {
|
9694
|
-
MessageSortBy["CreatedAt"] = "CreatedAt";
|
9695
|
-
})(MessageSortBy || (MessageSortBy = {}));
|
9696
|
-
var OrderBy;
|
9697
|
-
(function (OrderBy) {
|
9698
|
-
OrderBy["ASC"] = "ASC";
|
9699
|
-
OrderBy["DESC"] = "DESC";
|
9700
|
-
})(OrderBy || (OrderBy = {}));
|
9701
|
-
var StudentSortBy;
|
9702
|
-
(function (StudentSortBy) {
|
9703
|
-
StudentSortBy["CreatedAt"] = "CreatedAt";
|
9704
|
-
StudentSortBy["FullName"] = "FullName";
|
9705
|
-
})(StudentSortBy || (StudentSortBy = {}));
|
9706
|
-
var StudentOrderBy;
|
9707
|
-
(function (StudentOrderBy) {
|
9708
|
-
StudentOrderBy["ASC"] = "ASC";
|
9709
|
-
StudentOrderBy["DESC"] = "DESC";
|
9710
|
-
})(StudentOrderBy || (StudentOrderBy = {}));
|
9711
|
-
var MessageAction;
|
9712
|
-
(function (MessageAction) {
|
9713
|
-
MessageAction[MessageAction["Default"] = 0] = "Default";
|
9714
|
-
MessageAction[MessageAction["Took"] = 1] = "Took";
|
9715
|
-
})(MessageAction || (MessageAction = {}));
|
9716
|
-
var MessageSourceType;
|
9717
|
-
(function (MessageSourceType) {
|
9718
|
-
MessageSourceType[MessageSourceType["Default"] = 0] = "Default";
|
9719
|
-
MessageSourceType[MessageSourceType["Exam"] = 1] = "Exam";
|
9720
|
-
MessageSourceType[MessageSourceType["Class"] = 2] = "Class";
|
9721
|
-
})(MessageSourceType || (MessageSourceType = {}));
|
9722
|
-
var MessageStatus;
|
9723
|
-
(function (MessageStatus) {
|
9724
|
-
MessageStatus["Default"] = "Sent";
|
9725
|
-
MessageStatus["Sending"] = "Sending...";
|
9726
|
-
MessageStatus["SentError"] = "Sent fail, Retry";
|
9727
|
-
})(MessageStatus || (MessageStatus = {}));
|
9728
|
-
|
9729
|
-
var types = {
|
9730
|
-
__proto__: null,
|
9731
|
-
get MessageSortBy () { return MessageSortBy; },
|
9732
|
-
get OrderBy () { return OrderBy; },
|
9733
|
-
get StudentSortBy () { return StudentSortBy; },
|
9734
|
-
get StudentOrderBy () { return StudentOrderBy; },
|
9735
|
-
get MessageAction () { return MessageAction; },
|
9736
|
-
get MessageSourceType () { return MessageSourceType; },
|
9737
|
-
get MessageStatus () { return MessageStatus; }
|
9738
|
-
};
|
9739
|
-
|
9740
|
-
var ExamStatus;
|
9741
|
-
(function (ExamStatus) {
|
9742
|
-
ExamStatus["Default"] = "Default";
|
9743
|
-
ExamStatus["Pending"] = "Pending";
|
9744
|
-
ExamStatus["Inprogress"] = "Inprogress";
|
9745
|
-
ExamStatus["Completed"] = "Completed";
|
9746
|
-
})(ExamStatus || (ExamStatus = {}));
|
9747
|
-
var Roles;
|
9748
|
-
(function (Roles) {
|
9749
|
-
Roles["Student"] = "Student";
|
9750
|
-
Roles["Teacher"] = "Teacher";
|
9751
|
-
Roles["Admin"] = "Admin";
|
9752
|
-
})(Roles || (Roles = {}));
|
9753
|
-
var MESSAGE_DEFAULT_FILTER = {
|
9754
|
-
currentPage: 1,
|
9755
|
-
pageSize: 15,
|
9756
|
-
textSearch: "",
|
9757
|
-
sortColumnDirection: OrderBy.DESC,
|
9758
|
-
sortColumnName: MessageSortBy.CreatedAt
|
9759
|
-
};
|
9760
|
-
var AlignList = ["Min", "Mid", "Max"];
|
9761
|
-
var DEFAULT_STROKE_COLOR = "#000000";
|
9762
|
-
var DEFAULT_BG_COLOR = "#FFFFFF";
|
9763
|
-
var DEFAULT_STROKE_WIDTH = 4;
|
9764
|
-
var DEFAULT_ERASER_WIDTH = 10;
|
9765
|
-
var CANVAS_WIDTH = 800;
|
9766
|
-
var CANVAS_HEIGHT = 600;
|
9767
|
-
|
9768
|
-
var BgImgAlignTool = function BgImgAlignTool(_ref) {
|
9769
|
-
var aspect = _ref.aspect,
|
9770
|
-
axis = _ref.axis,
|
9771
|
-
align = _ref.align,
|
9772
|
-
onAlignChange = _ref.onAlignChange;
|
9773
|
-
var handleChangeAlign = function handleChangeAlign() {
|
9774
|
-
onAlignChange(axis, align);
|
9775
|
-
};
|
9776
|
-
var icon = React.useMemo(function () {
|
9777
|
-
switch (align) {
|
9778
|
-
case "Min":
|
9779
|
-
return axis === "x" ? React__default.createElement(md.MdAlignHorizontalLeft, {
|
9780
|
-
size: 14
|
9781
|
-
}) : React__default.createElement(md.MdAlignVerticalTop, {
|
9782
|
-
size: 14
|
9783
|
-
});
|
9784
|
-
case "Mid":
|
9785
|
-
return axis === "x" ? React__default.createElement(md.MdAlignHorizontalCenter, {
|
9786
|
-
size: 14
|
9787
|
-
}) : React__default.createElement(md.MdAlignVerticalCenter, {
|
9788
|
-
size: 14
|
9789
|
-
});
|
9790
|
-
default:
|
9791
|
-
return axis === "x" ? React__default.createElement(md.MdAlignHorizontalRight, {
|
9792
|
-
size: 14
|
9793
|
-
}) : React__default.createElement(md.MdAlignVerticalBottom, {
|
9794
|
-
size: 14
|
9795
|
-
});
|
9796
|
-
}
|
9797
|
-
}, [axis, align]);
|
9798
|
-
var selected = React.useMemo(function () {
|
9799
|
-
return axis === "x" ? aspect.startsWith("" + axis + align) : aspect.endsWith("" + axis.toUpperCase() + align);
|
9800
|
-
}, [axis, align, aspect]);
|
9801
|
-
return React__default.createElement(material.IconButton, {
|
9802
|
-
size: "small",
|
9803
|
-
onClick: handleChangeAlign,
|
9804
|
-
sx: {
|
9805
|
-
p: 1
|
9806
|
-
},
|
9807
|
-
color: selected ? "success" : undefined
|
9808
|
-
}, icon);
|
9809
|
-
};
|
9810
|
-
|
9811
|
-
var BgImgAlignToolList = function BgImgAlignToolList(_ref) {
|
9812
|
-
var axis = _ref.axis,
|
9813
|
-
aspect = _ref.aspect,
|
9814
|
-
onAlignChange = _ref.onAlignChange;
|
9815
|
-
return React__default.createElement(material.Stack, {
|
9816
|
-
direction: "row",
|
9817
|
-
spacing: 1
|
9818
|
-
}, AlignList.map(function (align) {
|
9819
|
-
return React__default.createElement(BgImgAlignTool, {
|
9820
|
-
key: "" + axis + align,
|
9821
|
-
aspect: aspect,
|
9822
|
-
axis: axis,
|
9823
|
-
align: align,
|
9824
|
-
onAlignChange: onAlignChange
|
9825
|
-
});
|
9826
|
-
}));
|
9827
|
-
};
|
9828
|
-
|
9829
|
-
var BgImgTool = function BgImgTool(_ref) {
|
9830
|
-
var inputRef = _ref.inputRef,
|
9831
|
-
value = _ref.value,
|
9832
|
-
apsect = _ref.apsect,
|
9833
|
-
onClear = _ref.onClear,
|
9834
|
-
onPick = _ref.onPick,
|
9835
|
-
onChange = _ref.onChange,
|
9836
|
-
onAspectChange = _ref.onAspectChange;
|
9837
|
-
return React__default.createElement(material.Stack, {
|
9838
|
-
direction: "row",
|
9839
|
-
spacing: 1,
|
9840
|
-
alignItems: "center"
|
9841
|
-
}, React__default.createElement(material.IconButton, {
|
9842
|
-
sx: {
|
9843
|
-
width: "32px",
|
9844
|
-
height: "32px",
|
9845
|
-
background: grey[100]
|
9846
|
-
},
|
9847
|
-
size: "small",
|
9848
|
-
onClick: onPick
|
9849
|
-
}, React__default.createElement(fa.FaImage, {
|
9850
|
-
size: 16
|
9851
|
-
}), React__default.createElement("input", {
|
9852
|
-
ref: inputRef,
|
9853
|
-
hidden: true,
|
9854
|
-
type: "file",
|
9855
|
-
accept: "image/*",
|
9856
|
-
onChange: onChange
|
9857
|
-
})), value && React__default.createElement(material.IconButton, {
|
9858
|
-
sx: {
|
9859
|
-
width: "32px",
|
9860
|
-
height: "32px",
|
9861
|
-
background: red[900],
|
9862
|
-
"&:hover": {
|
9863
|
-
background: red[500]
|
9864
|
-
}
|
9865
|
-
},
|
9866
|
-
onClick: onClear
|
9867
|
-
}, React__default.createElement(gr.GrClear, {
|
9868
|
-
size: 16,
|
9869
|
-
color: "#FFF"
|
9870
|
-
})), value && React__default.createElement(material.Stack, {
|
9871
|
-
direction: "row",
|
9872
|
-
alignItems: "center",
|
9873
|
-
gap: 1
|
9874
|
-
}, React__default.createElement(material.Stack, {
|
9875
|
-
direction: "column"
|
9876
|
-
}, React__default.createElement(material.IconButton, {
|
9877
|
-
size: "small",
|
9878
|
-
onClick: function onClick() {
|
9879
|
-
return onAspectChange();
|
9880
|
-
},
|
9881
|
-
sx: {
|
9882
|
-
p: 1
|
9883
|
-
},
|
9884
|
-
color: apsect === "none" ? "success" : undefined
|
9885
|
-
}, React__default.createElement(md.MdOutlineZoomOutMap, {
|
9886
|
-
size: 14
|
9887
|
-
}))), React__default.createElement(material.Stack, {
|
9888
|
-
direction: "column"
|
9889
|
-
}, React__default.createElement(BgImgAlignToolList, {
|
9890
|
-
aspect: apsect,
|
9891
|
-
axis: "x",
|
9892
|
-
onAlignChange: onAspectChange
|
9893
|
-
}), React__default.createElement(BgImgAlignToolList, {
|
9894
|
-
aspect: apsect,
|
9895
|
-
axis: "y",
|
9896
|
-
onAlignChange: onAspectChange
|
9897
|
-
}))));
|
9898
|
-
};
|
9899
|
-
|
9900
|
-
var ColorPicker = function ColorPicker(_ref) {
|
9901
|
-
var disabled = _ref.disabled,
|
9902
|
-
inputRef = _ref.inputRef,
|
9903
|
-
onChange = _ref.onChange;
|
9904
|
-
return React__default.createElement(material.Box, {
|
9905
|
-
width: "32px",
|
9906
|
-
height: "32px",
|
9907
|
-
borderRadius: "50%",
|
9908
|
-
overflow: "hidden",
|
9909
|
-
border: "1px solid " + grey[500]
|
9910
|
-
}, React__default.createElement("input", {
|
9911
|
-
ref: inputRef,
|
9912
|
-
onChange: onChange,
|
9913
|
-
type: "color",
|
9914
|
-
disabled: disabled,
|
9915
|
-
style: {
|
9916
|
-
width: "200%",
|
9917
|
-
height: "200%",
|
9918
|
-
borderStyle: "none",
|
9919
|
-
backgroundColor: "none",
|
9920
|
-
transform: "translate(-25%, -25%)",
|
9921
|
-
cursor: "pointer"
|
9922
|
-
}
|
9923
|
-
}));
|
9924
|
-
};
|
9925
|
-
|
9926
|
-
var boxShadow = "0 3px 1px rgba(0,0,0,0.1),0 4px 8px rgba(0,0,0,0.13),0 0 0 1px rgba(0,0,0,0.02)";
|
9927
|
-
var CustomSlider = material.styled(material.Slider)(function (_ref) {
|
9928
|
-
var theme = _ref.theme;
|
9929
|
-
return _extends({
|
9930
|
-
color: green[500],
|
9931
|
-
height: 5,
|
9932
|
-
width: 120,
|
9933
|
-
marginInline: "8px",
|
9934
|
-
"& .MuiSlider-thumb": {
|
9935
|
-
height: 20,
|
9936
|
-
width: 20,
|
9937
|
-
backgroundColor: "#fff",
|
9938
|
-
boxShadow: "0 0 2px 0px rgba(0, 0, 0, 0.1)",
|
9939
|
-
"&:focus, &:hover, &.Mui-active": {
|
9940
|
-
boxShadow: "0px 0px 3px 1px rgba(0, 0, 0, 0.1)",
|
9941
|
-
"@media (hover: none)": {
|
9942
|
-
boxShadow: boxShadow
|
9943
|
-
}
|
9944
|
-
},
|
9945
|
-
"&:before": {
|
9946
|
-
boxShadow: "0px 0px 1px 0px rgba(0,0,0,0.2), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 1px 0px rgba(0,0,0,0.12)"
|
9947
|
-
}
|
9948
|
-
},
|
9949
|
-
"& .MuiSlider-valueLabel": {
|
9950
|
-
fontSize: 12,
|
9951
|
-
fontWeight: "normal",
|
9952
|
-
top: 4,
|
9953
|
-
backgroundColor: "unset",
|
9954
|
-
color: theme.palette.text.primary,
|
9955
|
-
"&::before": {
|
9956
|
-
display: "none"
|
9957
|
-
},
|
9958
|
-
"& *": _extends({
|
9959
|
-
background: "transparent",
|
9960
|
-
color: "#000"
|
9961
|
-
}, theme.applyStyles("dark", {
|
9962
|
-
color: "#fff"
|
9963
|
-
}))
|
9964
|
-
},
|
9965
|
-
"& .MuiSlider-track": {
|
9966
|
-
border: "none",
|
9967
|
-
boxShadow: "inset 0px 0px 4px -2px #000",
|
9968
|
-
height: 5
|
9969
|
-
},
|
9970
|
-
"& .MuiSlider-rail": {
|
9971
|
-
opacity: 0.5,
|
9972
|
-
boxShadow: "inset 0px 0px 4px -2px #000",
|
9973
|
-
backgroundColor: "#d0d0d0"
|
9974
|
-
}
|
9975
|
-
}, theme.applyStyles("dark", {
|
9976
|
-
color: green[700]
|
9977
|
-
}));
|
9978
|
-
});
|
9979
|
-
var WidthSlider = function WidthSlider(_ref2) {
|
9980
|
-
var value = _ref2.value,
|
9981
|
-
onChange = _ref2.onChange;
|
9982
|
-
return React__default.createElement(CustomSlider, {
|
9983
|
-
defaultValue: value,
|
9984
|
-
onChange: onChange,
|
9985
|
-
min: 1,
|
9986
|
-
valueLabelDisplay: "on"
|
9987
|
-
});
|
9988
|
-
};
|
9989
|
-
|
9990
|
-
var PencilTool = function PencilTool(_ref) {
|
9991
|
-
var inputRef = _ref.inputRef,
|
9992
|
-
selected = _ref.selected,
|
9993
|
-
width = _ref.width,
|
9994
|
-
onSelect = _ref.onSelect,
|
9995
|
-
onChangeColor = _ref.onChangeColor,
|
9996
|
-
onChangeWidth = _ref.onChangeWidth;
|
9997
|
-
return React__default.createElement(material.Stack, {
|
9998
|
-
direction: "row",
|
9999
|
-
spacing: 1,
|
10000
|
-
alignItems: "center"
|
10001
|
-
}, React__default.createElement(material.IconButton, {
|
10002
|
-
sx: _extends({
|
10003
|
-
width: "32px",
|
10004
|
-
height: "32px",
|
10005
|
-
background: !selected ? grey[100] : green[500]
|
10006
|
-
}, selected && {
|
10007
|
-
color: "#FFFF"
|
10008
|
-
}, {
|
10009
|
-
"&:hover": {
|
10010
|
-
background: !selected ? grey[100] : green[500]
|
10011
|
-
}
|
10012
|
-
}),
|
10013
|
-
size: "small",
|
10014
|
-
onClick: onSelect
|
10015
|
-
}, React__default.createElement(fa.FaPencilAlt, {
|
10016
|
-
size: 14
|
10017
|
-
})), React__default.createElement(ColorPicker, {
|
10018
|
-
inputRef: inputRef,
|
10019
|
-
onChange: onChangeColor
|
10020
|
-
}), React__default.createElement(material.Stack, {
|
10021
|
-
direction: "row",
|
10022
|
-
alignItems: "center",
|
10023
|
-
px: 1
|
10024
|
-
}, React__default.createElement(WidthSlider, {
|
10025
|
-
value: width,
|
10026
|
-
onChange: onChangeWidth
|
10027
|
-
})));
|
10028
|
-
};
|
10029
|
-
|
10030
|
-
var EraserTool = function EraserTool(_ref) {
|
10031
|
-
var selected = _ref.selected,
|
10032
|
-
width = _ref.width,
|
10033
|
-
onSelect = _ref.onSelect,
|
10034
|
-
onChangeWidth = _ref.onChangeWidth;
|
10035
|
-
return React__default.createElement(material.Stack, {
|
10036
|
-
direction: "row",
|
10037
|
-
spacing: 1,
|
10038
|
-
alignItems: "center"
|
10039
|
-
}, React__default.createElement(material.IconButton, {
|
10040
|
-
sx: _extends({
|
10041
|
-
width: "32px",
|
10042
|
-
height: "32px",
|
10043
|
-
background: !selected ? grey[100] : red[900]
|
10044
|
-
}, selected && {
|
10045
|
-
color: "#FFFF"
|
10046
|
-
}, {
|
10047
|
-
"&:hover": {
|
10048
|
-
background: !selected ? grey[100] : red[900]
|
10049
|
-
}
|
10050
|
-
}),
|
10051
|
-
size: "small",
|
10052
|
-
onClick: onSelect
|
10053
|
-
}, React__default.createElement(fa.FaEraser, {
|
10054
|
-
size: 16
|
10055
|
-
})), React__default.createElement(material.Stack, {
|
10056
|
-
direction: "row",
|
10057
|
-
alignItems: "center",
|
10058
|
-
px: 1
|
10059
|
-
}, React__default.createElement(WidthSlider, {
|
10060
|
-
value: width,
|
10061
|
-
onChange: onChangeWidth
|
10062
|
-
})));
|
10063
|
-
};
|
10064
|
-
|
10065
|
-
var BgColorTool = function BgColorTool(_ref) {
|
10066
|
-
var inputRef = _ref.inputRef,
|
10067
|
-
onPick = _ref.onPick,
|
10068
|
-
onChange = _ref.onChange;
|
10069
|
-
return React__default.createElement(material.Stack, {
|
10070
|
-
direction: "row",
|
10071
|
-
spacing: 1,
|
10072
|
-
alignItems: "center"
|
10073
|
-
}, React__default.createElement(material.Button, {
|
10074
|
-
onClick: onPick
|
10075
|
-
}, React__default.createElement(material.Box, {
|
10076
|
-
width: "32px",
|
10077
|
-
height: "32px",
|
10078
|
-
display: "flex",
|
10079
|
-
justifyContent: "center",
|
10080
|
-
alignItems: "center"
|
10081
|
-
}, React__default.createElement(io.IoIosColorFill, {
|
10082
|
-
color: grey[600],
|
10083
|
-
size: 20
|
10084
|
-
})), React__default.createElement(ColorPicker, {
|
10085
|
-
inputRef: inputRef,
|
10086
|
-
onChange: onChange
|
10087
|
-
})));
|
10088
|
-
};
|
10089
|
-
|
10090
|
-
var ToolContainerStyles = {
|
10091
|
-
display: "flex",
|
10092
|
-
gap: 2,
|
10093
|
-
flexWrap: "nowrap",
|
10094
|
-
justifyContent: {
|
10095
|
-
lg: "center",
|
10096
|
-
sx: "start"
|
10097
|
-
},
|
10098
|
-
alignItems: "center",
|
10099
|
-
px: 4,
|
10100
|
-
pb: 2,
|
10101
|
-
pt: 1,
|
10102
|
-
width: "100%",
|
10103
|
-
overflowX: "auto",
|
10104
|
-
overflowY: "hidden"
|
10105
|
-
};
|
10106
|
-
var CanvasContainerStyles = {
|
10107
|
-
position: "relative",
|
10108
|
-
flexGrow: 1,
|
10109
|
-
display: "flex",
|
10110
|
-
justifyContent: {
|
10111
|
-
lg: "center",
|
10112
|
-
sx: "start"
|
10113
|
-
}
|
10114
|
-
};
|
10115
|
-
var CanvasWrapperStyles = {
|
10116
|
-
flexGrow: 1,
|
10117
|
-
overflow: "scroll",
|
10118
|
-
width: "100%",
|
10119
|
-
height: "100%",
|
10120
|
-
display: "flex",
|
10121
|
-
justifyContent: {
|
10122
|
-
lg: "center",
|
10123
|
-
sx: "start"
|
10124
|
-
},
|
10125
|
-
padding: "8px 24px 24px"
|
10126
|
-
};
|
10127
|
-
var IconButtonStyles = {
|
10128
|
-
width: "32px",
|
10129
|
-
height: "32px",
|
10130
|
-
background: grey[100]
|
10131
|
-
};
|
10132
|
-
|
10133
|
-
var Transition = React__default.forwardRef(function Transition(props, ref) {
|
10134
|
-
return React__default.createElement(material.Slide, Object.assign({
|
10135
|
-
direction: "up",
|
10136
|
-
ref: ref
|
10137
|
-
}, props));
|
10138
|
-
});
|
10139
|
-
var SketchDialog = function SketchDialog(_ref) {
|
10140
|
-
var open = _ref.open,
|
10141
|
-
drawPath = _ref.drawPath,
|
10142
|
-
onClose = _ref.onClose,
|
10143
|
-
onSave = _ref.onSave;
|
10144
|
-
var _useTranslation = reactI18next.useTranslation(),
|
10145
|
-
t = _useTranslation.t;
|
10146
|
-
var canvasRef = React.useRef(null);
|
10147
|
-
var _useState = React.useState(DEFAULT_STROKE_COLOR),
|
10148
|
-
strokeColor = _useState[0],
|
10149
|
-
setStrokeColor = _useState[1];
|
10150
|
-
var _useState2 = React.useState(DEFAULT_STROKE_WIDTH),
|
10151
|
-
strokeWidth = _useState2[0],
|
10152
|
-
setStrokeWidth = _useState2[1];
|
10153
|
-
var _useState3 = React.useState(DEFAULT_ERASER_WIDTH),
|
10154
|
-
eraserWidth = _useState3[0],
|
10155
|
-
setEraserWidth = _useState3[1];
|
10156
|
-
var _useState4 = React.useState(DEFAULT_BG_COLOR),
|
10157
|
-
backgroundColor = _useState4[0],
|
10158
|
-
setBackgroundColor = _useState4[1];
|
10159
|
-
var _useState5 = React.useState(null),
|
10160
|
-
backgroundImage = _useState5[0],
|
10161
|
-
setBackgroundImage = _useState5[1];
|
10162
|
-
var _useState6 = React.useState(false),
|
10163
|
-
isEraser = _useState6[0],
|
10164
|
-
setIsEraser = _useState6[1];
|
10165
|
-
var bgImageInputRef = React.useRef(null);
|
10166
|
-
var bgColorRef = React.useRef(null);
|
10167
|
-
var colorRef = React.useRef(null);
|
10168
|
-
var _useState7 = React.useState("none"),
|
10169
|
-
bgImageAspect = _useState7[0],
|
10170
|
-
setBgImageAspect = _useState7[1];
|
10171
|
-
var getNewAlign = function getNewAlign(axis, align) {
|
10172
|
-
if (!axis || !align) return "none";
|
10173
|
-
var _bgImageAspect$split = bgImageAspect.split("Y"),
|
10174
|
-
xAlign = _bgImageAspect$split[0],
|
10175
|
-
yAlign = _bgImageAspect$split[1];
|
10176
|
-
if (bgImageAspect === "none" || !xAlign && !yAlign) return axis === "y" ? "xMinY" + align : "x" + align + "YMin";
|
10177
|
-
return axis === "y" ? xAlign + "Y" + align : "x" + align + "Y" + yAlign;
|
10178
|
-
};
|
10179
|
-
var handleChangeAlign = function handleChangeAlign(axis, pos) {
|
10180
|
-
var newValue = getNewAlign(axis, pos);
|
10181
|
-
setBgImageAspect(newValue);
|
10182
|
-
};
|
10183
|
-
var handleClickBgColor = function handleClickBgColor() {
|
10184
|
-
var _bgColorRef$current;
|
10185
|
-
(_bgColorRef$current = bgColorRef.current) === null || _bgColorRef$current === void 0 ? void 0 : _bgColorRef$current.click();
|
10186
|
-
};
|
10187
|
-
var clearCanvas = function clearCanvas() {
|
10188
|
-
var _canvasRef$current;
|
10189
|
-
(_canvasRef$current = canvasRef.current) === null || _canvasRef$current === void 0 ? void 0 : _canvasRef$current.clearCanvas();
|
10190
|
-
setBackgroundImage(null);
|
10191
|
-
if (bgColorRef.current) bgColorRef.current.value = DEFAULT_BG_COLOR;
|
10192
|
-
setBackgroundColor(DEFAULT_BG_COLOR);
|
10193
|
-
};
|
10194
|
-
var undo = function undo() {
|
10195
|
-
var _canvasRef$current2;
|
10196
|
-
(_canvasRef$current2 = canvasRef.current) === null || _canvasRef$current2 === void 0 ? void 0 : _canvasRef$current2.undo();
|
10197
|
-
};
|
10198
|
-
var redo = function redo() {
|
10199
|
-
var _canvasRef$current3;
|
10200
|
-
(_canvasRef$current3 = canvasRef.current) === null || _canvasRef$current3 === void 0 ? void 0 : _canvasRef$current3.redo();
|
10201
|
-
};
|
10202
|
-
var saveImage = function saveImage() {
|
10203
|
-
try {
|
10204
|
-
var _canvasRef$current4;
|
10205
|
-
return Promise.resolve((_canvasRef$current4 = canvasRef.current) === null || _canvasRef$current4 === void 0 ? void 0 : _canvasRef$current4.exportImage("png")).then(function (imageData) {
|
10206
|
-
var _canvasRef$current5;
|
10207
|
-
return Promise.resolve((_canvasRef$current5 = canvasRef.current) === null || _canvasRef$current5 === void 0 ? void 0 : _canvasRef$current5.exportPaths()).then(function (data) {
|
10208
|
-
onSave(imageData, data);
|
10209
|
-
onClose();
|
10210
|
-
});
|
10211
|
-
});
|
10212
|
-
} catch (e) {
|
10213
|
-
return Promise.reject(e);
|
10214
|
-
}
|
10215
|
-
};
|
10216
|
-
var handleEraserMode = function handleEraserMode() {
|
10217
|
-
var _canvasRef$current6;
|
10218
|
-
setIsEraser(true);
|
10219
|
-
(_canvasRef$current6 = canvasRef.current) === null || _canvasRef$current6 === void 0 ? void 0 : _canvasRef$current6.eraseMode(true);
|
10220
|
-
};
|
10221
|
-
var handlePencilMode = function handlePencilMode() {
|
10222
|
-
var _canvasRef$current7;
|
10223
|
-
setIsEraser(false);
|
10224
|
-
(_canvasRef$current7 = canvasRef.current) === null || _canvasRef$current7 === void 0 ? void 0 : _canvasRef$current7.eraseMode(false);
|
10225
|
-
};
|
10226
|
-
var handleClickChangeBgImage = function handleClickChangeBgImage() {
|
10227
|
-
var _bgImageInputRef$curr;
|
10228
|
-
(_bgImageInputRef$curr = bgImageInputRef.current) === null || _bgImageInputRef$curr === void 0 ? void 0 : _bgImageInputRef$curr.click();
|
10229
|
-
};
|
10230
|
-
var handleBackgroundImageChange = function handleBackgroundImageChange(event) {
|
10231
|
-
var _event$target$files;
|
10232
|
-
var file = (_event$target$files = event.target.files) === null || _event$target$files === void 0 ? void 0 : _event$target$files[0];
|
10233
|
-
if (file) {
|
10234
|
-
var reader = new FileReader();
|
10235
|
-
reader.onload = function () {
|
10236
|
-
setBackgroundImage(reader.result);
|
10237
|
-
};
|
10238
|
-
reader.readAsDataURL(file);
|
10239
|
-
}
|
10240
|
-
};
|
10241
|
-
var handleChangePencilColor = function handleChangePencilColor(e) {
|
10242
|
-
setStrokeColor(e.target.value);
|
10243
|
-
};
|
10244
|
-
var handleChangeBgColor = function handleChangeBgColor(e) {
|
10245
|
-
setBackgroundColor(e.target.value);
|
10246
|
-
};
|
10247
|
-
var handleChangeEraserWidth = function handleChangeEraserWidth(e) {
|
10248
|
-
return setEraserWidth(Number(e.target.value));
|
10249
|
-
};
|
10250
|
-
var handleChangePencilWidth = function handleChangePencilWidth(e) {
|
10251
|
-
return setStrokeWidth(Number(e.target.value));
|
10252
|
-
};
|
10253
|
-
var debounceChangeBgColor = _$a.debounce(handleChangeBgColor, 300);
|
10254
|
-
var debounceChangePencilColor = _$a.debounce(handleChangePencilColor, 300);
|
10255
|
-
var debounceChangeEraserWidth = _$a.debounce(handleChangeEraserWidth, 300);
|
10256
|
-
var debounceChangePencilWidth = _$a.debounce(handleChangePencilWidth, 300);
|
10257
|
-
var currentToolSize = isEraser ? eraserWidth : strokeWidth;
|
10258
|
-
var handleClearBgImage = function handleClearBgImage() {
|
10259
|
-
setBackgroundImage(null);
|
10260
|
-
};
|
10261
|
-
var handleLoad = function handleLoad(data) {
|
10262
|
-
try {
|
10263
|
-
var _temp = function () {
|
10264
|
-
if (data) {
|
10265
|
-
var _canvasRef$current8;
|
10266
|
-
return Promise.resolve((_canvasRef$current8 = canvasRef.current) === null || _canvasRef$current8 === void 0 ? void 0 : _canvasRef$current8.loadPaths(data)).then(function () {
|
10267
|
-
if (bgColorRef.current) bgColorRef.current.value = backgroundColor;
|
10268
|
-
});
|
10269
|
-
} else {
|
10270
|
-
var _canvasRef$current9;
|
10271
|
-
return Promise.resolve((_canvasRef$current9 = canvasRef.current) === null || _canvasRef$current9 === void 0 ? void 0 : _canvasRef$current9.clearCanvas()).then(function () {
|
10272
|
-
if (bgColorRef.current) bgColorRef.current.value = DEFAULT_BG_COLOR;
|
10273
|
-
setBackgroundColor(DEFAULT_BG_COLOR);
|
10274
|
-
setBackgroundImage(null);
|
10275
|
-
setBgImageAspect("none");
|
10276
|
-
});
|
10277
|
-
}
|
10278
|
-
}();
|
10279
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
10280
|
-
} catch (e) {
|
10281
|
-
return Promise.reject(e);
|
10282
|
-
}
|
10283
|
-
};
|
10284
|
-
React.useEffect(function () {
|
10285
|
-
if (open) {
|
10286
|
-
setTimeout(function () {
|
10287
|
-
if (canvasRef.current) {
|
10288
|
-
handleLoad(drawPath);
|
10289
|
-
}
|
10290
|
-
}, 0);
|
10291
|
-
} else {
|
10292
|
-
if (bgColorRef.current) bgColorRef.current.value = DEFAULT_BG_COLOR;
|
10293
|
-
if (colorRef.current) colorRef.current.value = DEFAULT_STROKE_COLOR;
|
10294
|
-
setStrokeColor(DEFAULT_STROKE_COLOR);
|
10295
|
-
setStrokeWidth(DEFAULT_STROKE_WIDTH);
|
10296
|
-
setEraserWidth(DEFAULT_ERASER_WIDTH);
|
10297
|
-
setIsEraser(false);
|
10298
|
-
}
|
10299
|
-
}, [open, drawPath]);
|
10300
|
-
return React__default.createElement(material.Dialog, {
|
10301
|
-
fullScreen: true,
|
10302
|
-
open: open,
|
10303
|
-
onClose: onClose,
|
10304
|
-
TransitionComponent: Transition
|
10305
|
-
}, React__default.createElement(material.AppBar, {
|
10306
|
-
color: "success",
|
10307
|
-
sx: {
|
10308
|
-
position: "relative"
|
10309
|
-
}
|
10310
|
-
}, React__default.createElement(material.Toolbar, null, React__default.createElement(material.IconButton, {
|
10311
|
-
sx: {
|
10312
|
-
width: "32px",
|
10313
|
-
height: "32px"
|
10314
|
-
},
|
10315
|
-
edge: "start",
|
10316
|
-
color: "inherit",
|
10317
|
-
onClick: onClose,
|
10318
|
-
"aria-label": "close"
|
10319
|
-
}, React__default.createElement(io5.IoClose, null)), React__default.createElement(material.Typography, {
|
10320
|
-
sx: {
|
10321
|
-
ml: 2,
|
10322
|
-
flex: 1
|
10323
|
-
},
|
10324
|
-
variant: "h6",
|
10325
|
-
component: "div"
|
10326
|
-
}, t("sketch_canvas")), React__default.createElement(material.Stack, {
|
10327
|
-
direction: "row",
|
10328
|
-
gap: 1
|
10329
|
-
}, React__default.createElement(material.Button, {
|
10330
|
-
sx: {
|
10331
|
-
px: 2
|
10332
|
-
},
|
10333
|
-
startIcon: React__default.createElement(fa.FaSave, {
|
10334
|
-
size: 14
|
10335
|
-
}),
|
10336
|
-
color: "inherit",
|
10337
|
-
onClick: saveImage
|
10338
|
-
}, t("save")), React__default.createElement(material.Button, {
|
10339
|
-
sx: {
|
10340
|
-
px: 2
|
9532
|
+
onConfirm: function onConfirm() {
|
9533
|
+
return handleDeleteMessage(conversationId || 0, id || 0, toggleConfirmDialog);
|
10341
9534
|
},
|
10342
|
-
|
10343
|
-
|
10344
|
-
|
10345
|
-
|
10346
|
-
|
10347
|
-
|
10348
|
-
|
10349
|
-
|
10350
|
-
|
10351
|
-
|
10352
|
-
|
10353
|
-
|
10354
|
-
}, React__default.createElement(material.Box, {
|
10355
|
-
sx: ToolContainerStyles
|
10356
|
-
}, React__default.createElement(PencilTool, {
|
10357
|
-
inputRef: colorRef,
|
10358
|
-
width: strokeWidth,
|
10359
|
-
selected: !isEraser,
|
10360
|
-
onSelect: handlePencilMode,
|
10361
|
-
onChangeColor: debounceChangePencilColor,
|
10362
|
-
onChangeWidth: debounceChangePencilWidth
|
10363
|
-
}), React__default.createElement(material.Divider, {
|
10364
|
-
orientation: "vertical",
|
10365
|
-
flexItem: true,
|
10366
|
-
sx: {
|
10367
|
-
borderColor: grey[300]
|
10368
|
-
}
|
10369
|
-
}), React__default.createElement(EraserTool, {
|
10370
|
-
width: eraserWidth,
|
10371
|
-
selected: isEraser,
|
10372
|
-
onSelect: handleEraserMode,
|
10373
|
-
onChangeWidth: debounceChangeEraserWidth
|
10374
|
-
}), React__default.createElement(material.Divider, {
|
10375
|
-
orientation: "vertical",
|
10376
|
-
flexItem: true,
|
10377
|
-
sx: {
|
10378
|
-
borderColor: grey[300]
|
10379
|
-
}
|
10380
|
-
}), React__default.createElement(BgColorTool, {
|
10381
|
-
inputRef: bgColorRef,
|
10382
|
-
onChange: debounceChangeBgColor,
|
10383
|
-
onPick: handleClickBgColor
|
10384
|
-
}), React__default.createElement(material.Divider, {
|
10385
|
-
orientation: "vertical",
|
10386
|
-
flexItem: true,
|
10387
|
-
sx: {
|
10388
|
-
borderColor: grey[300]
|
9535
|
+
title: t("confirmation"),
|
9536
|
+
okText: t("yes"),
|
9537
|
+
cancelText: t("no")
|
9538
|
+
}), React__default.createElement(UpdateMessageDialog, {
|
9539
|
+
open: openUpdateDialog,
|
9540
|
+
onClose: toggleUpdateDialog,
|
9541
|
+
content: content,
|
9542
|
+
handleUploadImage: handleUploadImage,
|
9543
|
+
selectedFile: selectedFile,
|
9544
|
+
contentType: contentType,
|
9545
|
+
handleUpdateMessage: function handleUpdateMessage(content) {
|
9546
|
+
return _handleUpdateMessage(conversationId || 0, id || 0, content, toggleUpdateDialog);
|
10389
9547
|
}
|
10390
|
-
})
|
10391
|
-
|
10392
|
-
|
10393
|
-
|
10394
|
-
|
10395
|
-
|
10396
|
-
|
10397
|
-
|
10398
|
-
|
10399
|
-
|
10400
|
-
|
10401
|
-
|
10402
|
-
|
10403
|
-
|
10404
|
-
|
10405
|
-
|
10406
|
-
|
10407
|
-
|
10408
|
-
|
10409
|
-
|
10410
|
-
|
10411
|
-
|
10412
|
-
|
10413
|
-
|
10414
|
-
|
10415
|
-
|
10416
|
-
|
10417
|
-
|
10418
|
-
|
10419
|
-
|
10420
|
-
|
10421
|
-
|
10422
|
-
|
10423
|
-
|
10424
|
-
|
10425
|
-
|
10426
|
-
|
10427
|
-
|
10428
|
-
},
|
10429
|
-
|
10430
|
-
|
10431
|
-
|
10432
|
-
|
10433
|
-
|
10434
|
-
|
10435
|
-
|
10436
|
-
|
10437
|
-
|
10438
|
-
|
10439
|
-
|
10440
|
-
|
10441
|
-
|
10442
|
-
|
10443
|
-
|
10444
|
-
|
9548
|
+
}));
|
9549
|
+
};
|
9550
|
+
|
9551
|
+
var ChatList = function ChatList(_ref) {
|
9552
|
+
var _ref$messages = _ref.messages,
|
9553
|
+
messages = _ref$messages === void 0 ? [] : _ref$messages,
|
9554
|
+
roles = _ref.roles,
|
9555
|
+
onReTrySendMessage = _ref.onReTrySendMessage,
|
9556
|
+
handleUpdateMessage = _ref.handleUpdateMessage,
|
9557
|
+
handleDeleteMessage = _ref.handleDeleteMessage,
|
9558
|
+
listItemRef = _ref.listItemRef;
|
9559
|
+
var _useTranslation = reactI18next.useTranslation(),
|
9560
|
+
t = _useTranslation.t;
|
9561
|
+
var filterMessage = React.useMemo(function () {
|
9562
|
+
var prevTime = 0;
|
9563
|
+
var prevSender;
|
9564
|
+
return messages.map(function (message) {
|
9565
|
+
var _message$sender, _message$sender2;
|
9566
|
+
var currentTime = new Date(message.createdAt).getTime();
|
9567
|
+
var showTimestamp = !prevTime || currentTime - prevTime > 20 * 60 * 1000;
|
9568
|
+
var showName = ((_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.fullName) !== prevSender;
|
9569
|
+
prevSender = (_message$sender2 = message.sender) === null || _message$sender2 === void 0 ? void 0 : _message$sender2.fullName;
|
9570
|
+
prevTime = currentTime;
|
9571
|
+
return _extends({}, message, {
|
9572
|
+
showTimestamp: showTimestamp,
|
9573
|
+
showName: showName
|
9574
|
+
});
|
9575
|
+
});
|
9576
|
+
}, [JSON.stringify(messages)]);
|
9577
|
+
var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Student);
|
9578
|
+
return React__default.createElement("ul", {
|
9579
|
+
ref: listItemRef,
|
9580
|
+
className: styles$2["list"] + " " + styles$2["padding-content"] + " d-flex h-100 flex-column mb-0 " + (!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) ? 'justify-content-center' : '')
|
9581
|
+
}, !(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) && React__default.createElement("li", {
|
9582
|
+
className: "text-muted text-center fst-italic fs-6"
|
9583
|
+
}, t('no_message')), !!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) && filterMessage.map(function (message) {
|
9584
|
+
return React__default.createElement(ChatItem, Object.assign({
|
9585
|
+
key: message.id
|
9586
|
+
}, message, {
|
9587
|
+
isStudent: isStudent,
|
9588
|
+
handleUpdateMessage: handleUpdateMessage,
|
9589
|
+
handleDeleteMessage: handleDeleteMessage,
|
9590
|
+
onReTrySendMessage: onReTrySendMessage
|
9591
|
+
}));
|
9592
|
+
}));
|
9593
|
+
};
|
9594
|
+
|
9595
|
+
var iconSendMessage = function iconSendMessage(_ref) {
|
9596
|
+
var _ref$width = _ref.width,
|
9597
|
+
width = _ref$width === void 0 ? "16" : _ref$width,
|
9598
|
+
_ref$height = _ref.height,
|
9599
|
+
height = _ref$height === void 0 ? "16" : _ref$height,
|
9600
|
+
color = _ref.color;
|
9601
|
+
return React__default.createElement("svg", {
|
9602
|
+
width: width,
|
9603
|
+
height: height,
|
9604
|
+
viewBox: "0 0 16 16",
|
9605
|
+
fill: color,
|
9606
|
+
xmlns: "http://www.w3.org/2000/svg"
|
9607
|
+
}, React__default.createElement("path", {
|
9608
|
+
d: "M14.8934 7.09539L14.8884 7.0932L1.54219 1.55758C1.42993 1.51059 1.30778 1.49217 1.18666 1.50395C1.06554 1.51573 0.949225 1.55734 0.848125 1.62508C0.741311 1.69507 0.653573 1.79052 0.592805 1.90283C0.532037 2.01515 0.500145 2.14081 0.5 2.26852V5.80883C0.50006 5.98341 0.561019 6.15249 0.67237 6.28695C0.783722 6.42141 0.938491 6.5128 1.11 6.54539L8.38906 7.89133C8.41767 7.89675 8.44348 7.91199 8.46205 7.93441C8.48062 7.95683 8.49078 7.98503 8.49078 8.01414C8.49078 8.04325 8.48062 8.07145 8.46205 8.09387C8.44348 8.1163 8.41767 8.13153 8.38906 8.13695L1.11031 9.48289C0.938851 9.5154 0.784092 9.60667 0.67269 9.74101C0.561288 9.87534 0.500219 10.0443 0.5 10.2188V13.7598C0.499917 13.8817 0.530111 14.0018 0.587871 14.1092C0.645632 14.2166 0.729152 14.3079 0.830938 14.3751C0.953375 14.4564 1.09706 14.4999 1.24406 14.5001C1.34626 14.5 1.4474 14.4795 1.54156 14.4398L14.8875 8.9357L14.8934 8.93289C15.0731 8.85569 15.2262 8.72751 15.3337 8.56421C15.4413 8.40092 15.4986 8.20968 15.4986 8.01414C15.4986 7.81861 15.4413 7.62736 15.3337 7.46407C15.2262 7.30077 15.0731 7.1726 14.8934 7.09539Z",
|
9609
|
+
fill: "white"
|
9610
|
+
}));
|
10445
9611
|
};
|
10446
9612
|
|
10447
9613
|
var InputChat = function InputChat(_ref) {
|
10448
|
-
var
|
10449
|
-
role = _ref.role,
|
10450
|
-
text = _ref.text,
|
10451
|
-
drawPath = _ref.drawPath,
|
10452
|
-
onClearCanvas = _ref.onClearCanvas,
|
10453
|
-
onSaveCanvas = _ref.onSaveCanvas,
|
9614
|
+
var text = _ref.text,
|
10454
9615
|
onChangeInput = _ref.onChangeInput,
|
10455
9616
|
onSubmit = _ref.onSubmit,
|
10456
9617
|
isCompleted = _ref.isCompleted,
|
@@ -10459,20 +9620,10 @@ var InputChat = function InputChat(_ref) {
|
|
10459
9620
|
handleDeleteSelectedImage = _ref.handleDeleteSelectedImage;
|
10460
9621
|
var _useTranslation = reactI18next.useTranslation(),
|
10461
9622
|
t = _useTranslation.t;
|
10462
|
-
var isStudent = role === exports.Role.Student;
|
10463
9623
|
var fileInputRef = React.useRef(null);
|
10464
|
-
var _useState = React.useState(false),
|
10465
|
-
open = _useState[0],
|
10466
|
-
setOpen = _useState[1];
|
10467
|
-
var disabled = isCompleted || isSending;
|
10468
9624
|
var handleSubmit = function handleSubmit() {
|
10469
9625
|
onSubmit();
|
10470
9626
|
};
|
10471
|
-
var handleToggleSketchDialog = function handleToggleSketchDialog() {
|
10472
|
-
setOpen(function (state) {
|
10473
|
-
return !state;
|
10474
|
-
});
|
10475
|
-
};
|
10476
9627
|
var handleSelectedFile = function handleSelectedFile(e) {
|
10477
9628
|
var files = e.target.files;
|
10478
9629
|
handleUploadImage(files[0]);
|
@@ -10480,26 +9631,13 @@ var InputChat = function InputChat(_ref) {
|
|
10480
9631
|
fileInputRef.current.value = "";
|
10481
9632
|
}
|
10482
9633
|
};
|
10483
|
-
var handleSaveCanvas = function handleSaveCanvas(data, drawPath) {
|
10484
|
-
onSaveCanvas(data, drawPath);
|
10485
|
-
};
|
10486
|
-
var handleClickImage = function handleClickImage() {
|
10487
|
-
if (!drawPath) return;
|
10488
|
-
handleToggleSketchDialog();
|
10489
|
-
};
|
10490
|
-
var handleopenSketchDialog = function handleopenSketchDialog() {
|
10491
|
-
handleToggleSketchDialog();
|
10492
|
-
onClearCanvas();
|
10493
|
-
};
|
10494
9634
|
return React__default.createElement(material.Grid, {
|
10495
9635
|
item: true,
|
10496
9636
|
xs: 12,
|
10497
9637
|
padding: "16px"
|
10498
|
-
}, React__default.createElement(material.
|
10499
|
-
|
10500
|
-
|
10501
|
-
lg: "row"
|
10502
|
-
},
|
9638
|
+
}, React__default.createElement(material.Box, {
|
9639
|
+
display: "flex",
|
9640
|
+
flexDirection: "row",
|
10503
9641
|
gap: "24px"
|
10504
9642
|
}, React__default.createElement(material.Box, {
|
10505
9643
|
display: "flex",
|
@@ -10511,14 +9649,12 @@ var InputChat = function InputChat(_ref) {
|
|
10511
9649
|
border: selectedFile ? "1px solid #97A1AF" : undefined,
|
10512
9650
|
borderRadius: selectedFile ? "6px" : undefined,
|
10513
9651
|
flexDirection: "column"
|
10514
|
-
}, selectedFile && React__default.createElement(
|
9652
|
+
}, selectedFile && React__default.createElement("div", {
|
10515
9653
|
style: {
|
10516
9654
|
position: "relative",
|
10517
9655
|
margin: "10px",
|
10518
|
-
width: "fit-content"
|
10519
|
-
|
10520
|
-
},
|
10521
|
-
onClick: handleClickImage
|
9656
|
+
width: "fit-content"
|
9657
|
+
}
|
10522
9658
|
}, React__default.createElement("img", {
|
10523
9659
|
src: selectedFile,
|
10524
9660
|
style: {
|
@@ -10537,21 +9673,21 @@ var InputChat = function InputChat(_ref) {
|
|
10537
9673
|
cursor: "pointer",
|
10538
9674
|
background: grey[100]
|
10539
9675
|
},
|
10540
|
-
disabled: isSending,
|
10541
9676
|
onClick: handleDeleteSelectedImage
|
10542
9677
|
}, React__default.createElement(fa.FaTrash, {
|
10543
9678
|
size: 16
|
10544
9679
|
}))), !selectedFile && React__default.createElement(TinyChatEditor, {
|
10545
9680
|
initValue: text,
|
10546
9681
|
onChange: onChangeInput,
|
10547
|
-
disabled:
|
9682
|
+
disabled: isCompleted
|
10548
9683
|
})), React__default.createElement(material.Typography, {
|
10549
9684
|
fontWeight: 500,
|
10550
9685
|
fontSize: "10px",
|
10551
9686
|
lineHeight: "11.93px",
|
10552
9687
|
color: "#97A1AF"
|
10553
|
-
}, t(
|
10554
|
-
|
9688
|
+
}, t('this_is_the_guidance_text'))), React__default.createElement(material.Box, {
|
9689
|
+
display: "flex",
|
9690
|
+
flexDirection: "column",
|
10555
9691
|
justifyContent: "flex-start",
|
10556
9692
|
alignItems: "flex-end",
|
10557
9693
|
gap: "16px"
|
@@ -10560,19 +9696,11 @@ var InputChat = function InputChat(_ref) {
|
|
10560
9696
|
fullWidth: true,
|
10561
9697
|
className: styles$2["btn-send"],
|
10562
9698
|
sx: {
|
10563
|
-
bgcolor:
|
9699
|
+
bgcolor: isCompleted ? styles.light + " !important" : styles.less_dark
|
10564
9700
|
},
|
10565
|
-
disabled:
|
9701
|
+
disabled: isCompleted,
|
10566
9702
|
onClick: handleSubmit
|
10567
|
-
},
|
10568
|
-
justifyContent: "center",
|
10569
|
-
alignItems: "center"
|
10570
|
-
}, React__default.createElement(material.CircularProgress, {
|
10571
|
-
sx: {
|
10572
|
-
color: "#FFF"
|
10573
|
-
},
|
10574
|
-
size: 14
|
10575
|
-
})) : React__default.createElement(iconSendMessage, null), React__default.createElement(material.Typography, {
|
9703
|
+
}, React__default.createElement(iconSendMessage, null), React__default.createElement(material.Typography, {
|
10576
9704
|
fontWeight: 700,
|
10577
9705
|
fontSize: "13px",
|
10578
9706
|
lineHeight: "15.51px"
|
@@ -10580,12 +9708,12 @@ var InputChat = function InputChat(_ref) {
|
|
10580
9708
|
variant: "outlined",
|
10581
9709
|
component: "label",
|
10582
9710
|
fullWidth: true,
|
10583
|
-
disabled:
|
9711
|
+
disabled: isCompleted,
|
10584
9712
|
sx: {
|
10585
9713
|
display: "flex",
|
10586
9714
|
gap: "8px",
|
10587
9715
|
padding: "12px !important",
|
10588
|
-
borderColor:
|
9716
|
+
borderColor: isCompleted ? "transparent" : styles.less_dark,
|
10589
9717
|
borderWidth: "1px"
|
10590
9718
|
}
|
10591
9719
|
}, React__default.createElement(iconPlusCircle, {
|
@@ -10601,20 +9729,9 @@ var InputChat = function InputChat(_ref) {
|
|
10601
9729
|
type: "file",
|
10602
9730
|
hidden: true,
|
10603
9731
|
ref: fileInputRef,
|
10604
|
-
disabled:
|
9732
|
+
disabled: isCompleted,
|
10605
9733
|
accept: "image/png, image/gif, image/jpeg",
|
10606
9734
|
onChangeCapture: handleSelectedFile
|
10607
|
-
})), !isStudent && React__default.createElement(React.Fragment, null, React__default.createElement(material.Button, {
|
10608
|
-
startIcon: React__default.createElement(md.MdDraw, null),
|
10609
|
-
variant: "contained",
|
10610
|
-
disabled: disabled,
|
10611
|
-
fullWidth: true,
|
10612
|
-
onClick: handleopenSketchDialog
|
10613
|
-
}, t("sketch")), React__default.createElement(SketchDialog, {
|
10614
|
-
open: open,
|
10615
|
-
drawPath: drawPath,
|
10616
|
-
onClose: handleToggleSketchDialog,
|
10617
|
-
onSave: handleSaveCanvas
|
10618
9735
|
})))));
|
10619
9736
|
};
|
10620
9737
|
|
@@ -10880,8 +9997,7 @@ var ChatHeader = function ChatHeader(_ref) {
|
|
10880
9997
|
};
|
10881
9998
|
|
10882
9999
|
var ChatContainer = function ChatContainer(_ref) {
|
10883
|
-
var
|
10884
|
-
chatHeaderProps = _ref.chatHeaderProps,
|
10000
|
+
var chatHeaderProps = _ref.chatHeaderProps,
|
10885
10001
|
chatListProps = _ref.chatListProps,
|
10886
10002
|
inputProps = _ref.inputProps,
|
10887
10003
|
_ref$scrollOffset = _ref.scrollOffset,
|
@@ -10974,9 +10090,76 @@ var ChatContainer = function ChatContainer(_ref) {
|
|
10974
10090
|
className: "d-flex justify-content-center align-items-center"
|
10975
10091
|
}, React__default.createElement(material.CircularProgress, null)), React__default.createElement(ChatList, Object.assign({}, chatListProps, {
|
10976
10092
|
listItemRef: listItemRef
|
10977
|
-
}))), React__default.createElement(InputChat, Object.assign({
|
10978
|
-
|
10979
|
-
|
10093
|
+
}))), React__default.createElement(InputChat, Object.assign({}, inputProps)));
|
10094
|
+
};
|
10095
|
+
|
10096
|
+
var MessageSortBy;
|
10097
|
+
(function (MessageSortBy) {
|
10098
|
+
MessageSortBy["CreatedAt"] = "CreatedAt";
|
10099
|
+
})(MessageSortBy || (MessageSortBy = {}));
|
10100
|
+
var OrderBy;
|
10101
|
+
(function (OrderBy) {
|
10102
|
+
OrderBy["ASC"] = "ASC";
|
10103
|
+
OrderBy["DESC"] = "DESC";
|
10104
|
+
})(OrderBy || (OrderBy = {}));
|
10105
|
+
var StudentSortBy;
|
10106
|
+
(function (StudentSortBy) {
|
10107
|
+
StudentSortBy["CreatedAt"] = "CreatedAt";
|
10108
|
+
StudentSortBy["FullName"] = "FullName";
|
10109
|
+
})(StudentSortBy || (StudentSortBy = {}));
|
10110
|
+
var StudentOrderBy;
|
10111
|
+
(function (StudentOrderBy) {
|
10112
|
+
StudentOrderBy["ASC"] = "ASC";
|
10113
|
+
StudentOrderBy["DESC"] = "DESC";
|
10114
|
+
})(StudentOrderBy || (StudentOrderBy = {}));
|
10115
|
+
var MessageAction;
|
10116
|
+
(function (MessageAction) {
|
10117
|
+
MessageAction[MessageAction["Default"] = 0] = "Default";
|
10118
|
+
MessageAction[MessageAction["Took"] = 1] = "Took";
|
10119
|
+
})(MessageAction || (MessageAction = {}));
|
10120
|
+
var MessageSourceType;
|
10121
|
+
(function (MessageSourceType) {
|
10122
|
+
MessageSourceType[MessageSourceType["Default"] = 0] = "Default";
|
10123
|
+
MessageSourceType[MessageSourceType["Exam"] = 1] = "Exam";
|
10124
|
+
MessageSourceType[MessageSourceType["Class"] = 2] = "Class";
|
10125
|
+
})(MessageSourceType || (MessageSourceType = {}));
|
10126
|
+
var MessageStatus;
|
10127
|
+
(function (MessageStatus) {
|
10128
|
+
MessageStatus["Default"] = "Sent";
|
10129
|
+
MessageStatus["Sending"] = "Sending...";
|
10130
|
+
MessageStatus["SentError"] = "Sent fail, Retry";
|
10131
|
+
})(MessageStatus || (MessageStatus = {}));
|
10132
|
+
|
10133
|
+
var types = {
|
10134
|
+
__proto__: null,
|
10135
|
+
get MessageSortBy () { return MessageSortBy; },
|
10136
|
+
get OrderBy () { return OrderBy; },
|
10137
|
+
get StudentSortBy () { return StudentSortBy; },
|
10138
|
+
get StudentOrderBy () { return StudentOrderBy; },
|
10139
|
+
get MessageAction () { return MessageAction; },
|
10140
|
+
get MessageSourceType () { return MessageSourceType; },
|
10141
|
+
get MessageStatus () { return MessageStatus; }
|
10142
|
+
};
|
10143
|
+
|
10144
|
+
var ExamStatus;
|
10145
|
+
(function (ExamStatus) {
|
10146
|
+
ExamStatus["Default"] = "Default";
|
10147
|
+
ExamStatus["Pending"] = "Pending";
|
10148
|
+
ExamStatus["Inprogress"] = "Inprogress";
|
10149
|
+
ExamStatus["Completed"] = "Completed";
|
10150
|
+
})(ExamStatus || (ExamStatus = {}));
|
10151
|
+
var Roles;
|
10152
|
+
(function (Roles) {
|
10153
|
+
Roles["Student"] = "Student";
|
10154
|
+
Roles["Teacher"] = "Teacher";
|
10155
|
+
Roles["Admin"] = "Admin";
|
10156
|
+
})(Roles || (Roles = {}));
|
10157
|
+
var MESSAGE_DEFAULT_FILTER = {
|
10158
|
+
currentPage: 1,
|
10159
|
+
pageSize: 15,
|
10160
|
+
textSearch: "",
|
10161
|
+
sortColumnDirection: OrderBy.DESC,
|
10162
|
+
sortColumnName: MessageSortBy.CreatedAt
|
10980
10163
|
};
|
10981
10164
|
|
10982
10165
|
var RECENT_USER_URL = BASE_URL + "/api/recentUsers";
|
@@ -11205,12 +10388,6 @@ var useChatContainer = function useChatContainer(props) {
|
|
11205
10388
|
var _useState5 = React.useState(true),
|
11206
10389
|
isScrollToEnd = _useState5[0],
|
11207
10390
|
setScrollToEnd = _useState5[1];
|
11208
|
-
var _useState6 = React.useState(),
|
11209
|
-
drawPath = _useState6[0],
|
11210
|
-
setDrawPath = _useState6[1];
|
11211
|
-
var _useState7 = React.useState(false),
|
11212
|
-
isSending = _useState7[0],
|
11213
|
-
setSending = _useState7[1];
|
11214
10391
|
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Admin);
|
11215
10392
|
var _useMessageList = useMessageList({
|
11216
10393
|
student: student
|
@@ -11235,7 +10412,6 @@ var useChatContainer = function useChatContainer(props) {
|
|
11235
10412
|
try {
|
11236
10413
|
var _temp3 = function _temp3(_result2) {
|
11237
10414
|
if (_exit) return _result2;
|
11238
|
-
setSending(false);
|
11239
10415
|
loadingRef.current = false;
|
11240
10416
|
};
|
11241
10417
|
var _exit = false;
|
@@ -11243,7 +10419,6 @@ var useChatContainer = function useChatContainer(props) {
|
|
11243
10419
|
loadingRef.current = true;
|
11244
10420
|
if (!(selectedConversation !== null && selectedConversation !== void 0 && selectedConversation.id)) return Promise.resolve();
|
11245
10421
|
setScrollToEnd(true);
|
11246
|
-
setSending(true);
|
11247
10422
|
var _temp2 = _catch(function () {
|
11248
10423
|
if (file) {
|
11249
10424
|
return Promise.resolve(handleUploadImageData(file)).then(function (selectedFile) {
|
@@ -11283,7 +10458,6 @@ var useChatContainer = function useChatContainer(props) {
|
|
11283
10458
|
};
|
11284
10459
|
var handleUploadImage = function handleUploadImage(file) {
|
11285
10460
|
try {
|
11286
|
-
handleClearCanvas();
|
11287
10461
|
if (file) {
|
11288
10462
|
setFile(file);
|
11289
10463
|
var reader = new FileReader();
|
@@ -11297,29 +10471,11 @@ var useChatContainer = function useChatContainer(props) {
|
|
11297
10471
|
return Promise.reject(e);
|
11298
10472
|
}
|
11299
10473
|
};
|
11300
|
-
var handleSaveCanvas = function handleSaveCanvas(data, drawPath) {
|
11301
|
-
try {
|
11302
|
-
return Promise.resolve(fetch(data)).then(function (_fetch) {
|
11303
|
-
return Promise.resolve(_fetch.blob()).then(function (blob) {
|
11304
|
-
setFile(blob);
|
11305
|
-
setBackgroundImage(data);
|
11306
|
-
setDrawPath(drawPath);
|
11307
|
-
});
|
11308
|
-
});
|
11309
|
-
} catch (e) {
|
11310
|
-
return Promise.reject(e);
|
11311
|
-
}
|
11312
|
-
};
|
11313
|
-
var handleClearCanvas = function handleClearCanvas() {
|
11314
|
-
setBackgroundImage(null);
|
11315
|
-
setDrawPath(undefined);
|
11316
|
-
setFile(undefined);
|
11317
|
-
};
|
11318
10474
|
var handleUploadImageData = function handleUploadImageData(file) {
|
11319
10475
|
try {
|
11320
10476
|
return Promise.resolve(_catch(function () {
|
11321
10477
|
var formData = new FormData();
|
11322
|
-
|
10478
|
+
formData.append("upload", file);
|
11323
10479
|
return Promise.resolve(apiUploadImageFile(formData)).then(function (res) {
|
11324
10480
|
var _res$data;
|
11325
10481
|
return {
|
@@ -11392,8 +10548,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
11392
10548
|
return Promise.reject(e);
|
11393
10549
|
}
|
11394
10550
|
};
|
11395
|
-
var handleDeleteSelectedImage = function handleDeleteSelectedImage(
|
11396
|
-
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
10551
|
+
var handleDeleteSelectedImage = function handleDeleteSelectedImage() {
|
11397
10552
|
setFile(undefined);
|
11398
10553
|
setBackgroundImage(null);
|
11399
10554
|
};
|
@@ -11481,16 +10636,12 @@ var useChatContainer = function useChatContainer(props) {
|
|
11481
10636
|
handleDeleteMessage: handleDeleteMessage
|
11482
10637
|
},
|
11483
10638
|
inputProps: {
|
11484
|
-
isSending: isSending,
|
11485
|
-
drawPath: drawPath,
|
11486
10639
|
selectedFile: backgroundImage,
|
11487
10640
|
text: (message === null || message === void 0 ? void 0 : message.content) || "",
|
11488
10641
|
onChangeInput: handleChangeInput,
|
11489
10642
|
onSubmit: handleAddMessage,
|
11490
10643
|
handleDeleteSelectedImage: handleDeleteSelectedImage,
|
11491
10644
|
handleUploadImage: handleUploadImage,
|
11492
|
-
onSaveCanvas: handleSaveCanvas,
|
11493
|
-
onClearCanvas: handleClearCanvas,
|
11494
10645
|
isCompleted: selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.isCompleted
|
11495
10646
|
},
|
11496
10647
|
isScrollToEnd: isScrollToEnd,
|
@@ -20215,7 +19366,7 @@ var ChipCustom = material.styled(material.Stack)(function (_ref) {
|
|
20215
19366
|
};
|
20216
19367
|
});
|
20217
19368
|
var AnswerItem = function AnswerItem(_ref2) {
|
20218
|
-
var _data$selectedAnswers, _data$textualAnswers;
|
19369
|
+
var _data$selectedAnswers, _data$textualAnswers, _data$skipRate$toFixe, _data$skipRate;
|
20219
19370
|
var data = _ref2.data,
|
20220
19371
|
nextData = _ref2.nextData,
|
20221
19372
|
isFirst = _ref2.isFirst,
|
@@ -20280,7 +19431,7 @@ var AnswerItem = function AnswerItem(_ref2) {
|
|
20280
19431
|
width: "80px",
|
20281
19432
|
justifyContent: "center"
|
20282
19433
|
}
|
20283
|
-
}, data.
|
19434
|
+
}, data.duration != 0 ? React__default.createElement("p", {
|
20284
19435
|
style: {
|
20285
19436
|
margin: 0
|
20286
19437
|
},
|
@@ -20297,7 +19448,7 @@ var AnswerItem = function AnswerItem(_ref2) {
|
|
20297
19448
|
width: "80px",
|
20298
19449
|
justifyContent: "center"
|
20299
19450
|
}
|
20300
|
-
}, data.
|
19451
|
+
}, data.duration != 0 && data.topDuration ? React__default.createElement("p", {
|
20301
19452
|
style: {
|
20302
19453
|
margin: 0
|
20303
19454
|
},
|
@@ -20312,20 +19463,20 @@ var AnswerItem = function AnswerItem(_ref2) {
|
|
20312
19463
|
style: {
|
20313
19464
|
display: "flex",
|
20314
19465
|
alignItems: "center",
|
20315
|
-
width: "
|
19466
|
+
width: "150px",
|
20316
19467
|
justifyContent: "center"
|
20317
19468
|
}
|
20318
|
-
},
|
19469
|
+
}, React__default.createElement("p", {
|
20319
19470
|
style: {
|
20320
19471
|
margin: 0
|
20321
19472
|
},
|
20322
19473
|
className: styles$7["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$7)
|
20323
|
-
}, data.overallCorrectRate.toFixed(2) + "%"
|
19474
|
+
}, data.overallCorrectRate.toFixed(2) + "%", React__default.createElement("span", {
|
20324
19475
|
style: {
|
20325
|
-
|
20326
|
-
|
20327
|
-
|
20328
|
-
},
|
19476
|
+
fontSize: "10px",
|
19477
|
+
color: red[900]
|
19478
|
+
}
|
19479
|
+
}, "(" + ((_data$skipRate$toFixe = (_data$skipRate = data.skipRate) === null || _data$skipRate === void 0 ? void 0 : _data$skipRate.toFixed(2)) != null ? _data$skipRate$toFixe : 0) + "%)"))), React__default.createElement("div", {
|
20329
19480
|
className: styles$7["classification"] + " " + printStyles["avoid-break-inside"] + " flex-grow-1 justify-content-start",
|
20330
19481
|
style: {
|
20331
19482
|
paddingInline: "14px",
|
@@ -20378,7 +19529,7 @@ var AnswerItem = function AnswerItem(_ref2) {
|
|
20378
19529
|
}, openContextMenu ? React__default.createElement(material.ClickAwayListener, {
|
20379
19530
|
onClickAway: handleCloseContextMenu
|
20380
19531
|
}, React__default.createElement(material.Box, null, React__default.createElement(CustomTooltip, {
|
20381
|
-
onClose:
|
19532
|
+
onClose: handleCloseContextMenu,
|
20382
19533
|
open: openContextMenu,
|
20383
19534
|
disableFocusListener: true,
|
20384
19535
|
disableHoverListener: true,
|
@@ -20524,7 +19675,7 @@ var MyAnswer = function MyAnswer(_ref) {
|
|
20524
19675
|
display: "flex",
|
20525
19676
|
alignItems: "center",
|
20526
19677
|
gap: "4px",
|
20527
|
-
width: "
|
19678
|
+
width: "150px",
|
20528
19679
|
justifyContent: "center"
|
20529
19680
|
}
|
20530
19681
|
}, React__default.createElement(material.Typography, {
|
@@ -20534,9 +19685,15 @@ var MyAnswer = function MyAnswer(_ref) {
|
|
20534
19685
|
fontWeight: 600,
|
20535
19686
|
color: "#97A1AF",
|
20536
19687
|
display: "flex",
|
20537
|
-
alignItems: "
|
19688
|
+
alignItems: "baseline",
|
19689
|
+
gap: "2px"
|
20538
19690
|
}
|
20539
|
-
}, t("total_correct_rate")
|
19691
|
+
}, t("total_correct_rate"), React__default.createElement("span", {
|
19692
|
+
style: {
|
19693
|
+
fontSize: "10px",
|
19694
|
+
color: red[900]
|
19695
|
+
}
|
19696
|
+
}, "(" + t("not_selected") + ")")))), React__default.createElement("div", {
|
20540
19697
|
className: styles$7["titleMyAnswer2"]
|
20541
19698
|
}, React__default.createElement(material.Typography, {
|
20542
19699
|
sx: {
|
@@ -22069,7 +21226,7 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
|
|
22069
21226
|
};
|
22070
21227
|
|
22071
21228
|
var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
22072
|
-
var _data$selectedAnswers, _data$textualAnswers, _data$selectedAnswers2, _data$textualAnswers2, _data$selectedAnswers3, _data$textualAnswers3;
|
21229
|
+
var _data$selectedAnswers, _data$textualAnswers, _data$selectedAnswers2, _data$textualAnswers2, _data$selectedAnswers3, _data$textualAnswers3, _data$skipRate$toFixe, _data$skipRate;
|
22073
21230
|
var data = _ref.data,
|
22074
21231
|
nextData = _ref.nextData,
|
22075
21232
|
isFirst = _ref.isFirst,
|
@@ -22135,7 +21292,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
|
22135
21292
|
display: "flex",
|
22136
21293
|
alignItems: "center"
|
22137
21294
|
}
|
22138
|
-
}, data.
|
21295
|
+
}, data.duration != 0 ? React__default.createElement("p", {
|
22139
21296
|
style: {
|
22140
21297
|
margin: 0
|
22141
21298
|
},
|
@@ -22151,7 +21308,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
|
22151
21308
|
display: "flex",
|
22152
21309
|
alignItems: "center"
|
22153
21310
|
}
|
22154
|
-
}, data.
|
21311
|
+
}, data.duration != 0 && data.topDuration ? React__default.createElement("p", {
|
22155
21312
|
style: {
|
22156
21313
|
margin: 0
|
22157
21314
|
},
|
@@ -22168,22 +21325,22 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
|
|
22168
21325
|
display: "flex",
|
22169
21326
|
alignItems: "center"
|
22170
21327
|
}
|
22171
|
-
},
|
21328
|
+
}, React__default.createElement("p", {
|
22172
21329
|
style: {
|
22173
21330
|
margin: 0
|
22174
21331
|
},
|
22175
21332
|
className: styles$7["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$7)
|
22176
|
-
}, data.overallCorrectRate.toFixed(2) + "%"
|
21333
|
+
}, data.overallCorrectRate.toFixed(2) + "%", React__default.createElement("span", {
|
22177
21334
|
style: {
|
22178
|
-
|
22179
|
-
|
22180
|
-
|
22181
|
-
},
|
21335
|
+
fontSize: "10px",
|
21336
|
+
color: red[900]
|
21337
|
+
}
|
21338
|
+
}, "(" + ((_data$skipRate$toFixe = (_data$skipRate = data.skipRate) === null || _data$skipRate === void 0 ? void 0 : _data$skipRate.toFixed(2)) != null ? _data$skipRate$toFixe : 0) + "%)"))), isStudent && !isLearningSpace && React__default.createElement(material.Box, {
|
22182
21339
|
className: styles["custom-col-2"]
|
22183
21340
|
}, openContextMenu ? React__default.createElement(material.ClickAwayListener, {
|
22184
21341
|
onClickAway: handleCloseContextMenu
|
22185
21342
|
}, React__default.createElement(material.Box, null, React__default.createElement(CustomTooltip, {
|
22186
|
-
onClose:
|
21343
|
+
onClose: handleCloseContextMenu,
|
22187
21344
|
open: openContextMenu,
|
22188
21345
|
disableFocusListener: true,
|
22189
21346
|
disableHoverListener: true,
|
@@ -22336,9 +21493,15 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
|
|
22336
21493
|
fontWeight: 600,
|
22337
21494
|
color: "#97A1AF",
|
22338
21495
|
display: "flex",
|
22339
|
-
alignItems: "
|
21496
|
+
alignItems: "baseline",
|
21497
|
+
gap: "2px"
|
21498
|
+
}
|
21499
|
+
}, t("total_correct_rate"), React__default.createElement("span", {
|
21500
|
+
style: {
|
21501
|
+
fontSize: "10px",
|
21502
|
+
color: red[900]
|
22340
21503
|
}
|
22341
|
-
}, t("
|
21504
|
+
}, "(" + t("not_selected") + ")")))), React__default.createElement("div", {
|
22342
21505
|
className: styles$7["titleMyAnswer2"]
|
22343
21506
|
}, React__default.createElement(material.Typography, {
|
22344
21507
|
sx: {
|
@@ -24952,7 +24115,7 @@ var useOverallChartContainer = function useOverallChartContainer(isStudent, exam
|
|
24952
24115
|
return [texts.slice(0, middle), texts.slice(middle)];
|
24953
24116
|
}, [JSON.stringify(categories)]);
|
24954
24117
|
var formatTooltip = React.useCallback(function (_ref2) {
|
24955
|
-
var _overallData$data$0$h, _overallData$data$, _overallData$data$1$h, _overallData$data$2, _overallData$
|
24118
|
+
var _overallData$data$0$h, _overallData$data$, _overallData$maxData$, _overallData$data$1$h, _overallData$data$2, _overallData$maxData$2, _overallData$data$0$q, _overallData$data$3, _overallData$data$1$q, _overallData$data$4, _overallData$data$0$p, _overallData$data$5, _overallData$data$1$p, _overallData$data$6, _overallData$data$0$t, _overallData$data$7, _overallData$maxData$3, _overallData$data$1$t, _overallData$data$8, _overallData$maxData$4, _overallData$data$0$l, _overallData$data$9, _overallData$maxData$5, _overallData$data$1$l, _overallData$data$10, _overallData$maxData$6, _overallData$data$0$c, _overallData$data$11, _overallData$data$11$, _overallData$data$1$c, _overallData$data$12, _overallData$data$12$;
|
24956
24119
|
var dataPointIndex = _ref2.dataPointIndex,
|
24957
24120
|
w = _ref2.w;
|
24958
24121
|
var label = categories[dataPointIndex];
|
@@ -24961,42 +24124,34 @@ var useOverallChartContainer = function useOverallChartContainer(isStudent, exam
|
|
24961
24124
|
switch (dataPointIndex) {
|
24962
24125
|
case 1:
|
24963
24126
|
myValue = "" + t("n_questions", {
|
24964
|
-
total: (_overallData$data$0$h = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$ = overallData.data[0]) === null || _overallData$data$ === void 0 ? void 0 : _overallData$data$.highLevelQuestions) != null ? _overallData$data$0$h : 0
|
24127
|
+
total: ((_overallData$data$0$h = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$ = overallData.data[0]) === null || _overallData$data$ === void 0 ? void 0 : _overallData$data$.highLevelQuestions) != null ? _overallData$data$0$h : 0) + "/" + ((_overallData$maxData$ = overallData === null || overallData === void 0 ? void 0 : overallData.maxData.highLevelQuestions) != null ? _overallData$maxData$ : 0)
|
24965
24128
|
});
|
24966
24129
|
avgValue = "" + t("n_questions", {
|
24967
|
-
total: (_overallData$data$1$h = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$2 = overallData.data[1]) === null || _overallData$data$2 === void 0 ? void 0 :
|
24130
|
+
total: Math.round((_overallData$data$1$h = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$2 = overallData.data[1]) === null || _overallData$data$2 === void 0 ? void 0 : _overallData$data$2.highLevelQuestions) != null ? _overallData$data$1$h : 0) + "/" + ((_overallData$maxData$2 = overallData === null || overallData === void 0 ? void 0 : overallData.maxData.highLevelQuestions) != null ? _overallData$maxData$2 : 0)
|
24968
24131
|
});
|
24969
24132
|
break;
|
24970
24133
|
case 2:
|
24971
|
-
myValue =
|
24972
|
-
|
24973
|
-
});
|
24974
|
-
avgValue = "" + t("n_seconds", {
|
24975
|
-
sec: (((_overallData$data$1$q = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$4 = overallData.data[1]) === null || _overallData$data$4 === void 0 ? void 0 : _overallData$data$4.questionLongestTime) != null ? _overallData$data$1$q : 0) / 1000).toFixed(2)
|
24976
|
-
});
|
24134
|
+
myValue = formatTimeSecond(((_overallData$data$0$q = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$3 = overallData.data[0]) === null || _overallData$data$3 === void 0 ? void 0 : _overallData$data$3.questionLongestTime) != null ? _overallData$data$0$q : 0) / 1000, t);
|
24135
|
+
avgValue = formatTimeSecond(((_overallData$data$1$q = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$4 = overallData.data[1]) === null || _overallData$data$4 === void 0 ? void 0 : _overallData$data$4.questionLongestTime) != null ? _overallData$data$1$q : 0) / 1000, t);
|
24977
24136
|
break;
|
24978
24137
|
case 3:
|
24979
|
-
myValue =
|
24980
|
-
|
24981
|
-
});
|
24982
|
-
avgValue = "" + t("n_seconds", {
|
24983
|
-
sec: (((_overallData$data$1$p = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$6 = overallData.data[1]) === null || _overallData$data$6 === void 0 ? void 0 : _overallData$data$6.problemSolvingTime) != null ? _overallData$data$1$p : 0) / 1000).toFixed(2)
|
24984
|
-
});
|
24138
|
+
myValue = formatTimeSecond(((_overallData$data$0$p = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$5 = overallData.data[0]) === null || _overallData$data$5 === void 0 ? void 0 : _overallData$data$5.problemSolvingTime) != null ? _overallData$data$0$p : 0) / 1000, t);
|
24139
|
+
avgValue = formatTimeSecond(((_overallData$data$1$p = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$6 = overallData.data[1]) === null || _overallData$data$6 === void 0 ? void 0 : _overallData$data$6.problemSolvingTime) != null ? _overallData$data$1$p : 0) / 1000, t);
|
24985
24140
|
break;
|
24986
24141
|
case 4:
|
24987
24142
|
myValue = "" + t("n_questions", {
|
24988
|
-
total: (_overallData$data$0$t = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$7 = overallData.data[0]) === null || _overallData$data$7 === void 0 ? void 0 : _overallData$data$7.totalAsteriskQuestions) != null ? _overallData$data$0$t : 0
|
24143
|
+
total: ((_overallData$data$0$t = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$7 = overallData.data[0]) === null || _overallData$data$7 === void 0 ? void 0 : _overallData$data$7.totalAsteriskQuestions) != null ? _overallData$data$0$t : 0) + "/" + ((_overallData$maxData$3 = overallData === null || overallData === void 0 ? void 0 : overallData.maxData.totalAsteriskQuestions) != null ? _overallData$maxData$3 : 0)
|
24989
24144
|
});
|
24990
24145
|
avgValue = "" + t("n_questions", {
|
24991
|
-
total: (_overallData$data$1$t = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$8 = overallData.data[1]) === null || _overallData$data$8 === void 0 ? void 0 :
|
24146
|
+
total: Math.round((_overallData$data$1$t = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$8 = overallData.data[1]) === null || _overallData$data$8 === void 0 ? void 0 : _overallData$data$8.totalAsteriskQuestions) != null ? _overallData$data$1$t : 0) + "/" + ((_overallData$maxData$4 = overallData === null || overallData === void 0 ? void 0 : overallData.maxData.totalAsteriskQuestions) != null ? _overallData$maxData$4 : 0)
|
24992
24147
|
});
|
24993
24148
|
break;
|
24994
24149
|
case 5:
|
24995
24150
|
myValue = "" + t("n_questions", {
|
24996
|
-
total: (_overallData$data$0$l = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$9 = overallData.data[0]) === null || _overallData$data$9 === void 0 ? void 0 : _overallData$data$9.lowLevelQuestions) != null ? _overallData$data$0$l : 0
|
24151
|
+
total: ((_overallData$data$0$l = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$9 = overallData.data[0]) === null || _overallData$data$9 === void 0 ? void 0 : _overallData$data$9.lowLevelQuestions) != null ? _overallData$data$0$l : 0) + "/" + ((_overallData$maxData$5 = overallData === null || overallData === void 0 ? void 0 : overallData.maxData.lowLevelQuestions) != null ? _overallData$maxData$5 : 0)
|
24997
24152
|
});
|
24998
24153
|
avgValue = "" + t("n_questions", {
|
24999
|
-
total: (_overallData$data$1$l = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$10 = overallData.data[1]) === null || _overallData$data$10 === void 0 ? void 0 :
|
24154
|
+
total: Math.round((_overallData$data$1$l = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$10 = overallData.data[1]) === null || _overallData$data$10 === void 0 ? void 0 : _overallData$data$10.lowLevelQuestions) != null ? _overallData$data$1$l : 0) + "/" + ((_overallData$maxData$6 = overallData === null || overallData === void 0 ? void 0 : overallData.maxData.lowLevelQuestions) != null ? _overallData$maxData$6 : 0)
|
25000
24155
|
});
|
25001
24156
|
break;
|
25002
24157
|
default:
|
@@ -27142,7 +26297,7 @@ var ChapterDetail = function ChapterDetail(_ref) {
|
|
27142
26297
|
gap: "16px",
|
27143
26298
|
justifyContent: "center",
|
27144
26299
|
alignItems: "center"
|
27145
|
-
}, React__default.createElement(io5.IoCheckmarkCircle, {
|
26300
|
+
}, chapter.completedChapterQuestions === chapter.totalChapterQuestions && React__default.createElement(io5.IoCheckmarkCircle, {
|
27146
26301
|
color: styles.less_dark
|
27147
26302
|
}), React__default.createElement(material.Typography, {
|
27148
26303
|
fontSize: "14px",
|
@@ -27741,7 +26896,8 @@ var TextbookDrawer = function TextbookDrawer(_ref) {
|
|
27741
26896
|
borderRadius: "10px",
|
27742
26897
|
width: "100%",
|
27743
26898
|
height: "22px",
|
27744
|
-
position: "relative"
|
26899
|
+
position: "relative",
|
26900
|
+
overflow: "hidden"
|
27745
26901
|
}
|
27746
26902
|
}, React__default.createElement(material.Stack, {
|
27747
26903
|
sx: {
|