touchstudy-core 0.1.165 → 0.1.167

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.
Files changed (26) hide show
  1. package/dist/components/Dialogs/CommonDialog.d.ts +1 -0
  2. package/dist/components/Selectors/QuestionCountSelector.d.ts +0 -1
  3. package/dist/containers/ExamResult/configs/types.d.ts +2 -0
  4. package/dist/containers/ExamResult/hooks/useExamResultData.d.ts +1 -0
  5. package/dist/containers/Notes/configs/interfaces.d.ts +0 -1
  6. package/dist/containers/PreparedTextbook/configs/constants.d.ts +0 -1
  7. package/dist/containers/StudentInfoDrawer/apiClients/courseService.d.ts +2 -1
  8. package/dist/containers/StudentInfoDrawer/components/Attendance/AttedanceFormDialog.d.ts +13 -0
  9. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceCourseTable.d.ts +2 -3
  10. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceFormBody.d.ts +11 -0
  11. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceFormDialog.d.ts +13 -0
  12. package/dist/containers/StudentInfoDrawer/components/Attendance/CourseAttendanceItem.d.ts +2 -3
  13. package/dist/containers/StudentInfoDrawer/components/Attendance/DrawerAttendanceTab.d.ts +5 -1
  14. package/dist/containers/StudentInfoDrawer/components/Attendance/LessonTooltip.d.ts +2 -1
  15. package/dist/containers/StudentInfoDrawer/components/Note/NoteContent.d.ts +6 -0
  16. package/dist/containers/StudentInfoDrawer/configs/fns.d.ts +2 -2
  17. package/dist/containers/StudentInfoDrawer/configs/interfaces.d.ts +3 -3
  18. package/dist/containers/StudentInfoDrawer/configs/types.d.ts +16 -2
  19. package/dist/containers/StudentInfoDrawer/hooks/useDrawerAttendanceTab.d.ts +6 -3
  20. package/dist/containers/StudentInfoDrawer/index.d.ts +5 -1
  21. package/dist/index.css +8 -0
  22. package/dist/index.js +860 -633
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.modern.js +854 -629
  25. package/dist/index.modern.js.map +1 -1
  26. package/package.json +1 -1
@@ -13,11 +13,11 @@ export { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
13
13
  import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
14
14
  export { DemoContainer } from '@mui/x-date-pickers/internals/demo';
15
15
  import React__default, { useState, useEffect, Fragment as Fragment$1, useRef, useCallback, useMemo, memo, createElement } from 'react';
16
- import { useTheme, Container, Typography, Stack, List, ListItem, FormGroup, FormControlLabel, Checkbox, Button, Box, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, styled, FormLabel, Pagination, Paper, InputBase, Tooltip, tooltipClasses, Grid, ClickAwayListener, useMediaQuery, CircularProgress, InputAdornment, Card as Card$1, Avatar, Table, TableHead, TableRow, TableCell, TableBody, Skeleton, Tabs, Tab, Divider, Drawer, tableCellClasses, Accordion, AccordionSummary, AccordionDetails, TableContainer, Switch, RadioGroup, Radio, FormControl, InputLabel, Chip, CardMedia as CardMedia$1, MenuList } from '@mui/material';
16
+ import { useTheme, Container, Typography, Stack, List, ListItem, FormGroup, FormControlLabel, Checkbox, Button, Box, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, styled, FormLabel, Pagination, Paper, InputBase, Tooltip, tooltipClasses, Grid, ClickAwayListener, useMediaQuery, CircularProgress, InputAdornment, Card as Card$1, Avatar, Table, TableHead, TableRow, TableCell, TableBody, Divider, Skeleton, Tabs, Tab, Drawer, tableCellClasses, Accordion, AccordionSummary, AccordionDetails, TableContainer, Switch, RadioGroup, Radio, FormControl, InputLabel, Chip, CardMedia as CardMedia$1, MenuList } from '@mui/material';
17
17
  import moment from 'moment';
18
18
  export { default as moment } from 'moment';
19
19
  import { FaSave, FaCaretDown, FaTimes, FaTrash, FaSortUp, FaSortDown, FaPlusCircle, FaCalendar, FaUser, FaBookOpen, FaPlus, FaUpload, FaEye as FaEye$1, FaPencilAlt, FaCheckCircle, FaShare, FaExchangeAlt } from 'react-icons/fa';
20
- import { IoMdArrowBack, IoIosAlert, IoIosArrowDown, IoIosSearch, IoIosArrowUp, IoIosAdd, IoMdAdd } from 'react-icons/io';
20
+ import { IoMdArrowBack, IoMdSync, IoIosAlert, IoIosArrowDown, IoIosSearch, IoIosArrowUp, IoIosAdd, IoMdAdd } from 'react-icons/io';
21
21
  import { IoClose, IoSearch, IoCloseOutline, IoTime, IoChevronUp, IoChevronDown, IoChatbubbleEllipsesSharp, IoPrint, IoCheckmarkCircle, IoChevronUpOutline, IoChevronDownOutline, IoReceiptSharp, IoBook, IoWarning, IoCalendarClear, IoPerson, IoInformationCircle, IoTrash, IoAddCircle, IoCloseCircle, IoLogOut } from 'react-icons/io5';
22
22
  import { useSelector, useDispatch } from 'react-redux';
23
23
  import Select, { components } from 'react-select';
@@ -55,6 +55,7 @@ import Box$1 from '@mui/material/Box';
55
55
  import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
56
56
  import { DatePicker } from '@mui/x-date-pickers/DatePicker';
57
57
  import { FaCirclePlus, FaTrashCan, FaEye, FaRotateRight, FaPencil } from 'react-icons/fa6';
58
+ import { CgArrowsExchange } from 'react-icons/cg';
58
59
  import DialogTitle$1 from '@mui/material/DialogTitle';
59
60
  import DialogContent$1 from '@mui/material/DialogContent';
60
61
  import DialogActions$1 from '@mui/material/DialogActions';
@@ -1507,6 +1508,11 @@ var removedteacherfromclass = "교사 수업 제거";
1507
1508
  var addedstudenttoclass = "학생 수업 추가";
1508
1509
  var removedstudentfromclass = "학생 수업 제거";
1509
1510
  var hidden = "숨겨진";
1511
+ var current_status = "현재 상태";
1512
+ var next_status = "다음 상태";
1513
+ var arrival_time = "도착 시간";
1514
+ var current_arrival_time = "현재 도착 시간";
1515
+ var uppdate_attendance = "출석 현황 수정";
1510
1516
  var lang_ko = {
1511
1517
  problem_solving: problem_solving,
1512
1518
  my_story: my_story,
@@ -2647,7 +2653,12 @@ var lang_ko = {
2647
2653
  removedteacherfromclass: removedteacherfromclass,
2648
2654
  addedstudenttoclass: addedstudenttoclass,
2649
2655
  removedstudentfromclass: removedstudentfromclass,
2650
- hidden: hidden
2656
+ hidden: hidden,
2657
+ current_status: current_status,
2658
+ next_status: next_status,
2659
+ arrival_time: arrival_time,
2660
+ current_arrival_time: current_arrival_time,
2661
+ uppdate_attendance: uppdate_attendance
2651
2662
  };
2652
2663
 
2653
2664
  var problem_solving$1 = "Problem Solving";
@@ -3811,6 +3822,11 @@ var removedteacherfromclass$1 = "Removed teacher from class";
3811
3822
  var addedstudenttoclass$1 = "Added student to class";
3812
3823
  var removedstudentfromclass$1 = "Removed student from class";
3813
3824
  var hidden$1 = "Hidden";
3825
+ var current_status$1 = "Current status";
3826
+ var next_status$1 = "Next status";
3827
+ var arrival_time$1 = "Arrival time";
3828
+ var current_arrival_time$1 = "Current arrival time";
3829
+ var uppdate_attendance$1 = "Update attendance";
3814
3830
  var lang_en = {
3815
3831
  problem_solving: problem_solving$1,
3816
3832
  my_story: my_story$1,
@@ -4953,7 +4969,12 @@ var lang_en = {
4953
4969
  removedteacherfromclass: removedteacherfromclass$1,
4954
4970
  addedstudenttoclass: addedstudenttoclass$1,
4955
4971
  removedstudentfromclass: removedstudentfromclass$1,
4956
- hidden: hidden$1
4972
+ hidden: hidden$1,
4973
+ current_status: current_status$1,
4974
+ next_status: next_status$1,
4975
+ arrival_time: arrival_time$1,
4976
+ current_arrival_time: current_arrival_time$1,
4977
+ uppdate_attendance: uppdate_attendance$1
4957
4978
  };
4958
4979
 
4959
4980
  i18n.use(initReactI18next).init({
@@ -5555,6 +5576,8 @@ var CommonDialog = function CommonDialog(_ref) {
5555
5576
  isShowHeader = _ref$isShowHeader === void 0 ? true : _ref$isShowHeader,
5556
5577
  titleClassName = _ref.titleClassName,
5557
5578
  minWidth = _ref.minWidth,
5579
+ _ref$zIndex = _ref.zIndex,
5580
+ zIndex = _ref$zIndex === void 0 ? 1102 : _ref$zIndex,
5558
5581
  onClose = _ref.onClose;
5559
5582
  return React__default.createElement(Dialog, {
5560
5583
  open: open,
@@ -5563,7 +5586,7 @@ var CommonDialog = function CommonDialog(_ref) {
5563
5586
  fullWidth: true,
5564
5587
  scroll: "body",
5565
5588
  sx: {
5566
- zIndex: 1102
5589
+ zIndex: zIndex
5567
5590
  },
5568
5591
  PaperProps: {
5569
5592
  sx: {
@@ -6171,7 +6194,7 @@ var SCORE_OPTIONS = Array.from({
6171
6194
  return i + 1;
6172
6195
  });
6173
6196
  var QUESTION_OPTIONS = Array.from({
6174
- length: 10
6197
+ length: 40
6175
6198
  }, function (_, i) {
6176
6199
  return i + 1;
6177
6200
  });
@@ -7731,22 +7754,10 @@ var QuestionCountSelector = function QuestionCountSelector(_ref) {
7731
7754
  value = _ref.value,
7732
7755
  onChange = _ref.onChange,
7733
7756
  isDisabled = _ref.isDisabled,
7734
- rest = _ref.rest,
7735
- totalQuestions = _ref.totalQuestions;
7757
+ rest = _ref.rest;
7736
7758
  var _useTranslation = useTranslation(),
7737
7759
  t = _useTranslation.t;
7738
- var questionOptions = totalQuestions && totalQuestions > 1 ? Array.from({
7739
- length: totalQuestions
7740
- }, function (_, i) {
7741
- return i + 1;
7742
- }).map(function (i) {
7743
- return {
7744
- label: t("question_count_format", {
7745
- number: i
7746
- }),
7747
- value: i
7748
- };
7749
- }) : QUESTION_OPTIONS.map(function (i) {
7760
+ var questionOptions = QUESTION_OPTIONS.map(function (i) {
7750
7761
  return {
7751
7762
  label: t("question_count_format", {
7752
7763
  number: i
@@ -13326,6 +13337,8 @@ var SortIcon = function SortIcon(_ref) {
13326
13337
  }));
13327
13338
  };
13328
13339
 
13340
+ var styles$3 = {"date-picker":"_2YMvj","time-picker":"_3exYU"};
13341
+
13329
13342
  var DrawerTab;
13330
13343
  (function (DrawerTab) {
13331
13344
  DrawerTab[DrawerTab["Attendance"] = 0] = "Attendance";
@@ -13341,6 +13354,437 @@ var StudentAttendanceStatus;
13341
13354
  StudentAttendanceStatus[StudentAttendanceStatus["Late"] = 2] = "Late";
13342
13355
  })(StudentAttendanceStatus || (StudentAttendanceStatus = {}));
13343
13356
 
13357
+ var formatGrade = function formatGrade(grade, t, language) {
13358
+ return grade ? language === Language.en ? "" + grade + getOrdinalSuffix(grade, language) : "" + t("number_grade", {
13359
+ number: grade
13360
+ }) : "";
13361
+ };
13362
+ var formatLessonOrder = function formatLessonOrder(index, t, language) {
13363
+ return language === Language.en ? "" + (index + 1) + getOrdinalSuffix(index + 1, language) : "" + t("round", {
13364
+ number: index + 1
13365
+ });
13366
+ };
13367
+ var formatTime$1 = function formatTime(t, timeInMilliseconds) {
13368
+ var hours = Math.floor(timeInMilliseconds / 3600000);
13369
+ var minutes = Math.floor(timeInMilliseconds % 3600000 / 60000);
13370
+ var seconds = Math.floor(timeInMilliseconds % 60000 / 1000);
13371
+ return timeInMilliseconds < 60 ? "" + timeInMilliseconds + t("seconds") : t("hours_mins_seconds", {
13372
+ hours: hours,
13373
+ mins: minutes,
13374
+ seconds: seconds
13375
+ });
13376
+ };
13377
+ var a11yProps = function a11yProps(index) {
13378
+ return {
13379
+ id: "info-tab-" + index,
13380
+ "aria-controls": "info-tabpanel-" + index,
13381
+ sx: {
13382
+ position: "relative",
13383
+ fontSize: "13px",
13384
+ fontWeight: 700,
13385
+ padding: "12px 16px",
13386
+ color: grey[500],
13387
+ mx: "8px",
13388
+ "&::after": {
13389
+ content: "''",
13390
+ position: "absolute",
13391
+ bottom: 0,
13392
+ left: 0,
13393
+ width: "100%",
13394
+ height: "1px",
13395
+ backgroundColor: grey[500]
13396
+ }
13397
+ }
13398
+ };
13399
+ };
13400
+ var subtractTime = function subtractTime(time1, time2, t) {
13401
+ var hoursDiff = time1.diff(time2, "hours", false);
13402
+ var minutesDiff = time1.diff(time2, "minutes", false) - hoursDiff * 60;
13403
+ if (hoursDiff < 0) {
13404
+ hoursDiff += 24;
13405
+ }
13406
+ if (minutesDiff < 0) {
13407
+ minutesDiff += 60;
13408
+ }
13409
+ if (hoursDiff === 0) {
13410
+ return minutesDiff + " " + t("minute");
13411
+ }
13412
+ if (minutesDiff === 0) {
13413
+ return "" + (hoursDiff > 1 ? t("hours") : t("hour"));
13414
+ }
13415
+ return hoursDiff + " " + (hoursDiff > 1 ? t("hours") : t("hour")) + " " + minutesDiff + " " + t("minute");
13416
+ };
13417
+
13418
+ var CalendarFill = function CalendarFill(_ref) {
13419
+ var _ref$width = _ref.width,
13420
+ width = _ref$width === void 0 ? "16" : _ref$width,
13421
+ _ref$height = _ref.height,
13422
+ height = _ref$height === void 0 ? "16" : _ref$height,
13423
+ color = _ref.color;
13424
+ return React__default.createElement("svg", {
13425
+ width: width,
13426
+ height: height,
13427
+ fill: color,
13428
+ viewBox: "0 0 16 16",
13429
+ xmlns: "http://www.w3.org/2000/svg"
13430
+ }, React__default.createElement("path", {
13431
+ d: "M15 3.99998C15 3.46955 14.7893 2.96084 14.4142 2.58577C14.0391 2.2107 13.5304 1.99998 13 1.99998H12.5V1.51405C12.5 1.24498 12.2931 1.01405 12.0241 1.00061C11.9565 0.997353 11.8889 1.00785 11.8255 1.03148C11.762 1.05511 11.7041 1.09136 11.6551 1.13805C11.6061 1.18475 11.5671 1.2409 11.5404 1.30311C11.5138 1.36532 11.5 1.4323 11.5 1.49998V1.99998H4.5V1.51405C4.5 1.24498 4.29313 1.01405 4.02406 1.00061C3.95646 0.997353 3.8889 1.00785 3.82547 1.03148C3.76204 1.05511 3.70407 1.09136 3.65508 1.13805C3.60608 1.18475 3.56707 1.2409 3.54041 1.30311C3.51375 1.36532 3.50001 1.4323 3.5 1.49998V1.99998H3C2.46957 1.99998 1.96086 2.2107 1.58579 2.58577C1.21071 2.96084 1 3.46955 1 3.99998V4.37498C1 4.40814 1.01317 4.43993 1.03661 4.46337C1.06005 4.48682 1.09185 4.49998 1.125 4.49998H14.875C14.9082 4.49998 14.9399 4.48682 14.9634 4.46337C14.9868 4.43993 15 4.40814 15 4.37498V3.99998Z",
13432
+ fill: "#97A1AF"
13433
+ }), React__default.createElement("path", {
13434
+ d: "M1 13C1 13.5304 1.21071 14.0391 1.58579 14.4142C1.96086 14.7893 2.46957 15 3 15H13C13.5304 15 14.0391 14.7893 14.4142 14.4142C14.7893 14.0391 15 13.5304 15 13V5.625C15 5.59185 14.9868 5.56005 14.9634 5.53661C14.9399 5.51317 14.9082 5.5 14.875 5.5H1.125C1.09185 5.5 1.06005 5.51317 1.03661 5.53661C1.01317 5.56005 1 5.59185 1 5.625V13Z",
13435
+ fill: "#97A1AF"
13436
+ }));
13437
+ };
13438
+
13439
+ var ClockFill = function ClockFill(_ref) {
13440
+ var _ref$width = _ref.width,
13441
+ width = _ref$width === void 0 ? "16" : _ref$width,
13442
+ _ref$height = _ref.height,
13443
+ height = _ref$height === void 0 ? "16" : _ref$height,
13444
+ color = _ref.color;
13445
+ return React__default.createElement("svg", {
13446
+ width: width,
13447
+ height: height,
13448
+ fill: color,
13449
+ viewBox: "0 0 14 14",
13450
+ xmlns: "http://www.w3.org/2000/svg"
13451
+ }, React__default.createElement("path", {
13452
+ d: "M7 0.25C3.41031 0.25 0.5 3.16031 0.5 6.75C0.5 10.3397 3.41031 13.25 7 13.25C10.5897 13.25 13.5 10.3397 13.5 6.75C13.5 3.16031 10.5897 0.25 7 0.25ZM10 7.75H7C6.86739 7.75 6.74021 7.69732 6.64645 7.60355C6.55268 7.50979 6.5 7.38261 6.5 7.25V2.75C6.5 2.61739 6.55268 2.49021 6.64645 2.39645C6.74021 2.30268 6.86739 2.25 7 2.25C7.13261 2.25 7.25979 2.30268 7.35355 2.39645C7.44732 2.49021 7.5 2.61739 7.5 2.75V6.75H10C10.1326 6.75 10.2598 6.80268 10.3536 6.89645C10.4473 6.99021 10.5 7.11739 10.5 7.25C10.5 7.38261 10.4473 7.50979 10.3536 7.60355C10.2598 7.69732 10.1326 7.75 10 7.75Z",
13453
+ fill: "#97A1AF"
13454
+ }));
13455
+ };
13456
+
13457
+ var CheckedCircleFill = function CheckedCircleFill(_ref) {
13458
+ var _ref$width = _ref.width,
13459
+ width = _ref$width === void 0 ? "16" : _ref$width,
13460
+ _ref$height = _ref.height,
13461
+ height = _ref$height === void 0 ? "17" : _ref$height,
13462
+ color = _ref.color;
13463
+ return React__default.createElement("svg", {
13464
+ width: width,
13465
+ height: height,
13466
+ fill: color,
13467
+ viewBox: "0 0 16 17",
13468
+ xmlns: "http://www.w3.org/2000/svg"
13469
+ }, React__default.createElement("path", {
13470
+ d: "M8 1.75C4.41594 1.75 1.5 4.66594 1.5 8.25C1.5 11.8341 4.41594 14.75 8 14.75C11.5841 14.75 14.5 11.8341 14.5 8.25C14.5 4.66594 11.5841 1.75 8 1.75ZM11.3828 6.07156L7.18281 11.0716C7.13674 11.1264 7.07941 11.1708 7.01471 11.2016C6.95001 11.2323 6.87945 11.2489 6.80781 11.25H6.79938C6.72929 11.25 6.66 11.2352 6.59599 11.2067C6.53198 11.1782 6.47468 11.1365 6.42781 11.0844L4.62781 9.08438C4.5821 9.03589 4.54654 8.97876 4.52322 8.91633C4.4999 8.85391 4.4893 8.78745 4.49203 8.72087C4.49477 8.65429 4.51078 8.58892 4.53914 8.52862C4.56749 8.46831 4.60761 8.41429 4.65715 8.36971C4.70668 8.32514 4.76463 8.29091 4.82757 8.26905C4.89052 8.24719 4.95721 8.23813 5.02371 8.2424C5.09021 8.24668 5.15518 8.26421 5.21481 8.29396C5.27444 8.3237 5.32752 8.36507 5.37094 8.41562L6.78625 9.98812L10.6172 5.42844C10.7031 5.32909 10.8247 5.26754 10.9556 5.25711C11.0866 5.24668 11.2164 5.28819 11.317 5.37268C11.4175 5.45717 11.4808 5.57784 11.4931 5.70862C11.5055 5.8394 11.4658 5.96977 11.3828 6.07156Z",
13471
+ fill: "#97A1AF"
13472
+ }));
13473
+ };
13474
+
13475
+ var IconPerson = function IconPerson(_ref) {
13476
+ var _ref$width = _ref.width,
13477
+ width = _ref$width === void 0 ? "16" : _ref$width,
13478
+ _ref$height = _ref.height,
13479
+ height = _ref$height === void 0 ? "16" : _ref$height,
13480
+ color = _ref.color;
13481
+ return React__default.createElement("svg", {
13482
+ width: width,
13483
+ height: height,
13484
+ fill: color,
13485
+ viewBox: "0 0 16 16",
13486
+ xmlns: "http://www.w3.org/2000/svg"
13487
+ }, React__default.createElement("path", {
13488
+ d: "M10.395 2.01813C9.78691 1.36156 8.93753 1 8.00003 1C7.05753 1 6.20534 1.35937 5.60003 2.01187C4.98815 2.67156 4.69003 3.56813 4.76003 4.53625C4.89878 6.44625 6.35222 8 8.00003 8C9.64784 8 11.0988 6.44656 11.2397 4.53687C11.3107 3.5775 11.0107 2.68281 10.395 2.01813Z",
13489
+ fill: "#97A1AF"
13490
+ }), React__default.createElement("path", {
13491
+ d: "M13.4999 15H2.49993C2.35595 15.0019 2.21337 14.9716 2.08255 14.9115C1.95173 14.8513 1.83597 14.7627 1.74368 14.6522C1.54056 14.4094 1.45868 14.0778 1.51931 13.7425C1.78306 12.2794 2.60618 11.0503 3.89993 10.1875C5.04931 9.42156 6.50525 9 7.99993 9C9.49462 9 10.9506 9.42188 12.0999 10.1875C13.3937 11.05 14.2168 12.2791 14.4806 13.7422C14.5412 14.0775 14.4593 14.4091 14.2562 14.6519C14.1639 14.7625 14.0482 14.8511 13.9174 14.9113C13.7865 14.9715 13.6439 15.0018 13.4999 15Z",
13492
+ fill: "#97A1AF"
13493
+ }));
13494
+ };
13495
+
13496
+ var LessonTooltip = function LessonTooltip(_ref) {
13497
+ var _startTime$format, _endTime$format;
13498
+ var lesson = _ref.lesson,
13499
+ lessonAttendance = _ref.lessonAttendance,
13500
+ _ref$padding = _ref.padding,
13501
+ padding = _ref$padding === void 0 ? "16px" : _ref$padding;
13502
+ var _useTranslation = useTranslation(),
13503
+ t = _useTranslation.t;
13504
+ var endTime = timeSpanToLocalMoment(lesson.endTime, lesson.date);
13505
+ var startTime = timeSpanToLocalMoment(lesson.startTime, lesson.date);
13506
+ return React__default.createElement(Stack, {
13507
+ padding: padding
13508
+ }, React__default.createElement(Stack, {
13509
+ gap: "20px"
13510
+ }, React__default.createElement(Typography, {
13511
+ sx: {
13512
+ color: grey[700]
13513
+ }
13514
+ }, lesson.courseName), React__default.createElement(Stack, {
13515
+ display: "flex",
13516
+ flexDirection: "row",
13517
+ justifyContent: "space-between",
13518
+ gap: "20px"
13519
+ }, React__default.createElement(Box, {
13520
+ display: "flex",
13521
+ flexDirection: "row",
13522
+ gap: "4px"
13523
+ }, React__default.createElement(CalendarFill, null), React__default.createElement(Typography, {
13524
+ sx: {
13525
+ color: grey[500],
13526
+ fontSize: "13px",
13527
+ fontWeight: "600",
13528
+ whiteSpace: "nowrap"
13529
+ }
13530
+ }, t("class_date"))), React__default.createElement(Typography, {
13531
+ sx: {
13532
+ color: grey[700],
13533
+ fontSize: "14px",
13534
+ fontWeight: "600"
13535
+ }
13536
+ }, t("" + moment(lesson === null || lesson === void 0 ? void 0 : lesson.date).format(t("date_format"))))), React__default.createElement(Stack, {
13537
+ display: "flex",
13538
+ flexDirection: "row",
13539
+ justifyContent: "space-between",
13540
+ gap: "20px"
13541
+ }, React__default.createElement(Stack, {
13542
+ display: "flex",
13543
+ flexDirection: "row",
13544
+ gap: "4px"
13545
+ }, React__default.createElement(ClockFill, null), React__default.createElement(Typography, {
13546
+ sx: {
13547
+ color: grey[500],
13548
+ fontSize: "13px",
13549
+ fontWeight: "600",
13550
+ whiteSpace: "nowrap"
13551
+ }
13552
+ }, t("class_time"))), React__default.createElement(Typography, {
13553
+ sx: {
13554
+ color: grey[700],
13555
+ fontSize: "14px",
13556
+ fontWeight: "600"
13557
+ }
13558
+ }, ((_startTime$format = startTime === null || startTime === void 0 ? void 0 : startTime.format("HH:mm")) != null ? _startTime$format : "HH:mm") + " : " + ((_endTime$format = endTime === null || endTime === void 0 ? void 0 : endTime.format("HH:mm")) != null ? _endTime$format : "HH:mm") + " (" + (startTime && endTime && subtractTime(startTime, endTime, t)) + ")")), React__default.createElement(Stack, {
13559
+ display: "flex",
13560
+ flexDirection: "row",
13561
+ justifyContent: "space-between",
13562
+ gap: "20px"
13563
+ }, React__default.createElement(Stack, {
13564
+ display: "flex",
13565
+ flexDirection: "row",
13566
+ gap: "4px"
13567
+ }, React__default.createElement(CheckedCircleFill, null), React__default.createElement(Typography, {
13568
+ sx: {
13569
+ color: grey[500],
13570
+ fontSize: "13px",
13571
+ fontWeight: "600",
13572
+ whiteSpace: "nowrap"
13573
+ }
13574
+ }, t("attendance"))), React__default.createElement(Typography, {
13575
+ sx: {
13576
+ color: grey[700],
13577
+ fontSize: "14px",
13578
+ fontWeight: "600"
13579
+ }
13580
+ }, (lessonAttendance === null || lessonAttendance === void 0 ? void 0 : lessonAttendance.status) === StudentAttendanceStatus.Late ? t("late") : (lessonAttendance === null || lessonAttendance === void 0 ? void 0 : lessonAttendance.status) === StudentAttendanceStatus.Attended ? t("attendance") : t("none_attendance"))), React__default.createElement(Stack, {
13581
+ display: "flex",
13582
+ flexDirection: "row",
13583
+ justifyContent: "space-between",
13584
+ gap: "20px"
13585
+ }, React__default.createElement(Stack, {
13586
+ display: "flex",
13587
+ flexDirection: "row",
13588
+ gap: "4px"
13589
+ }, React__default.createElement(IconPerson, null), React__default.createElement(Typography, {
13590
+ sx: {
13591
+ color: grey[500],
13592
+ fontSize: "13px",
13593
+ fontWeight: "600",
13594
+ whiteSpace: "nowrap"
13595
+ }
13596
+ }, t("teacher_in_charge"))), React__default.createElement(Typography, {
13597
+ sx: {
13598
+ color: grey[700],
13599
+ fontSize: "14px",
13600
+ fontWeight: "600"
13601
+ }
13602
+ }, lesson === null || lesson === void 0 ? void 0 : lesson.mainTeacherName))));
13603
+ };
13604
+
13605
+ var AttendanceFormBody = function AttendanceFormBody(_ref) {
13606
+ var _timeSpanToLocalMomen, _values$attendanceTim;
13607
+ var formikProp = _ref.formikProp,
13608
+ lesson = _ref.lesson,
13609
+ attendance = _ref.attendance,
13610
+ onClose = _ref.onClose;
13611
+ var values = formikProp.values,
13612
+ setFieldValue = formikProp.setFieldValue;
13613
+ var _useTranslation = useTranslation(),
13614
+ t = _useTranslation.t;
13615
+ var _useState = useState(""),
13616
+ openPicker = _useState[0],
13617
+ setOpenPicker = _useState[1];
13618
+ var maxTime = timeSpanToLocalMoment(lesson.endTime, lesson.date);
13619
+ var minTime = (_timeSpanToLocalMomen = timeSpanToLocalMoment(lesson.startTime, lesson.date)) === null || _timeSpanToLocalMomen === void 0 ? void 0 : _timeSpanToLocalMomen.add("minutes", -30);
13620
+ var handleChangeStatus = function handleChangeStatus() {
13621
+ if (values.status === StudentAttendanceStatus.Attended) setFieldValue("status", StudentAttendanceStatus.Late);else setFieldValue("status", StudentAttendanceStatus.Attended);
13622
+ };
13623
+ return React__default.createElement(Fragment$1, null, React__default.createElement(DialogContent, {
13624
+ sx: {
13625
+ overflowY: "unset"
13626
+ }
13627
+ }, React__default.createElement(Stack, {
13628
+ direction: "column",
13629
+ spacing: 1
13630
+ }, React__default.createElement(LessonTooltip, {
13631
+ lesson: lesson,
13632
+ lessonAttendance: attendance,
13633
+ padding: 0
13634
+ }), React__default.createElement(Divider, null), React__default.createElement(Stack, {
13635
+ direction: "row",
13636
+ gap: 2,
13637
+ justifyContent: "space-between",
13638
+ alignItems: "center",
13639
+ width: "100%"
13640
+ }, React__default.createElement(Box, null, React__default.createElement(Typography, {
13641
+ sx: {
13642
+ color: grey[500],
13643
+ fontSize: "13px",
13644
+ fontWeight: "600",
13645
+ whiteSpace: "nowrap"
13646
+ }
13647
+ }, t("current_status")), React__default.createElement(Typography, {
13648
+ sx: {
13649
+ color: green[700],
13650
+ fontSize: "14px",
13651
+ fontWeight: "600"
13652
+ }
13653
+ }, (attendance === null || attendance === void 0 ? void 0 : attendance.status) === StudentAttendanceStatus.Late ? t("late") : (attendance === null || attendance === void 0 ? void 0 : attendance.status) === StudentAttendanceStatus.Attended ? t("attendance") : t("none_attendance"))), React__default.createElement(CgArrowsExchange, {
13654
+ size: 24,
13655
+ color: green[700]
13656
+ }), React__default.createElement(Stack, {
13657
+ direction: "row"
13658
+ }, React__default.createElement(Stack, {
13659
+ direction: "column"
13660
+ }, React__default.createElement(Typography, {
13661
+ sx: {
13662
+ color: grey[500],
13663
+ fontSize: "13px",
13664
+ fontWeight: "600",
13665
+ whiteSpace: "nowrap"
13666
+ }
13667
+ }, t("next_status")), React__default.createElement(Typography, {
13668
+ sx: {
13669
+ color: grey[700],
13670
+ fontSize: "14px",
13671
+ fontWeight: "600"
13672
+ }
13673
+ }, values.status === StudentAttendanceStatus.Late ? t("late") : values.status === StudentAttendanceStatus.Attended ? t("attendance") : t("none_attendance"))), React__default.createElement(IconButton, {
13674
+ onClick: handleChangeStatus
13675
+ }, React__default.createElement(IoMdSync, {
13676
+ size: 24,
13677
+ color: green[700]
13678
+ })))), !!(attendance !== null && attendance !== void 0 && attendance.attendanceTime) && (attendance === null || attendance === void 0 ? void 0 : attendance.attendanceTime) !== DATE_TIME_MIN_VALUE && React__default.createElement(Box, null, React__default.createElement(Typography, {
13679
+ sx: {
13680
+ color: grey[500],
13681
+ fontSize: "13px",
13682
+ fontWeight: "600",
13683
+ whiteSpace: "nowrap"
13684
+ }
13685
+ }, t("current_arrival_time")), React__default.createElement(Typography, null, utcToLocalTime(attendance.attendanceTime, t("date_time_format")))), values.status !== StudentAttendanceStatus.Absent && React__default.createElement(Box, null, React__default.createElement("label", null, t("arrival_time")), React__default.createElement(LocalizationProvider, {
13686
+ dateAdapter: AdapterMoment
13687
+ }, React__default.createElement(DemoContainer, {
13688
+ components: ["TimePicker"]
13689
+ }, React__default.createElement(TimePicker, {
13690
+ open: openPicker === "attendanceTime",
13691
+ value: (_values$attendanceTim = values.attendanceTime) != null ? _values$attendanceTim : null,
13692
+ format: "HH:mm",
13693
+ maxTime: maxTime,
13694
+ minTime: minTime,
13695
+ onChange: function onChange(newValue) {
13696
+ setFieldValue("attendanceTime", newValue);
13697
+ },
13698
+ timezone: "system",
13699
+ className: styles$3["time-picker"] + " w-100",
13700
+ slotProps: {
13701
+ textField: {
13702
+ onClick: function onClick() {
13703
+ return setOpenPicker("attendanceTime");
13704
+ }
13705
+ }
13706
+ },
13707
+ closeOnSelect: false,
13708
+ onOpen: function onOpen() {
13709
+ return setOpenPicker("attendanceTime");
13710
+ },
13711
+ onClose: function onClose() {
13712
+ return setOpenPicker("");
13713
+ },
13714
+ ampm: false
13715
+ })))))), React__default.createElement(DialogActions, null, React__default.createElement(Button, {
13716
+ variant: "contained",
13717
+ className: "bg-secondary mb-2 text-capitalize",
13718
+ onClick: onClose
13719
+ }, t("cancel")), React__default.createElement(Button, {
13720
+ variant: "contained",
13721
+ color: "primary",
13722
+ className: "mb-2 me-2 text-capitalize",
13723
+ onClick: function onClick() {
13724
+ return formikProp.handleSubmit();
13725
+ }
13726
+ }, t("continue"))));
13727
+ };
13728
+
13729
+ var AttendanceFormDialog = function AttendanceFormDialog(_ref) {
13730
+ var lesson = _ref.lesson,
13731
+ studentId = _ref.studentId,
13732
+ attendance = _ref.attendance,
13733
+ open = _ref.open,
13734
+ _ref$zIndex = _ref.zIndex,
13735
+ zIndex = _ref$zIndex === void 0 ? 1300 : _ref$zIndex,
13736
+ onClose = _ref.onClose,
13737
+ onSubmit = _ref.onSubmit;
13738
+ var _useTranslation = useTranslation(),
13739
+ t = _useTranslation.t;
13740
+ var convertAttendanceRequest = function convertAttendanceRequest() {
13741
+ return {
13742
+ studentId: studentId,
13743
+ attendanceTime: attendance !== null && attendance !== void 0 && attendance.attendanceTime && attendance.attendanceTime !== DATE_TIME_MIN_VALUE ? moment.utc(attendance.attendanceTime).local() : undefined,
13744
+ status: (attendance === null || attendance === void 0 ? void 0 : attendance.status) === StudentAttendanceStatus.Attended ? StudentAttendanceStatus.Late : (attendance === null || attendance === void 0 ? void 0 : attendance.status) === StudentAttendanceStatus.Late ? StudentAttendanceStatus.Absent : StudentAttendanceStatus.Attended
13745
+ };
13746
+ };
13747
+ var attendanceRequest = useMemo(convertAttendanceRequest, [attendance === null || attendance === void 0 ? void 0 : attendance.attendanceTime, studentId]);
13748
+ var handleSubmit = function handleSubmit(values, _) {
13749
+ try {
13750
+ if (!lesson) return Promise.resolve();
13751
+ var attendanceTime = undefined;
13752
+ if (values.attendanceTime) {
13753
+ var minTime = timeSpanToLocalMoment(lesson.startTime, lesson.date).add(-30, "minutes");
13754
+ var attendanceMoment = moment(minTime.format("YYYY-MM-DD") + " " + values.attendanceTime.format("HH:mm:ss"), "YYYY-MM-DD HH:mm:ss");
13755
+ if (attendanceMoment.isBefore(minTime)) attendanceMoment.add(1, "days");
13756
+ attendanceTime = attendanceMoment.utc().format("YYYY-MM-DDTHH:mm:ss.SSS");
13757
+ }
13758
+ return Promise.resolve(onSubmit(lesson, {
13759
+ studentId: values.studentId,
13760
+ status: values.status,
13761
+ attendanceTime: attendanceTime
13762
+ })).then(function () {});
13763
+ } catch (e) {
13764
+ return Promise.reject(e);
13765
+ }
13766
+ };
13767
+ if (!lesson) return null;
13768
+ return React__default.createElement(CommonDialog, {
13769
+ open: open,
13770
+ onClose: onClose,
13771
+ size: "sm",
13772
+ title: t("uppdate_attendance"),
13773
+ zIndex: zIndex
13774
+ }, React__default.createElement(Formik, {
13775
+ initialValues: attendanceRequest,
13776
+ enableReinitialize: true,
13777
+ onSubmit: handleSubmit
13778
+ }, function (formikProp) {
13779
+ return React__default.createElement(AttendanceFormBody, {
13780
+ lesson: lesson,
13781
+ attendance: attendance,
13782
+ formikProp: formikProp,
13783
+ onClose: onClose
13784
+ });
13785
+ }));
13786
+ };
13787
+
13344
13788
  var USER_URL = BASE_URL + "/api/user";
13345
13789
  var getUserByIdApi = function getUserByIdApi(id) {
13346
13790
  return api.get(USER_URL + "/GetById/" + id);
@@ -13438,80 +13882,6 @@ var DrawerContainerStyle = function DrawerContainerStyle(width) {
13438
13882
  };
13439
13883
  };
13440
13884
 
13441
- var formatGrade = function formatGrade(grade, t, language) {
13442
- return grade ? language === Language.en ? "" + grade + getOrdinalSuffix(grade, language) : "" + t("number_grade", {
13443
- number: grade
13444
- }) : "";
13445
- };
13446
- var formatLessonOrder = function formatLessonOrder(index, t, language) {
13447
- return language === Language.en ? "" + (index + 1) + getOrdinalSuffix(index + 1, language) : "" + t("round", {
13448
- number: index + 1
13449
- });
13450
- };
13451
- var formatTime$1 = function formatTime(t, timeInMilliseconds) {
13452
- var hours = Math.floor(timeInMilliseconds / 3600000);
13453
- var minutes = Math.floor(timeInMilliseconds % 3600000 / 60000);
13454
- var seconds = Math.floor(timeInMilliseconds % 60000 / 1000);
13455
- return timeInMilliseconds < 60 ? "" + timeInMilliseconds + t("seconds") : t("hours_mins_seconds", {
13456
- hours: hours,
13457
- mins: minutes,
13458
- seconds: seconds
13459
- });
13460
- };
13461
- var a11yProps = function a11yProps(index) {
13462
- return {
13463
- id: "info-tab-" + index,
13464
- "aria-controls": "info-tabpanel-" + index,
13465
- sx: {
13466
- position: "relative",
13467
- fontSize: "13px",
13468
- fontWeight: 700,
13469
- padding: "12px 16px",
13470
- color: grey[500],
13471
- mx: "8px",
13472
- "&::after": {
13473
- content: "''",
13474
- position: "absolute",
13475
- bottom: 0,
13476
- left: 0,
13477
- width: "100%",
13478
- height: "1px",
13479
- backgroundColor: grey[500]
13480
- }
13481
- }
13482
- };
13483
- };
13484
- var subtractTime = function subtractTime(time1, time2, t) {
13485
- var _time1$split$map = time1.split(":").map(Number),
13486
- hours1 = _time1$split$map[0],
13487
- minutes1 = _time1$split$map[1];
13488
- var _time2$split$map = time2.split(":").map(Number),
13489
- hours2 = _time2$split$map[0],
13490
- minutes2 = _time2$split$map[1];
13491
- var totalMinutes1 = hours1 * 60 + minutes1;
13492
- var totalMinutes2 = hours2 * 60 + minutes2;
13493
- var diffMinutes = Math.abs(totalMinutes1 - totalMinutes2);
13494
- var hoursDiff = Math.floor(diffMinutes / 60);
13495
- var minutesDiff = diffMinutes % 60;
13496
- if (hoursDiff < 0) {
13497
- hoursDiff += 24;
13498
- }
13499
- if (minutesDiff < 0) {
13500
- minutesDiff += 60;
13501
- }
13502
- if (hoursDiff === 0) {
13503
- return minutesDiff + " " + t("minute");
13504
- }
13505
- if (minutesDiff === 0) {
13506
- return "" + (hoursDiff > 1 ? t("hours") : t("hour"));
13507
- }
13508
- return hoursDiff + " " + (hoursDiff > 1 ? t("hours") : t("hour")) + " " + minutesDiff + " " + t("minute");
13509
- };
13510
- var formatTimeHHmm = function formatTimeHHmm(time) {
13511
- var res = time.split(":");
13512
- return res[0] + ":" + res[1];
13513
- };
13514
-
13515
13885
  var DrawerHeader = function DrawerHeader(_ref) {
13516
13886
  var _BRIEF_GRADE_OPTIONS$;
13517
13887
  var isLoading = _ref.isLoading,
@@ -14482,7 +14852,7 @@ var defaultSeries = function defaultSeries(t) {
14482
14852
  }];
14483
14853
  };
14484
14854
 
14485
- var styles$3 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","form-label":"_1jRLX","form-control":"_13KE7","form-label-dialog":"_3mXNM","btn-cancel":"_3bqNl","btn-register":"_3GFnT"};
14855
+ var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","form-label":"_1jRLX","form-control":"_13KE7","form-label-dialog":"_3mXNM","btn-cancel":"_3bqNl","btn-register":"_3GFnT"};
14486
14856
 
14487
14857
  var iconCloseDialog = function iconCloseDialog(_ref) {
14488
14858
  var _ref$width = _ref.width,
@@ -14523,7 +14893,7 @@ var NoteTinyEditor = function NoteTinyEditor(_ref) {
14523
14893
  external_plugins: {
14524
14894
  tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
14525
14895
  },
14526
- plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'textcolor', 'wordcount'],
14896
+ plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'wordcount'],
14527
14897
  toolbar: 'undo redo | blocks fontfamily fontsize forecolor backcolor | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat | tiny_mce_wiris_formulaEditor | tiny_mce_wiris_formulaEditorChemistry',
14528
14898
  branding: false,
14529
14899
  extended_valid_elements: '*[.*]',
@@ -14548,9 +14918,7 @@ var schema$1 = object().shape({
14548
14918
  content: string().required()
14549
14919
  });
14550
14920
  var ClassNoteDialog = function ClassNoteDialog(_ref) {
14551
- var _ref$id = _ref.id,
14552
- id = _ref$id === void 0 ? "class-note-dialog" : _ref$id,
14553
- open = _ref.open,
14921
+ var open = _ref.open,
14554
14922
  studentName = _ref.studentName,
14555
14923
  selectedNote = _ref.selectedNote,
14556
14924
  tip = _ref.tip,
@@ -14562,26 +14930,14 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14562
14930
  var handleSaveNote = function handleSaveNote(content) {
14563
14931
  onSaveNote(content);
14564
14932
  };
14565
- useEffect(function () {
14566
- if (open) {
14567
- var _document$getElementB;
14568
- (_document$getElementB = document.getElementById(id)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.setAttribute("inert", "true");
14569
- } else {
14570
- var _document$getElementB2;
14571
- (_document$getElementB2 = document.getElementById(id)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.removeAttribute("inert");
14572
- }
14573
- return function () {
14574
- var _document$getElementB3;
14575
- (_document$getElementB3 = document.getElementById(id)) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.removeAttribute("inert");
14576
- };
14577
- }, [open, id]);
14578
14933
  return React__default.createElement(Dialog, {
14579
14934
  onClose: onClose,
14580
14935
  open: open,
14581
14936
  maxWidth: "md",
14582
14937
  scroll: "body",
14583
14938
  fullWidth: true,
14584
- id: id
14939
+ disableEnforceFocus: true,
14940
+ disableAutoFocus: true
14585
14941
  }, React__default.createElement(DialogTitle$1, {
14586
14942
  id: "customized-dialog-title"
14587
14943
  }, React__default.createElement(Typography$1, {
@@ -14624,7 +14980,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14624
14980
  padding: "24px 24px 40px 24px"
14625
14981
  }, (selectedNote || studentName) && React__default.createElement(Stack, null, React__default.createElement("label", {
14626
14982
  htmlFor: "questions",
14627
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
14983
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14628
14984
  }, t("student_name")), React__default.createElement(Typography$1, {
14629
14985
  sx: {
14630
14986
  fontWeight: 700,
@@ -14633,7 +14989,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14633
14989
  }
14634
14990
  }, selectedNote ? selectedNote.fullName : studentName)), React__default.createElement(Stack, null, React__default.createElement("label", {
14635
14991
  htmlFor: "content-question",
14636
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
14992
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14637
14993
  }, t("incorrect_answer_note_contents")), React__default.createElement(Box, {
14638
14994
  position: "relative",
14639
14995
  display: "flex",
@@ -14667,7 +15023,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14667
15023
  borderTop: "1px solid #CED2DA"
14668
15024
  }
14669
15025
  }, React__default.createElement(MButton, {
14670
- className: styles$3["btn-cancel"],
15026
+ className: styles$4["btn-cancel"],
14671
15027
  onClick: onClose
14672
15028
  }, React__default.createElement(Typography$1, {
14673
15029
  sx: {
@@ -14681,7 +15037,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14681
15037
  sx: {
14682
15038
  bgcolor: styles.dark
14683
15039
  },
14684
- className: styles$3["btn-register"],
15040
+ className: styles$4["btn-register"],
14685
15041
  type: "submit",
14686
15042
  disabled: !values.content.trim().length
14687
15043
  }, React__default.createElement(Typography$1, {
@@ -14790,7 +15146,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14790
15146
  padding: "24px 24px 40px 24px"
14791
15147
  }, React__default.createElement(Stack, null, React__default.createElement("label", {
14792
15148
  htmlFor: "questions",
14793
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
15149
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14794
15150
  }, t("problem_number")), selectedQuestion || selectedNote ? React__default.createElement(Typography$1, {
14795
15151
  sx: {
14796
15152
  fontWeight: 700,
@@ -14817,7 +15173,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14817
15173
  }
14818
15174
  })), React__default.createElement(Stack, null, React__default.createElement("label", {
14819
15175
  htmlFor: "content-question",
14820
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
15176
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14821
15177
  }, t("incorrect_answer_note_contents")), React__default.createElement(Box, {
14822
15178
  position: "relative",
14823
15179
  display: "flex",
@@ -14846,7 +15202,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14846
15202
  borderTop: "1px solid #CED2DA"
14847
15203
  }
14848
15204
  }, React__default.createElement(MButton, {
14849
- className: styles$3["btn-cancel"],
15205
+ className: styles$4["btn-cancel"],
14850
15206
  onClick: onClose
14851
15207
  }, React__default.createElement(Typography$1, {
14852
15208
  sx: {
@@ -14860,7 +15216,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14860
15216
  sx: {
14861
15217
  bgcolor: styles.dark
14862
15218
  },
14863
- className: styles$3["btn-register"],
15219
+ className: styles$4["btn-register"],
14864
15220
  type: "submit",
14865
15221
  disabled: !values.content.trim().length
14866
15222
  }, React__default.createElement(Typography$1, {
@@ -15222,8 +15578,28 @@ var NotesContainer = function NotesContainer(_ref) {
15222
15578
  });
15223
15579
  };
15224
15580
 
15581
+ var NoteContent = function NoteContent(_ref) {
15582
+ var content = _ref.content;
15583
+ useEffect(function () {
15584
+ if (window.MathJax) {
15585
+ var _window$MathJax;
15586
+ (_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
15587
+ }
15588
+ }, [content]);
15589
+ return React__default.createElement(Box, {
15590
+ sx: {
15591
+ fontSize: "14px",
15592
+ fontWeight: "300",
15593
+ color: "#414E62"
15594
+ },
15595
+ dangerouslySetInnerHTML: {
15596
+ __html: content
15597
+ }
15598
+ });
15599
+ };
15600
+
15225
15601
  var NoteDrawer = function NoteDrawer(props) {
15226
- var _BRIEF_GRADE_OPTIONS$;
15602
+ var _BRIEF_GRADE_OPTIONS$, _data$content;
15227
15603
  var anchor = props.anchor,
15228
15604
  open = props.open,
15229
15605
  student = props.student,
@@ -15242,12 +15618,6 @@ var NoteDrawer = function NoteDrawer(props) {
15242
15618
  var _state$common2;
15243
15619
  return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
15244
15620
  });
15245
- useEffect(function () {
15246
- if (window.MathJax) {
15247
- var _window$MathJax;
15248
- (_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
15249
- }
15250
- }, [data === null || data === void 0 ? void 0 : data.content]);
15251
15621
  return React__default.createElement(Drawer, {
15252
15622
  anchor: anchor,
15253
15623
  open: open,
@@ -15363,15 +15733,8 @@ var NoteDrawer = function NoteDrawer(props) {
15363
15733
  color: "#97A1AF",
15364
15734
  textAlign: "end"
15365
15735
  }
15366
- }, academy === null || academy === void 0 ? void 0 : academy.name))), React__default.createElement(Box, {
15367
- sx: {
15368
- fontSize: "14px",
15369
- fontWeight: "300",
15370
- color: "#414E62"
15371
- },
15372
- dangerouslySetInnerHTML: {
15373
- __html: (data === null || data === void 0 ? void 0 : data.content) || ""
15374
- }
15736
+ }, academy === null || academy === void 0 ? void 0 : academy.name))), React__default.createElement(NoteContent, {
15737
+ content: (_data$content = data === null || data === void 0 ? void 0 : data.content) != null ? _data$content : ""
15375
15738
  })));
15376
15739
  };
15377
15740
 
@@ -16017,7 +16380,6 @@ var TEXTBOOK_DEFAULT_FILTER = {
16017
16380
  sortColumnName: "Name",
16018
16381
  preparedFilterType: "RecentlySolvedQuestions"
16019
16382
  };
16020
- var FormatDate = "YYYY-MM-DD HH:mm:ss";
16021
16383
 
16022
16384
  var EXAM_SESSION_URL$1 = BASE_URL + "/api/examSession";
16023
16385
  var getExamSessionListApi = function getExamSessionListApi(query) {
@@ -17276,7 +17638,7 @@ Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==t
17276
17638
 
17277
17639
  var ReactApexChart = unwrapExports(reactApexcharts_min);
17278
17640
 
17279
- var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","overall-response-1":"_1AeGu","overall-response-2":"_1xTB0","overall-response-3":"_3Yu_5","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw","loader":"_2uC7T","dot":"_Xz-Mr","bounce":"_3THgz"};
17641
+ var styles$5 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","overall-response-1":"_1AeGu","overall-response-2":"_1xTB0","overall-response-3":"_3Yu_5","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw","loader":"_2uC7T","dot":"_Xz-Mr","bounce":"_3THgz"};
17280
17642
 
17281
17643
  var printStyles = {"page-break":"_35kyG","print-exact-color":"_1PFgl","avoid-break-inside":"_3rPGh"};
17282
17644
 
@@ -17445,7 +17807,7 @@ var AnswerItem = function AnswerItem(_ref) {
17445
17807
  },
17446
17808
  key: data.id
17447
17809
  }, React__default.createElement("div", {
17448
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
17810
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
17449
17811
  }, React__default.createElement("div", {
17450
17812
  className: styles["custom-col-2"],
17451
17813
  style: {
@@ -17455,7 +17817,7 @@ var AnswerItem = function AnswerItem(_ref) {
17455
17817
  padding: "5px 8px"
17456
17818
  }
17457
17819
  }, data.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
17458
- className: styles$4["questionOrder"]
17820
+ className: styles$5["questionOrder"]
17459
17821
  }, t("number_question", {
17460
17822
  number: data.questionOrder + 1
17461
17823
  }))), React__default.createElement("div", {
@@ -17466,11 +17828,11 @@ var AnswerItem = function AnswerItem(_ref) {
17466
17828
  gap: "4px"
17467
17829
  }
17468
17830
  }, data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(Fragment$1, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
17469
- className: styles$4["answerCorrect"]
17831
+ className: styles$5["answerCorrect"]
17470
17832
  }, t("correct"))), !data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(Fragment$1, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
17471
- className: styles$4["answerIncorrect"]
17833
+ className: styles$5["answerIncorrect"]
17472
17834
  }, t("incorrect"))), data.selectedAnswers === "" && React__default.createElement(Fragment$1, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
17473
- className: styles$4["answerNograss"]
17835
+ className: styles$5["answerNograss"]
17474
17836
  }, t("no_solution")))), React__default.createElement("div", {
17475
17837
  className: styles["custom-col-2"],
17476
17838
  style: {
@@ -17481,12 +17843,12 @@ var AnswerItem = function AnswerItem(_ref) {
17481
17843
  style: {
17482
17844
  margin: 0
17483
17845
  },
17484
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
17846
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
17485
17847
  }, formatTimeSecond(Math.round(data.duration), t)) : React__default.createElement("p", {
17486
17848
  style: {
17487
17849
  margin: 0
17488
17850
  },
17489
- className: styles$4["answerNoTime"]
17851
+ className: styles$5["answerNoTime"]
17490
17852
  }, t("no_time"))), React__default.createElement("div", {
17491
17853
  className: styles["custom-col-2"],
17492
17854
  style: {
@@ -17497,13 +17859,13 @@ var AnswerItem = function AnswerItem(_ref) {
17497
17859
  style: {
17498
17860
  margin: 0
17499
17861
  },
17500
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
17862
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
17501
17863
  }, formatTimeDiff(data.duration, data.topDuration, t)) : React__default.createElement("p", {
17502
17864
  style: {
17503
17865
  margin: 0,
17504
17866
  textAlign: "center"
17505
17867
  },
17506
- className: styles$4["answerNoTime"]
17868
+ className: styles$5["answerNoTime"]
17507
17869
  }, "-")), React__default.createElement("div", {
17508
17870
  className: styles["custom-col-2"],
17509
17871
  style: {
@@ -17514,12 +17876,12 @@ var AnswerItem = function AnswerItem(_ref) {
17514
17876
  style: {
17515
17877
  margin: 0
17516
17878
  },
17517
- className: styles$4["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$4)
17879
+ className: styles$5["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$5)
17518
17880
  }, data.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
17519
17881
  style: {
17520
17882
  margin: 0
17521
17883
  },
17522
- className: styles$4["answerNoTime"]
17884
+ className: styles$5["answerNoTime"]
17523
17885
  }, t("no_time"))), isStudent && !isLearningSpace && React__default.createElement(Box, {
17524
17886
  className: styles["custom-col-2"]
17525
17887
  }, openContextMenu ? React__default.createElement(ClickAwayListener, {
@@ -17586,7 +17948,7 @@ var MyAnswer = function MyAnswer(_ref) {
17586
17948
  }));
17587
17949
  };
17588
17950
  return React__default.createElement("div", {
17589
- className: "" + styles$4["myanswer"]
17951
+ className: "" + styles$5["myanswer"]
17590
17952
  }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
17591
17953
  return React__default.createElement("div", {
17592
17954
  key: item.category.id
@@ -17596,7 +17958,7 @@ var MyAnswer = function MyAnswer(_ref) {
17596
17958
  bgcolor: "#F9FAFB",
17597
17959
  flexDirection: "row",
17598
17960
  padding: "12px",
17599
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
17961
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
17600
17962
  }, React__default.createElement("div", {
17601
17963
  className: styles["custom-col-2"],
17602
17964
  style: {
@@ -17675,7 +18037,7 @@ var MyAnswer = function MyAnswer(_ref) {
17675
18037
  alignItems: "center"
17676
18038
  }
17677
18039
  }, t("total_correct_rate")))), React__default.createElement("div", {
17678
- className: styles$4["titleMyAnswer2"]
18040
+ className: styles$5["titleMyAnswer2"]
17679
18041
  }, React__default.createElement(Typography, {
17680
18042
  sx: {
17681
18043
  color: "#97A1AF",
@@ -17688,7 +18050,7 @@ var MyAnswer = function MyAnswer(_ref) {
17688
18050
  fontWeight: 700
17689
18051
  }
17690
18052
  }, item.category.name))), React__default.createElement("div", {
17691
- className: styles$4["contentMyAnswer"]
18053
+ className: styles$5["contentMyAnswer"]
17692
18054
  }, React__default.createElement(ListView, {
17693
18055
  data: item.questions,
17694
18056
  render: function render(question, index) {
@@ -17804,7 +18166,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17804
18166
  borderTop: index < effectSize.length - 1 ? "1px solid transparent" : undefined
17805
18167
  }
17806
18168
  }, React__default.createElement("td", {
17807
- className: styles$4["tdcolumn1"]
18169
+ className: styles$5["tdcolumn1"]
17808
18170
  }, t("problem"), " ", item.questionOrder + 1), React__default.createElement("td", {
17809
18171
  style: {
17810
18172
  textAlign: "center",
@@ -17812,9 +18174,9 @@ var CompareGrass = function CompareGrass(_ref2) {
17812
18174
  maxWidth: "30%"
17813
18175
  }
17814
18176
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
17815
- className: styles$4["tdcolumn3"],
18177
+ className: styles$5["tdcolumn3"],
17816
18178
  style: {
17817
- color: item.isCorrect ? styles$4.green_support_900 : styles$4.red_900,
18179
+ color: item.isCorrect ? styles$5.green_support_900 : styles$5.red_900,
17818
18180
  maxWidth: "30%"
17819
18181
  }
17820
18182
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
@@ -17825,7 +18187,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17825
18187
  }, renderAnswer(item.questionAnswerType, item.mostSelectedAnswers)), React__default.createElement("td", {
17826
18188
  className: "" + printStyles["avoid-break-inside"]
17827
18189
  }, React__default.createElement("div", {
17828
- className: styles$4["classification"] + " " + printStyles["avoid-break-inside"]
18190
+ className: styles$5["classification"] + " " + printStyles["avoid-break-inside"]
17829
18191
  }, item.problemCategories.map(function (problem, index) {
17830
18192
  return React__default.createElement(Stack, {
17831
18193
  flexDirection: "row",
@@ -17868,11 +18230,11 @@ var CompareGrass = function CompareGrass(_ref2) {
17868
18230
  });
17869
18231
  };
17870
18232
  return React__default.createElement("div", {
17871
- className: "" + styles$4["compareGrass"]
18233
+ className: "" + styles$5["compareGrass"]
17872
18234
  }, React__default.createElement("div", {
17873
- className: styles$4["tableCompareGrass"]
18235
+ className: styles$5["tableCompareGrass"]
17874
18236
  }, React__default.createElement("div", {
17875
- className: styles$4["table-responsive"]
18237
+ className: styles$5["table-responsive"]
17876
18238
  }, React__default.createElement(Table, {
17877
18239
  style: {
17878
18240
  width: "100%"
@@ -17884,7 +18246,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17884
18246
  },
17885
18247
  className: "" + printStyles["avoid-break-inside"]
17886
18248
  }, React__default.createElement("tr", null, React__default.createElement("th", {
17887
- className: styles$4["thcolumn1"]
18249
+ className: styles$5["thcolumn1"]
17888
18250
  }, t("problem_number")), React__default.createElement("th", {
17889
18251
  style: {
17890
18252
  textAlign: "center"
@@ -17965,37 +18327,37 @@ var TrickyProblem = function TrickyProblem(_ref) {
17965
18327
  });
17966
18328
  var renderProblems = function renderProblems() {
17967
18329
  return React__default.createElement(Fragment$1, null, React__default.createElement("div", {
17968
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
18330
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
17969
18331
  }, React__default.createElement(iconX, null), React__default.createElement("span", null, t("incorrect_problem_among_the_starred_problems"))), React__default.createElement("div", {
17970
- className: styles$4["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
18332
+ className: styles$5["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
17971
18333
  }, !!(inCorrectQuestions !== null && inCorrectQuestions !== void 0 && inCorrectQuestions.length) && inCorrectQuestions.map(function (question) {
17972
18334
  return React__default.createElement("span", {
17973
18335
  key: question.id,
17974
- className: styles$4["question"]
18336
+ className: styles$5["question"]
17975
18337
  }, t("number_question", {
17976
18338
  number: question.questionOrder + 1
17977
18339
  }));
17978
18340
  }), !(data !== null && data !== void 0 && data.questions.length) && React__default.createElement("div", {
17979
- className: styles$4["noData"]
18341
+ className: styles$5["noData"]
17980
18342
  }, t("no_data"))), React__default.createElement("div", {
17981
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
18343
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
17982
18344
  }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, t("correct_problem_among_the_starred_problems"))), React__default.createElement("div", {
17983
- className: styles$4["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
18345
+ className: styles$5["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
17984
18346
  }, !!(correctQuestions !== null && correctQuestions !== void 0 && correctQuestions.length) && correctQuestions.map(function (question) {
17985
18347
  return React__default.createElement("div", {
17986
18348
  key: question.id,
17987
- className: styles$4["question"]
18349
+ className: styles$5["question"]
17988
18350
  }, t("number_question", {
17989
18351
  number: question.questionOrder + 1
17990
18352
  }));
17991
18353
  }), !(data !== null && data !== void 0 && data.questions.length) && React__default.createElement("div", {
17992
- className: styles$4["noData"]
18354
+ className: styles$5["noData"]
17993
18355
  }, t("no_data"))));
17994
18356
  };
17995
18357
  return React__default.createElement("div", {
17996
- className: "" + styles$4["wrapperProblem"]
18358
+ className: "" + styles$5["wrapperProblem"]
17997
18359
  }, React__default.createElement("div", {
17998
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18360
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
17999
18361
  onClick: function onClick() {
18000
18362
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
18001
18363
  }
@@ -18007,10 +18369,10 @@ var TrickyProblem = function TrickyProblem(_ref) {
18007
18369
  }
18008
18370
  }, t("tricky_problems")), isOpen ? React__default.createElement(IoChevronUp, {
18009
18371
  size: 24,
18010
- color: styles$4.gray_300
18372
+ color: styles$5.gray_300
18011
18373
  }) : React__default.createElement(IoChevronDown, {
18012
18374
  size: 24,
18013
- color: styles$4.gray_300
18375
+ color: styles$5.gray_300
18014
18376
  })), isOpen && React__default.createElement(Fragment$1, null, renderProblems()));
18015
18377
  };
18016
18378
 
@@ -18036,9 +18398,9 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18036
18398
  borderBottom: "1px solid #e4e7ec"
18037
18399
  } : {}
18038
18400
  }, React__default.createElement("td", {
18039
- className: styles$4["tdcolumn1"],
18401
+ className: styles$5["tdcolumn1"],
18040
18402
  style: {
18041
- color: styles$4.gray_900,
18403
+ color: styles$5.gray_900,
18042
18404
  fontSize: "13px",
18043
18405
  fontWeight: 500
18044
18406
  }
@@ -18047,22 +18409,22 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18047
18409
  })), React__default.createElement("td", {
18048
18410
  style: {
18049
18411
  textAlign: "center",
18050
- color: styles$4.gray_700,
18412
+ color: styles$5.gray_700,
18051
18413
  fontSize: "13px",
18052
18414
  fontWeight: 500
18053
18415
  }
18054
18416
  }, item.duration ? formatTimeSecond(item.duration, t) : ""), React__default.createElement("td", {
18055
- className: styles$4["tdcolumn3"],
18417
+ className: styles$5["tdcolumn3"],
18056
18418
  style: {
18057
18419
  textAlign: "center",
18058
- color: styles$4.gray_700,
18420
+ color: styles$5.gray_700,
18059
18421
  fontSize: "13px",
18060
18422
  fontWeight: 500
18061
18423
  }
18062
18424
  }, item.topDuration ? formatTimeSecond(item.topDuration, t) : ""), React__default.createElement("td", {
18063
18425
  style: {
18064
18426
  textAlign: "center",
18065
- color: isBetter ? styles$4.dark : styles$4.red_900,
18427
+ color: isBetter ? styles$5.dark : styles$5.red_900,
18066
18428
  fontSize: "13px",
18067
18429
  fontWeight: 600
18068
18430
  }
@@ -18078,15 +18440,15 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18078
18440
  return React__default.createElement(Stack, {
18079
18441
  direction: "row",
18080
18442
  flexWrap: "nowrap",
18081
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
18443
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
18082
18444
  key: item.id
18083
18445
  }, React__default.createElement(Box, {
18084
18446
  width: "160px",
18085
- className: styles$4["contentColumn1"]
18447
+ className: styles$5["contentColumn1"]
18086
18448
  }, React__default.createElement(Stack, null, React__default.createElement("div", null, React__default.createElement("span", {
18087
- className: styles$4["span1"]
18449
+ className: styles$5["span1"]
18088
18450
  }, t("problem")), React__default.createElement("span", {
18089
- className: styles$4["span2"]
18451
+ className: styles$5["span2"]
18090
18452
  }, t("number_question", {
18091
18453
  number: item.questionOrder + 1
18092
18454
  }))), (category === null || category === void 0 ? void 0 : category.name) && React__default.createElement(Typography, {
@@ -18097,22 +18459,22 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18097
18459
  textAlign: "center"
18098
18460
  }
18099
18461
  }, category.name))), React__default.createElement(Box, {
18100
- className: styles$4["contentColumn2"]
18462
+ className: styles$5["contentColumn2"]
18101
18463
  }, React__default.createElement("div", null, React__default.createElement("span", {
18102
- className: styles$4["span1"]
18464
+ className: styles$5["span1"]
18103
18465
  }, t("my_time")), React__default.createElement("span", {
18104
- className: styles$4["span2"]
18466
+ className: styles$5["span2"]
18105
18467
  }, t("top_time"))), React__default.createElement("div", null, React__default.createElement("span", {
18106
- className: styles$4["duration"]
18468
+ className: styles$5["duration"]
18107
18469
  }, formatTimeSecond(item.duration, t)), React__default.createElement("span", {
18108
- className: styles$4["topDuration"]
18470
+ className: styles$5["topDuration"]
18109
18471
  }, formatTimeSecond(item.topDuration, t)))));
18110
18472
  });
18111
18473
  };
18112
18474
  return React__default.createElement("div", {
18113
- className: "" + styles$4["wrapperProblem"]
18475
+ className: "" + styles$5["wrapperProblem"]
18114
18476
  }, React__default.createElement("div", {
18115
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18477
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
18116
18478
  onClick: function onClick() {
18117
18479
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
18118
18480
  }
@@ -18128,20 +18490,20 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18128
18490
  }
18129
18491
  }, t("problems_that_took_a_long_time")), React__default.createElement(Typography, {
18130
18492
  sx: {
18131
- color: styles$4.gray_300,
18493
+ color: styles$5.gray_300,
18132
18494
  fontSize: "11px",
18133
18495
  fontWeight: 500
18134
18496
  }
18135
18497
  }, t("protracted_problem_detail"))), isOpen ? React__default.createElement(IoChevronUp, {
18136
18498
  size: 24,
18137
- color: styles$4.gray_300
18499
+ color: styles$5.gray_300
18138
18500
  }) : React__default.createElement(IoChevronDown, {
18139
18501
  size: 24,
18140
- color: styles$4.gray_300
18502
+ color: styles$5.gray_300
18141
18503
  })), isOpen && React__default.createElement(Fragment$1, null, data.length ? React__default.createElement("div", {
18142
- className: styles$4["tableCompareGrass"]
18504
+ className: styles$5["tableCompareGrass"]
18143
18505
  }, React__default.createElement("div", {
18144
- className: styles$4["table-responsive"]
18506
+ className: styles$5["table-responsive"]
18145
18507
  }, React__default.createElement(Table, {
18146
18508
  style: {
18147
18509
  width: "100%",
@@ -18153,7 +18515,7 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18153
18515
  },
18154
18516
  className: "" + printStyles["avoid-break-inside"]
18155
18517
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18156
- className: styles$4["thcolumn1"]
18518
+ className: styles$5["thcolumn1"]
18157
18519
  }, t("problem_number")), React__default.createElement("th", {
18158
18520
  style: {
18159
18521
  textAlign: "center"
@@ -18167,7 +18529,7 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18167
18529
  textAlign: "center"
18168
18530
  }
18169
18531
  }, t("time_comparison")))), React__default.createElement("tbody", null, isMyStoryStudent ? renderTableBody(data) : renderQuestions(data))))) : React__default.createElement("div", {
18170
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18532
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18171
18533
  }, t("no_data"))));
18172
18534
  };
18173
18535
 
@@ -18239,39 +18601,39 @@ var Vulnerable = function Vulnerable(_ref) {
18239
18601
  borderBottom: index < data.length - 1 ? "1px solid #e4e7ec" : undefined
18240
18602
  }
18241
18603
  }, React__default.createElement("td", {
18242
- className: styles$4["tdcolumn1"],
18604
+ className: styles$5["tdcolumn1"],
18243
18605
  style: {
18244
- color: styles$4.gray_900,
18606
+ color: styles$5.gray_900,
18245
18607
  fontSize: "13px",
18246
18608
  fontWeight: 600
18247
18609
  }
18248
18610
  }, React__default.createElement(Typography, {
18249
- color: styles$4.gray_900,
18611
+ color: styles$5.gray_900,
18250
18612
  fontSize: "13px",
18251
18613
  fontWeight: 600
18252
18614
  }, t("problem") + " " + (item.questionOrder + 1))), React__default.createElement("td", {
18253
18615
  style: {
18254
18616
  textAlign: "center",
18255
- color: styles$4.dark,
18617
+ color: styles$5.dark,
18256
18618
  fontSize: "13px",
18257
18619
  fontWeight: 600
18258
18620
  }
18259
18621
  }, item.overallCorrectRate.toFixed(2) ? item.overallCorrectRate.toFixed(2) + "%" : ""), React__default.createElement("td", {
18260
- className: styles$4["tdcolumn3"],
18622
+ className: styles$5["tdcolumn3"],
18261
18623
  style: {
18262
- color: styles$4.red_900,
18624
+ color: styles$5.red_900,
18263
18625
  fontSize: "13px",
18264
18626
  fontWeight: 500
18265
18627
  }
18266
18628
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
18267
18629
  style: {
18268
18630
  textAlign: "center",
18269
- color: styles$4.gray_700
18631
+ color: styles$5.gray_700
18270
18632
  }
18271
18633
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
18272
18634
  style: {
18273
18635
  textAlign: "center",
18274
- color: styles$4.gray_700
18636
+ color: styles$5.gray_700
18275
18637
  }
18276
18638
  }, item.category.name ? item.category.name : ""));
18277
18639
  });
@@ -18282,18 +18644,18 @@ var Vulnerable = function Vulnerable(_ref) {
18282
18644
  return React__default.createElement(Stack, {
18283
18645
  direction: "row",
18284
18646
  flexWrap: "nowrap",
18285
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
18647
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
18286
18648
  key: question.id
18287
18649
  }, React__default.createElement(Box, {
18288
18650
  width: "160px",
18289
- className: styles$4["contentColumn1"]
18651
+ className: styles$5["contentColumn1"]
18290
18652
  }, React__default.createElement(Stack, {
18291
18653
  direction: "column",
18292
18654
  gap: 1
18293
18655
  }, React__default.createElement("div", null, React__default.createElement("span", {
18294
- className: styles$4["span1"]
18656
+ className: styles$5["span1"]
18295
18657
  }, t("problem_number")), React__default.createElement("span", {
18296
- className: styles$4["span2"]
18658
+ className: styles$5["span2"]
18297
18659
  }, t("number_question", {
18298
18660
  number: question.questionOrder + 1
18299
18661
  }))), ((_question$category = question.category) === null || _question$category === void 0 ? void 0 : _question$category.name) && React__default.createElement(Typography, {
@@ -18304,18 +18666,18 @@ var Vulnerable = function Vulnerable(_ref) {
18304
18666
  textAlign: "center"
18305
18667
  }
18306
18668
  }, question.category.name))), React__default.createElement(Box, {
18307
- className: styles$4["contentColumn2"],
18669
+ className: styles$5["contentColumn2"],
18308
18670
  sx: {
18309
18671
  alignItems: "center"
18310
18672
  }
18311
18673
  }, React__default.createElement("div", null, React__default.createElement("span", {
18312
- className: styles$4["span1"]
18674
+ className: styles$5["span1"]
18313
18675
  }, t("total_correct_rate")), React__default.createElement("span", {
18314
- className: styles$4["span2"]
18676
+ className: styles$5["span2"]
18315
18677
  }, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
18316
- className: styles$4["overallCorrectRate"]
18678
+ className: styles$5["overallCorrectRate"]
18317
18679
  }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
18318
- className: styles$4["answer"]
18680
+ className: styles$5["answer"]
18319
18681
  }, typeof question.selectedAnswers === "string" ? renderAnswer(question.questionAnswerType, question.selectedAnswers) : renderTextbookAnswer(question.questionAnswerType, question.selectedAnswers, question.textualAnswers), " ", t("answer"), " ", typeof question.correctAnswers === "string" ? renderAnswer(question.questionAnswerType, question.correctAnswers) : renderTextbookAnswer(question.questionAnswerType, question.correctAnswers, question.correctTextualAnswers, true)))));
18320
18682
  });
18321
18683
  };
@@ -18323,9 +18685,9 @@ var Vulnerable = function Vulnerable(_ref) {
18323
18685
  changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
18324
18686
  };
18325
18687
  return React__default.createElement("div", {
18326
- className: "" + styles$4["wrapperProblem"]
18688
+ className: "" + styles$5["wrapperProblem"]
18327
18689
  }, React__default.createElement("div", {
18328
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18690
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
18329
18691
  onClick: handleToggle
18330
18692
  }, React__default.createElement(Stack, {
18331
18693
  flexDirection: "row",
@@ -18339,20 +18701,20 @@ var Vulnerable = function Vulnerable(_ref) {
18339
18701
  }
18340
18702
  }, t("issues_vulnerable")), React__default.createElement(Typography, {
18341
18703
  sx: {
18342
- color: styles$4.gray_300,
18704
+ color: styles$5.gray_300,
18343
18705
  fontSize: "11px",
18344
18706
  fontWeight: 500
18345
18707
  }
18346
18708
  }, t("vulnerable_detail"))), isOpen ? React__default.createElement(IoChevronUp, {
18347
18709
  size: 24,
18348
- color: styles$4.gray_300
18710
+ color: styles$5.gray_300
18349
18711
  }) : React__default.createElement(IoChevronDown, {
18350
18712
  size: 24,
18351
- color: styles$4.gray_300
18713
+ color: styles$5.gray_300
18352
18714
  })), isOpen && React__default.createElement(Fragment$1, null, incorrectQuestions.length ? React__default.createElement("div", {
18353
- className: styles$4["tableCompareGrass"]
18715
+ className: styles$5["tableCompareGrass"]
18354
18716
  }, React__default.createElement("div", {
18355
- className: styles$4["table-responsive"]
18717
+ className: styles$5["table-responsive"]
18356
18718
  }, isMyStoryStudent && React__default.createElement(Table, {
18357
18719
  style: {
18358
18720
  width: "100%",
@@ -18364,7 +18726,7 @@ var Vulnerable = function Vulnerable(_ref) {
18364
18726
  },
18365
18727
  className: "" + printStyles["avoid-break-inside"]
18366
18728
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18367
- className: styles$4["thcolumn1"]
18729
+ className: styles$5["thcolumn1"]
18368
18730
  }, t("problem_number")), React__default.createElement("th", {
18369
18731
  style: {
18370
18732
  textAlign: "center"
@@ -18382,7 +18744,7 @@ var Vulnerable = function Vulnerable(_ref) {
18382
18744
  textAlign: "center"
18383
18745
  }
18384
18746
  }, t("_category")))), React__default.createElement("tbody", null, renderTableBody(incorrectQuestions))), !isMyStoryStudent && renderQuestions(incorrectQuestions))) : React__default.createElement("div", {
18385
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18747
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18386
18748
  }, t("no_data"))));
18387
18749
  };
18388
18750
 
@@ -18433,24 +18795,24 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18433
18795
  borderBottom: index < data.length - 1 ? "1px solid #e4e7ec" : undefined
18434
18796
  }
18435
18797
  }, React__default.createElement("td", {
18436
- className: styles$4["tdcolumn1"],
18798
+ className: styles$5["tdcolumn1"],
18437
18799
  style: {
18438
- color: styles$4.gray_900,
18800
+ color: styles$5.gray_900,
18439
18801
  fontSize: "13px",
18440
18802
  fontWeight: 600
18441
18803
  }
18442
18804
  }, item.name), React__default.createElement("td", {
18443
18805
  style: {
18444
18806
  textAlign: "center",
18445
- color: styles$4.gray_900,
18807
+ color: styles$5.gray_900,
18446
18808
  fontSize: "13px",
18447
18809
  fontWeight: 600
18448
18810
  }
18449
18811
  }, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("td", {
18450
- className: styles$4["tdcolumn3"],
18812
+ className: styles$5["tdcolumn3"],
18451
18813
  style: {
18452
18814
  textAlign: "center",
18453
- color: styles$4.gray_700,
18815
+ color: styles$5.gray_700,
18454
18816
  fontSize: "13px",
18455
18817
  fontWeight: 500
18456
18818
  }
@@ -18459,7 +18821,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18459
18821
  }) : ""), React__default.createElement("td", {
18460
18822
  style: {
18461
18823
  textAlign: "center",
18462
- color: styles$4.gray_700,
18824
+ color: styles$5.gray_700,
18463
18825
  fontSize: "13px",
18464
18826
  fontWeight: 500
18465
18827
  }
@@ -18468,7 +18830,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18468
18830
  }) : ""), React__default.createElement("td", {
18469
18831
  style: {
18470
18832
  textAlign: "center",
18471
- color: styles$4.gray_700,
18833
+ color: styles$5.gray_700,
18472
18834
  fontSize: "13px",
18473
18835
  fontWeight: 500
18474
18836
  }
@@ -18481,26 +18843,26 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18481
18843
  left: item.percentageAmongStudents + "%"
18482
18844
  };
18483
18845
  return React__default.createElement("div", {
18484
- className: styles$4["contentProblem"] + " " + printStyles["avoid-break-inside"],
18846
+ className: styles$5["contentProblem"] + " " + printStyles["avoid-break-inside"],
18485
18847
  key: item.id
18486
18848
  }, React__default.createElement("div", {
18487
- className: styles$4["labelProblem"]
18849
+ className: styles$5["labelProblem"]
18488
18850
  }, React__default.createElement("span", {
18489
- className: styles$4["name"]
18851
+ className: styles$5["name"]
18490
18852
  }, item.name), React__default.createElement("div", {
18491
- className: styles$4["percent"]
18853
+ className: styles$5["percent"]
18492
18854
  }, React__default.createElement("span", null, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("span", null, item.totalCorrectQuestions, "/", item.totalQuestions, t("problems")))), React__default.createElement("div", {
18493
- className: styles$4["slider"]
18855
+ className: styles$5["slider"]
18494
18856
  }, React__default.createElement("div", null, React__default.createElement("span", {
18495
- className: styles$4["track"],
18857
+ className: styles$5["track"],
18496
18858
  style: trackStyle
18497
18859
  }))));
18498
18860
  });
18499
18861
  };
18500
18862
  return React__default.createElement("div", {
18501
- className: "" + styles$4["wrapperProblem"]
18863
+ className: "" + styles$5["wrapperProblem"]
18502
18864
  }, React__default.createElement("div", {
18503
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18865
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
18504
18866
  onClick: function onClick() {
18505
18867
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : ProblemKey.GradesByTerritory);
18506
18868
  }
@@ -18512,14 +18874,14 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18512
18874
  }
18513
18875
  }, t("grades_by_area")), isOpen ? React__default.createElement(IoChevronUp, {
18514
18876
  size: 24,
18515
- color: styles$4.gray_300
18877
+ color: styles$5.gray_300
18516
18878
  }) : React__default.createElement(IoChevronDown, {
18517
18879
  size: 24,
18518
- color: styles$4.gray_300
18880
+ color: styles$5.gray_300
18519
18881
  })), isOpen && React__default.createElement(Fragment$1, null, formattedData.length ? React__default.createElement("div", {
18520
- className: styles$4["tableCompareGrass"]
18882
+ className: styles$5["tableCompareGrass"]
18521
18883
  }, React__default.createElement("div", {
18522
- className: styles$4["table-responsive"]
18884
+ className: styles$5["table-responsive"]
18523
18885
  }, isMyStoryStudent && React__default.createElement(Table, {
18524
18886
  style: {
18525
18887
  width: "100%",
@@ -18531,7 +18893,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18531
18893
  },
18532
18894
  className: "" + printStyles["avoid-break-inside"]
18533
18895
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18534
- className: styles$4["thcolumn1"]
18896
+ className: styles$5["thcolumn1"]
18535
18897
  }, t("categories")), React__default.createElement("th", {
18536
18898
  style: {
18537
18899
  textAlign: "center"
@@ -18549,7 +18911,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18549
18911
  textAlign: "center"
18550
18912
  }
18551
18913
  }, t("total_solve_time")))), React__default.createElement("tbody", null, renderTableBody(formattedData))), !isMyStoryStudent && renderCategories(formattedData))) : React__default.createElement("div", {
18552
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18914
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18553
18915
  }, t("no_data"))));
18554
18916
  };
18555
18917
 
@@ -18659,7 +19021,7 @@ function CreateNewQuestionDialog(_ref) {
18659
19021
  padding: "24px 24px 40px 24px"
18660
19022
  }, React__default.createElement(Stack, null, React__default.createElement("label", {
18661
19023
  htmlFor: "questions",
18662
- className: styles["form-label"] + " " + styles$4["form-label-dialog"]
19024
+ className: styles["form-label"] + " " + styles$5["form-label-dialog"]
18663
19025
  }, t("questions_to_ask")), React__default.createElement(Field, {
18664
19026
  id: "questions",
18665
19027
  name: "questionId",
@@ -18678,7 +19040,7 @@ function CreateNewQuestionDialog(_ref) {
18678
19040
  }
18679
19041
  })), React__default.createElement(Stack, null, React__default.createElement("label", {
18680
19042
  htmlFor: "content-question",
18681
- className: styles["form-label"] + " " + styles$4["form-label-dialog"]
19043
+ className: styles["form-label"] + " " + styles$5["form-label-dialog"]
18682
19044
  }, t("question_content")), React__default.createElement(Box, {
18683
19045
  position: "relative",
18684
19046
  display: "flex",
@@ -18706,7 +19068,7 @@ function CreateNewQuestionDialog(_ref) {
18706
19068
  fontWeight: 500,
18707
19069
  fontSize: "10px",
18708
19070
  lineHeight: "11.93px",
18709
- color: !(errors !== null && errors !== void 0 && errors.content) ? "#97A1AF" : styles$4.red_900
19071
+ color: !(errors !== null && errors !== void 0 && errors.content) ? "#97A1AF" : styles$5.red_900
18710
19072
  }, !(errors !== null && errors !== void 0 && errors.content) ? t("your_questions_will_be_sent_to_the_counselor") : t("please_enter_your_question"))))), React__default.createElement(DialogActions$1, {
18711
19073
  sx: {
18712
19074
  display: "flex",
@@ -18716,7 +19078,7 @@ function CreateNewQuestionDialog(_ref) {
18716
19078
  borderTop: "1px solid #CED2DA"
18717
19079
  }
18718
19080
  }, React__default.createElement(MButton, {
18719
- className: styles$4["btn-cancel"],
19081
+ className: styles$5["btn-cancel"],
18720
19082
  onClick: onCloseCreateQuestion
18721
19083
  }, React__default.createElement(Typography$1, {
18722
19084
  sx: {
@@ -18730,7 +19092,7 @@ function CreateNewQuestionDialog(_ref) {
18730
19092
  sx: {
18731
19093
  bgcolor: styles.dark
18732
19094
  },
18733
- className: styles$4["btn-register"],
19095
+ className: styles$5["btn-register"],
18734
19096
  type: "submit",
18735
19097
  disabled: !values.content.trim().length
18736
19098
  }, React__default.createElement(Typography$1, {
@@ -18786,18 +19148,18 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
18786
19148
  color: "#414E62"
18787
19149
  }
18788
19150
  }, t("article_number"), " ", timelyOrderQuestion.article), React__default.createElement("div", {
18789
- className: styles$4["compareChart"] + " " + printStyles["avoid-break-inside"]
19151
+ className: styles$5["compareChart"] + " " + printStyles["avoid-break-inside"]
18790
19152
  }, React__default.createElement("div", {
18791
- className: "" + styles$4["prevChart"]
19153
+ className: "" + styles$5["prevChart"]
18792
19154
  }), React__default.createElement("div", {
18793
- className: styles$4["chart"] + " sr-line-chart"
19155
+ className: styles$5["chart"] + " sr-line-chart"
18794
19156
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18795
19157
  ref: chartRef,
18796
19158
  height: 389,
18797
19159
  options: chartOptions,
18798
19160
  series: series
18799
19161
  }))), React__default.createElement("div", {
18800
- className: "" + styles$4["nextChart"]
19162
+ className: "" + styles$5["nextChart"]
18801
19163
  })));
18802
19164
  };
18803
19165
 
@@ -18836,7 +19198,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18836
19198
  },
18837
19199
  key: data.id
18838
19200
  }, React__default.createElement("div", {
18839
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
19201
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
18840
19202
  }, React__default.createElement("div", {
18841
19203
  className: styles["custom-col-2"],
18842
19204
  style: {
@@ -18846,7 +19208,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18846
19208
  padding: "5px 8px"
18847
19209
  }
18848
19210
  }, data.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
18849
- className: styles$4["questionOrder"]
19211
+ className: styles$5["questionOrder"]
18850
19212
  }, t("number_question", {
18851
19213
  number: data.questionOrder + 1
18852
19214
  }))), React__default.createElement("div", {
@@ -18857,11 +19219,11 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18857
19219
  gap: "4px"
18858
19220
  }
18859
19221
  }, data.isCorrect && (!!((_data$selectedAnswers = data.selectedAnswers) !== null && _data$selectedAnswers !== void 0 && _data$selectedAnswers.length) || !!((_data$textualAnswers = data.textualAnswers) !== null && _data$textualAnswers !== void 0 && _data$textualAnswers.length)) && React__default.createElement(Fragment$1, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
18860
- className: styles$4["answerCorrect"]
19222
+ className: styles$5["answerCorrect"]
18861
19223
  }, t("correct"))), !data.isCorrect && (!!((_data$selectedAnswers2 = data.selectedAnswers) !== null && _data$selectedAnswers2 !== void 0 && _data$selectedAnswers2.length) || !!((_data$textualAnswers2 = data.textualAnswers) !== null && _data$textualAnswers2 !== void 0 && _data$textualAnswers2.length)) && React__default.createElement(Fragment$1, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
18862
- className: styles$4["answerIncorrect"]
19224
+ className: styles$5["answerIncorrect"]
18863
19225
  }, t("incorrect"))), !((_data$selectedAnswers3 = data.selectedAnswers) !== null && _data$selectedAnswers3 !== void 0 && _data$selectedAnswers3.length) && !((_data$textualAnswers3 = data.textualAnswers) !== null && _data$textualAnswers3 !== void 0 && _data$textualAnswers3.length) && React__default.createElement(Fragment$1, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
18864
- className: styles$4["answerNograss"]
19226
+ className: styles$5["answerNograss"]
18865
19227
  }, t("no_solution")))), React__default.createElement("div", {
18866
19228
  className: styles["custom-col-2"],
18867
19229
  style: {
@@ -18872,12 +19234,12 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18872
19234
  style: {
18873
19235
  margin: 0
18874
19236
  },
18875
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
19237
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
18876
19238
  }, formatTimeSecond(Math.round(data.duration), t)) : React__default.createElement("p", {
18877
19239
  style: {
18878
19240
  margin: 0
18879
19241
  },
18880
- className: styles$4["answerNoTime"]
19242
+ className: styles$5["answerNoTime"]
18881
19243
  }, t("no_time"))), React__default.createElement("div", {
18882
19244
  className: styles["custom-col-2"],
18883
19245
  style: {
@@ -18888,13 +19250,13 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18888
19250
  style: {
18889
19251
  margin: 0
18890
19252
  },
18891
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
19253
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
18892
19254
  }, formatTimeDiff(data.duration, data.topDuration, t)) : React__default.createElement("p", {
18893
19255
  style: {
18894
19256
  margin: 0,
18895
19257
  textAlign: "center"
18896
19258
  },
18897
- className: styles$4["answerNoTime"]
19259
+ className: styles$5["answerNoTime"]
18898
19260
  }, "-")), React__default.createElement("div", {
18899
19261
  className: styles["custom-col-2"],
18900
19262
  style: {
@@ -18905,12 +19267,12 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18905
19267
  style: {
18906
19268
  margin: 0
18907
19269
  },
18908
- className: styles$4["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$4)
19270
+ className: styles$5["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$5)
18909
19271
  }, data.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
18910
19272
  style: {
18911
19273
  margin: 0
18912
19274
  },
18913
- className: styles$4["answerNoTime"]
19275
+ className: styles$5["answerNoTime"]
18914
19276
  }, t("no_time"))), isStudent && !isLearningSpace && React__default.createElement(Box, {
18915
19277
  className: styles["custom-col-2"]
18916
19278
  }, openContextMenu ? React__default.createElement(ClickAwayListener, {
@@ -18982,7 +19344,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
18982
19344
  }));
18983
19345
  };
18984
19346
  return React__default.createElement("div", {
18985
- className: "" + styles$4["myanswer"]
19347
+ className: "" + styles$5["myanswer"]
18986
19348
  }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
18987
19349
  var _item$categories;
18988
19350
  return React__default.createElement("div", {
@@ -18993,7 +19355,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
18993
19355
  bgcolor: "#F9FAFB",
18994
19356
  flexDirection: "row",
18995
19357
  padding: "12px",
18996
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
19358
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
18997
19359
  }, React__default.createElement("div", {
18998
19360
  className: styles["custom-col-2"],
18999
19361
  style: {
@@ -19072,7 +19434,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
19072
19434
  alignItems: "center"
19073
19435
  }
19074
19436
  }, t("total_correct_rate")))), React__default.createElement("div", {
19075
- className: styles$4["titleMyAnswer2"]
19437
+ className: styles$5["titleMyAnswer2"]
19076
19438
  }, React__default.createElement(Typography, {
19077
19439
  sx: {
19078
19440
  color: "#97A1AF",
@@ -19087,7 +19449,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
19087
19449
  }, (_item$categories = item.categories) === null || _item$categories === void 0 ? void 0 : _item$categories.map(function (i) {
19088
19450
  return i.name;
19089
19451
  }).join(" / ")))), React__default.createElement("div", {
19090
- className: styles$4["contentMyAnswer"]
19452
+ className: styles$5["contentMyAnswer"]
19091
19453
  }, React__default.createElement(ListView, {
19092
19454
  data: item.questions,
19093
19455
  render: function render(question, index) {
@@ -19117,24 +19479,24 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19117
19479
  borderBottom: index < (data === null || data === void 0 ? void 0 : data.length) - 1 ? "1px solid #e4e7ec" : undefined
19118
19480
  }
19119
19481
  }, React__default.createElement("td", {
19120
- className: styles$4["tdcolumn1"],
19482
+ className: styles$5["tdcolumn1"],
19121
19483
  style: {
19122
- color: styles$4.gray_900,
19484
+ color: styles$5.gray_900,
19123
19485
  fontSize: "13px",
19124
19486
  fontWeight: 600
19125
19487
  }
19126
19488
  }, item.name), React__default.createElement("td", {
19127
19489
  style: {
19128
19490
  textAlign: "center",
19129
- color: styles$4.gray_900,
19491
+ color: styles$5.gray_900,
19130
19492
  fontSize: "13px",
19131
19493
  fontWeight: 600
19132
19494
  }
19133
19495
  }, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("td", {
19134
- className: styles$4["tdcolumn3"],
19496
+ className: styles$5["tdcolumn3"],
19135
19497
  style: {
19136
19498
  textAlign: "center",
19137
- color: styles$4.gray_700,
19499
+ color: styles$5.gray_700,
19138
19500
  fontSize: "13px",
19139
19501
  fontWeight: 500
19140
19502
  }
@@ -19143,7 +19505,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19143
19505
  }) : ""), React__default.createElement("td", {
19144
19506
  style: {
19145
19507
  textAlign: "center",
19146
- color: styles$4.gray_700,
19508
+ color: styles$5.gray_700,
19147
19509
  fontSize: "13px",
19148
19510
  fontWeight: 500
19149
19511
  }
@@ -19152,7 +19514,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19152
19514
  }) : ""), React__default.createElement("td", {
19153
19515
  style: {
19154
19516
  textAlign: "center",
19155
- color: styles$4.gray_700,
19517
+ color: styles$5.gray_700,
19156
19518
  fontSize: "13px",
19157
19519
  fontWeight: 500
19158
19520
  }
@@ -19166,26 +19528,26 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19166
19528
  left: item.percentageAmongStudents + "%"
19167
19529
  };
19168
19530
  return React__default.createElement("div", {
19169
- className: styles$4["contentProblem"] + " " + printStyles["avoid-break-inside"],
19531
+ className: styles$5["contentProblem"] + " " + printStyles["avoid-break-inside"],
19170
19532
  key: item.id
19171
19533
  }, React__default.createElement("div", {
19172
- className: styles$4["labelProblem"]
19534
+ className: styles$5["labelProblem"]
19173
19535
  }, React__default.createElement("span", {
19174
- className: styles$4["name"]
19536
+ className: styles$5["name"]
19175
19537
  }, item.name), React__default.createElement("div", {
19176
- className: styles$4["percent"]
19538
+ className: styles$5["percent"]
19177
19539
  }, React__default.createElement("span", null, (_item$percentageAmong = item.percentageAmongStudents) === null || _item$percentageAmong === void 0 ? void 0 : _item$percentageAmong.toFixed(2), "%"), React__default.createElement("span", null, item.totalCorrectQuestions, "/", item.totalQuestions, t("problems")))), React__default.createElement("div", {
19178
- className: styles$4["slider"]
19540
+ className: styles$5["slider"]
19179
19541
  }, React__default.createElement("div", null, React__default.createElement("span", {
19180
- className: styles$4["track"],
19542
+ className: styles$5["track"],
19181
19543
  style: trackStyle
19182
19544
  }))));
19183
19545
  });
19184
19546
  };
19185
19547
  return React__default.createElement("div", {
19186
- className: "" + styles$4["wrapperProblem"]
19548
+ className: "" + styles$5["wrapperProblem"]
19187
19549
  }, React__default.createElement("div", {
19188
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
19550
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
19189
19551
  onClick: function onClick() {
19190
19552
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : ProblemKey.GradesByTerritory);
19191
19553
  }
@@ -19197,14 +19559,14 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19197
19559
  }
19198
19560
  }, t("grades_by_area")), isOpen ? React__default.createElement(IoChevronUp, {
19199
19561
  size: 24,
19200
- color: styles$4.gray_300
19562
+ color: styles$5.gray_300
19201
19563
  }) : React__default.createElement(IoChevronDown, {
19202
19564
  size: 24,
19203
- color: styles$4.gray_300
19565
+ color: styles$5.gray_300
19204
19566
  })), isOpen && React__default.createElement(Fragment$1, null, formattedData.length ? React__default.createElement("div", {
19205
- className: styles$4["tableCompareGrass"]
19567
+ className: styles$5["tableCompareGrass"]
19206
19568
  }, React__default.createElement("div", {
19207
- className: styles$4["table-responsive"]
19569
+ className: styles$5["table-responsive"]
19208
19570
  }, isMyStoryStudent && React__default.createElement(Table, {
19209
19571
  style: {
19210
19572
  width: "100%",
@@ -19216,7 +19578,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19216
19578
  },
19217
19579
  className: "" + printStyles["avoid-break-inside"]
19218
19580
  }, React__default.createElement("tr", null, React__default.createElement("th", {
19219
- className: styles$4["thcolumn1"]
19581
+ className: styles$5["thcolumn1"]
19220
19582
  }, t("categories")), React__default.createElement("th", {
19221
19583
  style: {
19222
19584
  textAlign: "center"
@@ -19234,7 +19596,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19234
19596
  textAlign: "center"
19235
19597
  }
19236
19598
  }, t("total_solve_time")))), React__default.createElement("tbody", null, renderTableBody(formattedData))), !isMyStoryStudent && renderCategories(formattedData))) : React__default.createElement("div", {
19237
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
19599
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
19238
19600
  }, t("no_data"))));
19239
19601
  };
19240
19602
 
@@ -19307,39 +19669,39 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19307
19669
  borderBottom: index < (data === null || data === void 0 ? void 0 : data.length) - 1 ? "1px solid #e4e7ec" : undefined
19308
19670
  }
19309
19671
  }, React__default.createElement("td", {
19310
- className: styles$4["tdcolumn1"],
19672
+ className: styles$5["tdcolumn1"],
19311
19673
  style: {
19312
- color: styles$4.gray_900,
19674
+ color: styles$5.gray_900,
19313
19675
  fontSize: "13px",
19314
19676
  fontWeight: 600
19315
19677
  }
19316
19678
  }, React__default.createElement(Typography, {
19317
- color: styles$4.gray_900,
19679
+ color: styles$5.gray_900,
19318
19680
  fontSize: "13px",
19319
19681
  fontWeight: 600
19320
19682
  }, t("problem") + " " + (item.questionOrder + 1))), React__default.createElement("td", {
19321
19683
  style: {
19322
19684
  textAlign: "center",
19323
- color: styles$4.dark,
19685
+ color: styles$5.dark,
19324
19686
  fontSize: "13px",
19325
19687
  fontWeight: 600
19326
19688
  }
19327
19689
  }, item.overallCorrectRate.toFixed(2) ? item.overallCorrectRate.toFixed(2) + "%" : ""), React__default.createElement("td", {
19328
- className: styles$4["tdcolumn3"],
19690
+ className: styles$5["tdcolumn3"],
19329
19691
  style: {
19330
- color: styles$4.red_900,
19692
+ color: styles$5.red_900,
19331
19693
  fontSize: "13px",
19332
19694
  fontWeight: 500
19333
19695
  }
19334
19696
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
19335
19697
  style: {
19336
19698
  textAlign: "center",
19337
- color: styles$4.gray_700
19699
+ color: styles$5.gray_700
19338
19700
  }
19339
19701
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
19340
19702
  style: {
19341
19703
  textAlign: "center",
19342
- color: styles$4.gray_700
19704
+ color: styles$5.gray_700
19343
19705
  }
19344
19706
  }, item.categories ? item.categories.map(function (i) {
19345
19707
  return i.name;
@@ -19351,31 +19713,31 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19351
19713
  return React__default.createElement(Grid, {
19352
19714
  container: true,
19353
19715
  flexWrap: "nowrap",
19354
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
19716
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
19355
19717
  key: question.id
19356
19718
  }, React__default.createElement(Grid, {
19357
19719
  item: true,
19358
19720
  xs: 1.5,
19359
19721
  minWidth: "120px",
19360
- className: styles$4["contentColumn1"]
19722
+ className: styles$5["contentColumn1"]
19361
19723
  }, React__default.createElement("div", null, React__default.createElement("span", {
19362
- className: styles$4["span1"]
19724
+ className: styles$5["span1"]
19363
19725
  }, t("problem_number")), React__default.createElement("span", {
19364
- className: styles$4["span2"]
19726
+ className: styles$5["span2"]
19365
19727
  }, t("number_question", {
19366
19728
  number: question.questionOrder + 1
19367
19729
  })))), React__default.createElement(Grid, {
19368
19730
  item: true,
19369
19731
  xs: 10.5,
19370
- className: styles$4["contentColumn2"]
19732
+ className: styles$5["contentColumn2"]
19371
19733
  }, React__default.createElement("div", null, React__default.createElement("span", {
19372
- className: styles$4["span1"]
19734
+ className: styles$5["span1"]
19373
19735
  }, t("total_correct_rate")), React__default.createElement("span", {
19374
- className: styles$4["span2"]
19736
+ className: styles$5["span2"]
19375
19737
  }, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
19376
- className: styles$4["overallCorrectRate"]
19738
+ className: styles$5["overallCorrectRate"]
19377
19739
  }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
19378
- className: styles$4["answer"]
19740
+ className: styles$5["answer"]
19379
19741
  }, typeof question.selectedAnswers === "string" ? renderAnswer(question.questionAnswerType, question.selectedAnswers) : renderTextbookAnswer(question.questionAnswerType, question.selectedAnswers, question.textualAnswers), " ", t("answer"), " ", typeof question.correctAnswers === "string" ? renderAnswer(question.questionAnswerType, question.correctAnswers) : renderTextbookAnswer(question.questionAnswerType, question.correctAnswers, question.correctTextualAnswers, true)))));
19380
19742
  });
19381
19743
  };
@@ -19383,9 +19745,9 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19383
19745
  changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
19384
19746
  };
19385
19747
  return React__default.createElement("div", {
19386
- className: "" + styles$4["wrapperProblem"]
19748
+ className: "" + styles$5["wrapperProblem"]
19387
19749
  }, React__default.createElement("div", {
19388
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
19750
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
19389
19751
  onClick: handleToggle
19390
19752
  }, React__default.createElement(Stack, {
19391
19753
  flexDirection: "row",
@@ -19399,20 +19761,20 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19399
19761
  }
19400
19762
  }, t("issues_vulnerable")), React__default.createElement(Typography, {
19401
19763
  sx: {
19402
- color: styles$4.gray_300,
19764
+ color: styles$5.gray_300,
19403
19765
  fontSize: "11px",
19404
19766
  fontWeight: 500
19405
19767
  }
19406
19768
  }, t("vulnerable_detail"))), isOpen ? React__default.createElement(IoChevronUp, {
19407
19769
  size: 24,
19408
- color: styles$4.gray_300
19770
+ color: styles$5.gray_300
19409
19771
  }) : React__default.createElement(IoChevronDown, {
19410
19772
  size: 24,
19411
- color: styles$4.gray_300
19773
+ color: styles$5.gray_300
19412
19774
  })), isOpen && React__default.createElement(Fragment$1, null, incorrectQuestions !== null && incorrectQuestions !== void 0 && incorrectQuestions.length ? React__default.createElement("div", {
19413
- className: styles$4["tableCompareGrass"]
19775
+ className: styles$5["tableCompareGrass"]
19414
19776
  }, React__default.createElement("div", {
19415
- className: styles$4["table-responsive"]
19777
+ className: styles$5["table-responsive"]
19416
19778
  }, isMyStoryStudent && React__default.createElement(Table, {
19417
19779
  style: {
19418
19780
  width: "100%",
@@ -19424,7 +19786,7 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19424
19786
  },
19425
19787
  className: "" + printStyles["avoid-break-inside"]
19426
19788
  }, React__default.createElement("tr", null, React__default.createElement("th", {
19427
- className: styles$4["thcolumn1"]
19789
+ className: styles$5["thcolumn1"]
19428
19790
  }, t("problem_number")), React__default.createElement("th", {
19429
19791
  style: {
19430
19792
  textAlign: "center"
@@ -19442,7 +19804,7 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19442
19804
  textAlign: "center"
19443
19805
  }
19444
19806
  }, t("_category")))), React__default.createElement("tbody", null, renderTableBody(incorrectQuestions))), !isMyStoryStudent && renderQuestions(incorrectQuestions))) : React__default.createElement("div", {
19445
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
19807
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
19446
19808
  }, t("no_data"))));
19447
19809
  };
19448
19810
 
@@ -19462,37 +19824,37 @@ var TextbookTrickyProblem = function TextbookTrickyProblem(_ref) {
19462
19824
  });
19463
19825
  var renderProblems = function renderProblems() {
19464
19826
  return React__default.createElement(Fragment$1, null, React__default.createElement("div", {
19465
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19827
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19466
19828
  }, React__default.createElement(iconX, null), React__default.createElement("span", null, t("incorrect_problem_among_the_starred_problems"))), React__default.createElement("div", {
19467
- className: styles$4["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
19829
+ className: styles$5["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
19468
19830
  }, !!(inCorrectQuestions !== null && inCorrectQuestions !== void 0 && inCorrectQuestions.length) && (inCorrectQuestions === null || inCorrectQuestions === void 0 ? void 0 : inCorrectQuestions.map(function (question) {
19469
19831
  return React__default.createElement("span", {
19470
19832
  key: question.id,
19471
- className: styles$4["question"]
19833
+ className: styles$5["question"]
19472
19834
  }, t("number_question", {
19473
19835
  number: question.questionOrder + 1
19474
19836
  }));
19475
19837
  })), !(data !== null && data !== void 0 && data.studentQuestionResults.length) && React__default.createElement("div", {
19476
- className: styles$4["noData"]
19838
+ className: styles$5["noData"]
19477
19839
  }, t("no_data"))), React__default.createElement("div", {
19478
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19840
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19479
19841
  }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, t("correct_problem_among_the_starred_problems"))), React__default.createElement("div", {
19480
- className: styles$4["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
19842
+ className: styles$5["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
19481
19843
  }, !!(correctQuestions !== null && correctQuestions !== void 0 && correctQuestions.length) && (correctQuestions === null || correctQuestions === void 0 ? void 0 : correctQuestions.map(function (question) {
19482
19844
  return React__default.createElement("div", {
19483
19845
  key: question.id,
19484
- className: styles$4["question"]
19846
+ className: styles$5["question"]
19485
19847
  }, t("number_question", {
19486
19848
  number: question.questionOrder + 1
19487
19849
  }));
19488
19850
  })), !(data !== null && data !== void 0 && data.studentQuestionResults.length) && React__default.createElement("div", {
19489
- className: styles$4["noData"]
19851
+ className: styles$5["noData"]
19490
19852
  }, t("no_data"))));
19491
19853
  };
19492
19854
  return React__default.createElement("div", {
19493
- className: "" + styles$4["wrapperProblem"]
19855
+ className: "" + styles$5["wrapperProblem"]
19494
19856
  }, React__default.createElement("div", {
19495
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
19857
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
19496
19858
  onClick: function onClick() {
19497
19859
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
19498
19860
  }
@@ -19504,10 +19866,10 @@ var TextbookTrickyProblem = function TextbookTrickyProblem(_ref) {
19504
19866
  }
19505
19867
  }, t("tricky_problems")), isOpen ? React__default.createElement(IoChevronUp, {
19506
19868
  size: 24,
19507
- color: styles$4.gray_300
19869
+ color: styles$5.gray_300
19508
19870
  }) : React__default.createElement(IoChevronDown, {
19509
19871
  size: 24,
19510
- color: styles$4.gray_300
19872
+ color: styles$5.gray_300
19511
19873
  })), isOpen && React__default.createElement(Fragment$1, null, renderProblems()));
19512
19874
  };
19513
19875
 
@@ -19929,7 +20291,8 @@ var useExamResultData = function useExamResultData(props) {
19929
20291
  handleChangeTab = props.handleChangeTab,
19930
20292
  selectedTab = props.selectedTab,
19931
20293
  isPrint = props.isPrint,
19932
- chapterId = props.chapterId;
20294
+ chapterId = props.chapterId,
20295
+ onLoadingChange = props.onLoadingChange;
19933
20296
  var query = new URLSearchParams(searchParams);
19934
20297
  var user = useSelector(function (state) {
19935
20298
  var _state$common;
@@ -19986,9 +20349,11 @@ var useExamResultData = function useExamResultData(props) {
19986
20349
  try {
19987
20350
  var _temp2 = function _temp2() {
19988
20351
  setIsLoading(false);
20352
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
19989
20353
  };
19990
20354
  if (!examCode) return Promise.resolve();
19991
20355
  setIsLoading(true);
20356
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
19992
20357
  var _temp = _catch(function () {
19993
20358
  return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
19994
20359
  var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
@@ -20014,9 +20379,11 @@ var useExamResultData = function useExamResultData(props) {
20014
20379
  try {
20015
20380
  var _temp5 = function _temp5() {
20016
20381
  setIsLoading(false);
20382
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
20017
20383
  };
20018
20384
  if (!examSessionId || !studentId) return Promise.resolve();
20019
20385
  setIsLoading(true);
20386
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
20020
20387
  var _temp4 = _catch(function () {
20021
20388
  return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
20022
20389
  var _result$0$data2, _result$1$data2, _result$2$data2, _result$3$data2, _result$4$data2;
@@ -20056,10 +20423,12 @@ var useExamResultData = function useExamResultData(props) {
20056
20423
  try {
20057
20424
  var _temp7 = function _temp7() {
20058
20425
  setIsLoading(false);
20426
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
20059
20427
  };
20060
20428
  if (!chapterId) return Promise.resolve();
20061
20429
  if (!isStudent && !studentId) return Promise.resolve();
20062
20430
  setIsLoading(true);
20431
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
20063
20432
  var _temp6 = _catch(function () {
20064
20433
  return Promise.resolve(Promise.all([getChapterResultsApi(chapterId, isStudent ? undefined : studentId), getChapterResultsLongTimeSpendApi(chapterId, isStudent ? undefined : studentId), getChapterResultsEffectSizeApi(chapterId, isStudent ? undefined : studentId), getChapterResultsTimeOrderQuestionApi(chapterId, isStudent ? undefined : studentId), getChapterResultsCategoriesApi(chapterId, isStudent ? undefined : studentId)])).then(function (result) {
20065
20434
  var _result$0$data3, _result$1$data3, _result$2$data3, _result$3$data3, _result$4$data3;
@@ -20225,7 +20594,7 @@ var useExamResultData = function useExamResultData(props) {
20225
20594
  }
20226
20595
  }
20227
20596
  }),
20228
- colors: [styles$4.dark, styles$4.purple_900],
20597
+ colors: [styles$5.dark, styles$5.purple_900],
20229
20598
  xaxis: _extends({}, DEFAULT_LINE_CHART_OPTIONS.xaxis, {
20230
20599
  categories: ["s"].concat(Array.from({
20231
20600
  length: questionLength
@@ -20685,7 +21054,8 @@ var useExamResult = function useExamResult(props) {
20685
21054
  studentId = _props$studentId === void 0 ? 0 : _props$studentId,
20686
21055
  code = props.code,
20687
21056
  chapterId = props.chapterId,
20688
- onViewQA = props.onViewQA;
21057
+ onViewQA = props.onViewQA,
21058
+ onLoadingChange = props.onLoadingChange;
20689
21059
  var _useTranslation = useTranslation(),
20690
21060
  t = _useTranslation.t;
20691
21061
  var _useTab = useTab(),
@@ -20699,7 +21069,8 @@ var useExamResult = function useExamResult(props) {
20699
21069
  code: code,
20700
21070
  chapterId: chapterId,
20701
21071
  handleChangeTab: handleChangeTab,
20702
- selectedTab: selected
21072
+ selectedTab: selected,
21073
+ onLoadingChange: onLoadingChange
20703
21074
  });
20704
21075
  var isLoading = examResultData.isLoading,
20705
21076
  timelyOrderQuestions = examResultData.timelyOrderQuestions,
@@ -20766,7 +21137,9 @@ var ExamResultV2 = function ExamResultV2(props) {
20766
21137
  isMyStoryStudent = props.isMyStoryStudent,
20767
21138
  onViewQA = props.onViewQA,
20768
21139
  chapterId = props.chapterId,
20769
- studentId = props.studentId;
21140
+ studentId = props.studentId,
21141
+ _props$showLoading = props.showLoading,
21142
+ showLoading = _props$showLoading === void 0 ? true : _props$showLoading;
20770
21143
  var isAdminSite = role === Role.Admin;
20771
21144
  var _useExamResult = useExamResult(props),
20772
21145
  t = _useExamResult.t,
@@ -20919,7 +21292,7 @@ var ExamResultV2 = function ExamResultV2(props) {
20919
21292
  onViewQA === null || onViewQA === void 0 ? void 0 : onViewQA(resultData.student.id, resultData.examSessionId);
20920
21293
  };
20921
21294
  return React__default.createElement(Fragment$1, null, React__default.createElement(LoadingComponent, {
20922
- isLoading: !!isLoading
21295
+ isLoading: showLoading && !!isLoading
20923
21296
  }), timelyOrderQuestions[dataChartIndex] && longTimeSpend && effectSize ? React__default.createElement("div", {
20924
21297
  style: {
20925
21298
  width: "100%"
@@ -21232,18 +21605,18 @@ var ExamResultV2 = function ExamResultV2(props) {
21232
21605
  value: selected,
21233
21606
  index: 1
21234
21607
  }, React__default.createElement("div", {
21235
- className: styles$4["compareChart"]
21608
+ className: styles$5["compareChart"]
21236
21609
  }, React__default.createElement("div", {
21237
- className: styles$4["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
21610
+ className: styles$5["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
21238
21611
  onClick: handlePrevChart
21239
21612
  }, React__default.createElement(iconBtnPrevChart, null)), React__default.createElement("div", {
21240
- className: styles$4["chart"] + " sr-line-chart"
21613
+ className: styles$5["chart"] + " sr-line-chart"
21241
21614
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
21242
21615
  height: 389,
21243
21616
  options: chartOptions,
21244
21617
  series: series
21245
21618
  }))), React__default.createElement("div", {
21246
- className: styles$4["nextChart"] + " " + (dataChartIndex < timelyOrderQuestions.length - 1 && "pointer"),
21619
+ className: styles$5["nextChart"] + " " + (dataChartIndex < timelyOrderQuestions.length - 1 && "pointer"),
21247
21620
  onClick: handleNextChart
21248
21621
  }, React__default.createElement(iconBtnNextChart, null)))), React__default.createElement(CustomTabPanel, {
21249
21622
  value: selected,
@@ -21437,13 +21810,13 @@ var LoadingDots = function LoadingDots(_ref) {
21437
21810
  color: "#FFF",
21438
21811
  fontSize: 20
21439
21812
  }, text), React__default.createElement("div", {
21440
- className: styles$4["loader"]
21813
+ className: styles$5["loader"]
21441
21814
  }, React__default.createElement("div", {
21442
- className: styles$4["dot"]
21815
+ className: styles$5["dot"]
21443
21816
  }), React__default.createElement("div", {
21444
- className: styles$4["dot"]
21817
+ className: styles$5["dot"]
21445
21818
  }), React__default.createElement("div", {
21446
- className: styles$4["dot"]
21819
+ className: styles$5["dot"]
21447
21820
  })));
21448
21821
  };
21449
21822
 
@@ -22285,7 +22658,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
22285
22658
  };
22286
22659
  };
22287
22660
 
22288
- var styles$5 = {"drawer":"_1k4kj","open":"_IB2-g","drawer-overlay":"_xnHGE","drawer-header":"_1gLOh","drawer-form":"_2pLGg","dropdown-content-academy":"_1rR7s","dropdown-change":"_1Hcs4","btn-register":"_37IIN","btn-cancel":"_KDkNh","dropdown-academy-item":"_1-srV","dropdown-content-language":"_88rAE","dropdown-item-language":"_2jjUW","dropdown-item-language-active":"_27lik","item-address":"_tGib4","item-logout":"_1MXIb","title-address":"_A_I15","image-academy":"_3zxbi","slick-dots":"_VlpW7","slick-active":"_1zzu9","slider-container":"_1lCoM","button":"__sLSD","variable-width":"_1AnqW","slick-slide":"_3ZJaN","center":"_jUOZF","slick-center":"_35s6t","content":"_1dQdx","image":"_1feWs","slick-loading":"_FchLZ","slick-slider":"_1T7zW","slick-thumb":"_o2Tkt","slides":"_1FY2k","slick-next":"_23Pi9","slick-prev":"_2g2iD","heroBanner_qdFl":"_2y7lQ","buttons_AeoN":"_KMW2P","mdxPageWrapper_j9I6":"_3dqhE","collapseSidebarButton_PEFL":"_24wBH","expandButton_TmdG":"_2LXBj","announcementBarClose_gvF7":"_32uEE","announcementBarPlaceholder_vyr4":"_2PagL","navbarSearchContainer_Bca1":"_3Uiqm","lastUpdated_vwxv":"_1UNOJ","tocMobile_ITEo":"_qcGlb","collapseSidebarButtonIcon_kv0_":"_2G6Hz","expandButtonIcon_i1dp":"_1IMu8","menuHtmlItem_M9Kj":"_1YUka","menu_SIkG":"_FgMDa","menuWithAnnouncementBar_GW3s":"_zUamI","sidebar_njMd":"_3E4Oo","sidebarWithHideableNavbar_wUlq":"_3xviA","sidebarHidden_VK0M":"_cWHWX","sidebarLogo_isFc":"_UMHGX","docSidebarContainer_YfHR":"_1SwXt","docSidebarContainerHidden_DPk8":"_3h6KW","sidebarViewport_aRkj":"_2OCK_","docMainContainer_TBSr":"_FuxZS","docMainContainerEnhanced_lQrH":"_ZUdP4","docItemWrapperEnhanced_JWYK":"_2AmPG","docItemCol_VOVn":"_3GmBr","container":"_1UB4R","col":"_csNus","footer":"_gceZJ","colorModeToggle_DEke":"_OawS_","footer__link-separator":"_3fzLh","navbar__item":"_1wyV6","tableOfContents_bqdL":"_3tGM4","footer__col":"_3DllA","footer__link-item":"_2ibTz","hero":"_369-d","navbar":"_5LWZt","container-fluid":"_2GcNI","navbar__toggle":"_2YjZl","navbar__search-input":"_3__u0","pills--block":"_2f7GT","tabs--block":"_3xrdo","docItemContainer_F8PC":"_6P_Dr","markdown":"_2xZt0","backToTopButton_sjWU":"_2bUwo","thin-scrollbar":"_1mrmJ","announcementBar_mb4j":"_2oveE","menu":"_14IWx","pagination-nav":"_3S8xG","table-of-contents":"_SnjS9","tabs":"_qpa-q","codeBlockLines_e6Vv":"_2ou2J"};
22661
+ var styles$6 = {"drawer":"_1k4kj","open":"_IB2-g","drawer-overlay":"_xnHGE","drawer-header":"_1gLOh","drawer-form":"_2pLGg","dropdown-content-academy":"_1rR7s","dropdown-change":"_1Hcs4","btn-register":"_37IIN","btn-cancel":"_KDkNh","dropdown-academy-item":"_1-srV","dropdown-content-language":"_88rAE","dropdown-item-language":"_2jjUW","dropdown-item-language-active":"_27lik","item-address":"_tGib4","item-logout":"_1MXIb","title-address":"_A_I15","image-academy":"_3zxbi","slick-dots":"_VlpW7","slick-active":"_1zzu9","slider-container":"_1lCoM","button":"__sLSD","variable-width":"_1AnqW","slick-slide":"_3ZJaN","center":"_jUOZF","slick-center":"_35s6t","content":"_1dQdx","image":"_1feWs","slick-loading":"_FchLZ","slick-slider":"_1T7zW","slick-thumb":"_o2Tkt","slides":"_1FY2k","slick-next":"_23Pi9","slick-prev":"_2g2iD","heroBanner_qdFl":"_2y7lQ","buttons_AeoN":"_KMW2P","mdxPageWrapper_j9I6":"_3dqhE","collapseSidebarButton_PEFL":"_24wBH","expandButton_TmdG":"_2LXBj","announcementBarClose_gvF7":"_32uEE","announcementBarPlaceholder_vyr4":"_2PagL","navbarSearchContainer_Bca1":"_3Uiqm","lastUpdated_vwxv":"_1UNOJ","tocMobile_ITEo":"_qcGlb","collapseSidebarButtonIcon_kv0_":"_2G6Hz","expandButtonIcon_i1dp":"_1IMu8","menuHtmlItem_M9Kj":"_1YUka","menu_SIkG":"_FgMDa","menuWithAnnouncementBar_GW3s":"_zUamI","sidebar_njMd":"_3E4Oo","sidebarWithHideableNavbar_wUlq":"_3xviA","sidebarHidden_VK0M":"_cWHWX","sidebarLogo_isFc":"_UMHGX","docSidebarContainer_YfHR":"_1SwXt","docSidebarContainerHidden_DPk8":"_3h6KW","sidebarViewport_aRkj":"_2OCK_","docMainContainer_TBSr":"_FuxZS","docMainContainerEnhanced_lQrH":"_ZUdP4","docItemWrapperEnhanced_JWYK":"_2AmPG","docItemCol_VOVn":"_3GmBr","container":"_1UB4R","col":"_csNus","footer":"_gceZJ","colorModeToggle_DEke":"_OawS_","footer__link-separator":"_3fzLh","navbar__item":"_1wyV6","tableOfContents_bqdL":"_3tGM4","footer__col":"_3DllA","footer__link-item":"_2ibTz","hero":"_369-d","navbar":"_5LWZt","container-fluid":"_2GcNI","navbar__toggle":"_2YjZl","navbar__search-input":"_3__u0","pills--block":"_2f7GT","tabs--block":"_3xrdo","docItemContainer_F8PC":"_6P_Dr","markdown":"_2xZt0","backToTopButton_sjWU":"_2bUwo","thin-scrollbar":"_1mrmJ","announcementBar_mb4j":"_2oveE","menu":"_14IWx","pagination-nav":"_3S8xG","table-of-contents":"_SnjS9","tabs":"_qpa-q","codeBlockLines_e6Vv":"_2ou2J"};
22289
22662
 
22290
22663
  var ResetFilterDialog = function ResetFilterDialog(_ref) {
22291
22664
  var t = _ref.t,
@@ -22349,7 +22722,7 @@ var ResetFilterDialog = function ResetFilterDialog(_ref) {
22349
22722
  borderTop: "1px solid #CED2DA"
22350
22723
  }
22351
22724
  }, React__default.createElement(Button, {
22352
- className: styles$5["btn-cancel"],
22725
+ className: styles$6["btn-cancel"],
22353
22726
  onClick: onClose
22354
22727
  }, React__default.createElement(Typography, {
22355
22728
  sx: {
@@ -22360,7 +22733,7 @@ var ResetFilterDialog = function ResetFilterDialog(_ref) {
22360
22733
  lineHeight: "16.71px"
22361
22734
  }, t("close"))), React__default.createElement(Button, {
22362
22735
  variant: "contained",
22363
- className: styles$5["btn-register"],
22736
+ className: styles$6["btn-register"],
22364
22737
  type: "submit",
22365
22738
  sx: {
22366
22739
  padding: "12px 47px"
@@ -22779,7 +23152,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
22779
23152
  borderTop: "1px solid #CED2DA"
22780
23153
  }
22781
23154
  }, React__default.createElement(Button, {
22782
- className: styles$5["btn-cancel"],
23155
+ className: styles$6["btn-cancel"],
22783
23156
  onClick: onClose
22784
23157
  }, React__default.createElement(Typography, {
22785
23158
  sx: {
@@ -22870,7 +23243,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
22870
23243
  borderTop: "1px solid #CED2DA"
22871
23244
  }
22872
23245
  }, React__default.createElement(Button, {
22873
- className: styles$5["btn-cancel"],
23246
+ className: styles$6["btn-cancel"],
22874
23247
  onClick: onClose
22875
23248
  }, React__default.createElement(Typography, {
22876
23249
  sx: {
@@ -22881,7 +23254,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
22881
23254
  lineHeight: "16.71px"
22882
23255
  }, t("cancel"))), React__default.createElement(Button, {
22883
23256
  variant: "contained",
22884
- className: styles$5["btn-register"],
23257
+ className: styles$6["btn-register"],
22885
23258
  type: "submit",
22886
23259
  sx: {
22887
23260
  padding: "12px 47px"
@@ -23458,7 +23831,7 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
23458
23831
  borderTop: "1px solid #CED2DA"
23459
23832
  }
23460
23833
  }, React__default.createElement(Button, {
23461
- className: styles$5["btn-cancel"],
23834
+ className: styles$6["btn-cancel"],
23462
23835
  onClick: onClose
23463
23836
  }, React__default.createElement(Typography, {
23464
23837
  sx: {
@@ -23469,7 +23842,7 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
23469
23842
  lineHeight: "16.71px"
23470
23843
  }, t("cancel"))), React__default.createElement(Button, {
23471
23844
  variant: "contained",
23472
- className: styles$5["btn-register"],
23845
+ className: styles$6["btn-register"],
23473
23846
  type: "submit",
23474
23847
  sx: {
23475
23848
  padding: "12px 47px"
@@ -23581,13 +23954,13 @@ var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
23581
23954
  var theme = useTheme();
23582
23955
  var isTabletUp = useMediaQuery(theme.breakpoints.up("lg"));
23583
23956
  return React__default.createElement("div", null, React__default.createElement("div", {
23584
- className: styles$5["drawer-overlay"] + " " + (isOpen && styles$5["open"]),
23957
+ className: styles$6["drawer-overlay"] + " " + (isOpen && styles$6["open"]),
23585
23958
  onClick: function onClick() {
23586
23959
  return onClose();
23587
23960
  }
23588
23961
  }), React__default.createElement(Stack, {
23589
23962
  width: isTabletUp ? "50vw" : "100%",
23590
- className: styles$5["drawer"] + " bg-white " + (isOpen && styles$5["open"])
23963
+ className: styles$6["drawer"] + " bg-white " + (isOpen && styles$6["open"])
23591
23964
  }, React__default.createElement(Stack, {
23592
23965
  bgcolor: styles.gray_50,
23593
23966
  borderBottom: "1px solid " + styles.gray_100,
@@ -24557,188 +24930,6 @@ var AlertCircleFill = function AlertCircleFill(_ref) {
24557
24930
  }));
24558
24931
  };
24559
24932
 
24560
- var CalendarFill = function CalendarFill(_ref) {
24561
- var _ref$width = _ref.width,
24562
- width = _ref$width === void 0 ? "16" : _ref$width,
24563
- _ref$height = _ref.height,
24564
- height = _ref$height === void 0 ? "16" : _ref$height,
24565
- color = _ref.color;
24566
- return React__default.createElement("svg", {
24567
- width: width,
24568
- height: height,
24569
- fill: color,
24570
- viewBox: "0 0 16 16",
24571
- xmlns: "http://www.w3.org/2000/svg"
24572
- }, React__default.createElement("path", {
24573
- d: "M15 3.99998C15 3.46955 14.7893 2.96084 14.4142 2.58577C14.0391 2.2107 13.5304 1.99998 13 1.99998H12.5V1.51405C12.5 1.24498 12.2931 1.01405 12.0241 1.00061C11.9565 0.997353 11.8889 1.00785 11.8255 1.03148C11.762 1.05511 11.7041 1.09136 11.6551 1.13805C11.6061 1.18475 11.5671 1.2409 11.5404 1.30311C11.5138 1.36532 11.5 1.4323 11.5 1.49998V1.99998H4.5V1.51405C4.5 1.24498 4.29313 1.01405 4.02406 1.00061C3.95646 0.997353 3.8889 1.00785 3.82547 1.03148C3.76204 1.05511 3.70407 1.09136 3.65508 1.13805C3.60608 1.18475 3.56707 1.2409 3.54041 1.30311C3.51375 1.36532 3.50001 1.4323 3.5 1.49998V1.99998H3C2.46957 1.99998 1.96086 2.2107 1.58579 2.58577C1.21071 2.96084 1 3.46955 1 3.99998V4.37498C1 4.40814 1.01317 4.43993 1.03661 4.46337C1.06005 4.48682 1.09185 4.49998 1.125 4.49998H14.875C14.9082 4.49998 14.9399 4.48682 14.9634 4.46337C14.9868 4.43993 15 4.40814 15 4.37498V3.99998Z",
24574
- fill: "#97A1AF"
24575
- }), React__default.createElement("path", {
24576
- d: "M1 13C1 13.5304 1.21071 14.0391 1.58579 14.4142C1.96086 14.7893 2.46957 15 3 15H13C13.5304 15 14.0391 14.7893 14.4142 14.4142C14.7893 14.0391 15 13.5304 15 13V5.625C15 5.59185 14.9868 5.56005 14.9634 5.53661C14.9399 5.51317 14.9082 5.5 14.875 5.5H1.125C1.09185 5.5 1.06005 5.51317 1.03661 5.53661C1.01317 5.56005 1 5.59185 1 5.625V13Z",
24577
- fill: "#97A1AF"
24578
- }));
24579
- };
24580
-
24581
- var ClockFill = function ClockFill(_ref) {
24582
- var _ref$width = _ref.width,
24583
- width = _ref$width === void 0 ? "16" : _ref$width,
24584
- _ref$height = _ref.height,
24585
- height = _ref$height === void 0 ? "16" : _ref$height,
24586
- color = _ref.color;
24587
- return React__default.createElement("svg", {
24588
- width: width,
24589
- height: height,
24590
- fill: color,
24591
- viewBox: "0 0 14 14",
24592
- xmlns: "http://www.w3.org/2000/svg"
24593
- }, React__default.createElement("path", {
24594
- d: "M7 0.25C3.41031 0.25 0.5 3.16031 0.5 6.75C0.5 10.3397 3.41031 13.25 7 13.25C10.5897 13.25 13.5 10.3397 13.5 6.75C13.5 3.16031 10.5897 0.25 7 0.25ZM10 7.75H7C6.86739 7.75 6.74021 7.69732 6.64645 7.60355C6.55268 7.50979 6.5 7.38261 6.5 7.25V2.75C6.5 2.61739 6.55268 2.49021 6.64645 2.39645C6.74021 2.30268 6.86739 2.25 7 2.25C7.13261 2.25 7.25979 2.30268 7.35355 2.39645C7.44732 2.49021 7.5 2.61739 7.5 2.75V6.75H10C10.1326 6.75 10.2598 6.80268 10.3536 6.89645C10.4473 6.99021 10.5 7.11739 10.5 7.25C10.5 7.38261 10.4473 7.50979 10.3536 7.60355C10.2598 7.69732 10.1326 7.75 10 7.75Z",
24595
- fill: "#97A1AF"
24596
- }));
24597
- };
24598
-
24599
- var CheckedCircleFill = function CheckedCircleFill(_ref) {
24600
- var _ref$width = _ref.width,
24601
- width = _ref$width === void 0 ? "16" : _ref$width,
24602
- _ref$height = _ref.height,
24603
- height = _ref$height === void 0 ? "17" : _ref$height,
24604
- color = _ref.color;
24605
- return React__default.createElement("svg", {
24606
- width: width,
24607
- height: height,
24608
- fill: color,
24609
- viewBox: "0 0 16 17",
24610
- xmlns: "http://www.w3.org/2000/svg"
24611
- }, React__default.createElement("path", {
24612
- d: "M8 1.75C4.41594 1.75 1.5 4.66594 1.5 8.25C1.5 11.8341 4.41594 14.75 8 14.75C11.5841 14.75 14.5 11.8341 14.5 8.25C14.5 4.66594 11.5841 1.75 8 1.75ZM11.3828 6.07156L7.18281 11.0716C7.13674 11.1264 7.07941 11.1708 7.01471 11.2016C6.95001 11.2323 6.87945 11.2489 6.80781 11.25H6.79938C6.72929 11.25 6.66 11.2352 6.59599 11.2067C6.53198 11.1782 6.47468 11.1365 6.42781 11.0844L4.62781 9.08438C4.5821 9.03589 4.54654 8.97876 4.52322 8.91633C4.4999 8.85391 4.4893 8.78745 4.49203 8.72087C4.49477 8.65429 4.51078 8.58892 4.53914 8.52862C4.56749 8.46831 4.60761 8.41429 4.65715 8.36971C4.70668 8.32514 4.76463 8.29091 4.82757 8.26905C4.89052 8.24719 4.95721 8.23813 5.02371 8.2424C5.09021 8.24668 5.15518 8.26421 5.21481 8.29396C5.27444 8.3237 5.32752 8.36507 5.37094 8.41562L6.78625 9.98812L10.6172 5.42844C10.7031 5.32909 10.8247 5.26754 10.9556 5.25711C11.0866 5.24668 11.2164 5.28819 11.317 5.37268C11.4175 5.45717 11.4808 5.57784 11.4931 5.70862C11.5055 5.8394 11.4658 5.96977 11.3828 6.07156Z",
24613
- fill: "#97A1AF"
24614
- }));
24615
- };
24616
-
24617
- var IconPerson = function IconPerson(_ref) {
24618
- var _ref$width = _ref.width,
24619
- width = _ref$width === void 0 ? "16" : _ref$width,
24620
- _ref$height = _ref.height,
24621
- height = _ref$height === void 0 ? "16" : _ref$height,
24622
- color = _ref.color;
24623
- return React__default.createElement("svg", {
24624
- width: width,
24625
- height: height,
24626
- fill: color,
24627
- viewBox: "0 0 16 16",
24628
- xmlns: "http://www.w3.org/2000/svg"
24629
- }, React__default.createElement("path", {
24630
- d: "M10.395 2.01813C9.78691 1.36156 8.93753 1 8.00003 1C7.05753 1 6.20534 1.35937 5.60003 2.01187C4.98815 2.67156 4.69003 3.56813 4.76003 4.53625C4.89878 6.44625 6.35222 8 8.00003 8C9.64784 8 11.0988 6.44656 11.2397 4.53687C11.3107 3.5775 11.0107 2.68281 10.395 2.01813Z",
24631
- fill: "#97A1AF"
24632
- }), React__default.createElement("path", {
24633
- d: "M13.4999 15H2.49993C2.35595 15.0019 2.21337 14.9716 2.08255 14.9115C1.95173 14.8513 1.83597 14.7627 1.74368 14.6522C1.54056 14.4094 1.45868 14.0778 1.51931 13.7425C1.78306 12.2794 2.60618 11.0503 3.89993 10.1875C5.04931 9.42156 6.50525 9 7.99993 9C9.49462 9 10.9506 9.42188 12.0999 10.1875C13.3937 11.05 14.2168 12.2791 14.4806 13.7422C14.5412 14.0775 14.4593 14.4091 14.2562 14.6519C14.1639 14.7625 14.0482 14.8511 13.9174 14.9113C13.7865 14.9715 13.6439 15.0018 13.4999 15Z",
24634
- fill: "#97A1AF"
24635
- }));
24636
- };
24637
-
24638
- var LessonTooltip = function LessonTooltip(_ref) {
24639
- var lesson = _ref.lesson,
24640
- lessonAttendance = _ref.lessonAttendance;
24641
- var _useTranslation = useTranslation(),
24642
- t = _useTranslation.t;
24643
- return React__default.createElement(Stack, {
24644
- padding: "16px"
24645
- }, React__default.createElement(Stack, {
24646
- gap: "20px"
24647
- }, React__default.createElement(Typography, {
24648
- sx: {
24649
- color: grey[700]
24650
- }
24651
- }, lesson.courseName), React__default.createElement(Stack, {
24652
- display: "flex",
24653
- flexDirection: "row",
24654
- justifyContent: "space-between",
24655
- gap: "20px"
24656
- }, React__default.createElement(Box, {
24657
- display: "flex",
24658
- flexDirection: "row",
24659
- gap: "4px"
24660
- }, React__default.createElement(CalendarFill, null), React__default.createElement(Typography, {
24661
- sx: {
24662
- color: grey[500],
24663
- fontSize: "13px",
24664
- fontWeight: "600",
24665
- whiteSpace: "nowrap"
24666
- }
24667
- }, t("class_date"))), React__default.createElement(Typography, {
24668
- sx: {
24669
- color: grey[700],
24670
- fontSize: "14px",
24671
- fontWeight: "600"
24672
- }
24673
- }, t("" + moment(lesson === null || lesson === void 0 ? void 0 : lesson.date).format(t("date_format"))))), React__default.createElement(Stack, {
24674
- display: "flex",
24675
- flexDirection: "row",
24676
- justifyContent: "space-between",
24677
- gap: "20px"
24678
- }, React__default.createElement(Stack, {
24679
- display: "flex",
24680
- flexDirection: "row",
24681
- gap: "4px"
24682
- }, React__default.createElement(ClockFill, null), React__default.createElement(Typography, {
24683
- sx: {
24684
- color: grey[500],
24685
- fontSize: "13px",
24686
- fontWeight: "600",
24687
- whiteSpace: "nowrap"
24688
- }
24689
- }, t("class_time"))), React__default.createElement(Typography, {
24690
- sx: {
24691
- color: grey[700],
24692
- fontSize: "14px",
24693
- fontWeight: "600"
24694
- }
24695
- }, formatTimeHHmm(lesson === null || lesson === void 0 ? void 0 : lesson.startTime) + " : " + formatTimeHHmm(lesson === null || lesson === void 0 ? void 0 : lesson.endTime) + " (" + subtractTime(lesson === null || lesson === void 0 ? void 0 : lesson.endTime, lesson === null || lesson === void 0 ? void 0 : lesson.startTime, t) + ")")), React__default.createElement(Stack, {
24696
- display: "flex",
24697
- flexDirection: "row",
24698
- justifyContent: "space-between",
24699
- gap: "20px"
24700
- }, React__default.createElement(Stack, {
24701
- display: "flex",
24702
- flexDirection: "row",
24703
- gap: "4px"
24704
- }, React__default.createElement(CheckedCircleFill, null), React__default.createElement(Typography, {
24705
- sx: {
24706
- color: grey[500],
24707
- fontSize: "13px",
24708
- fontWeight: "600",
24709
- whiteSpace: "nowrap"
24710
- }
24711
- }, t("attendance"))), React__default.createElement(Typography, {
24712
- sx: {
24713
- color: grey[700],
24714
- fontSize: "14px",
24715
- fontWeight: "600"
24716
- }
24717
- }, (lessonAttendance === null || lessonAttendance === void 0 ? void 0 : lessonAttendance.status) === StudentAttendanceStatus.Late ? t("late") : (lessonAttendance === null || lessonAttendance === void 0 ? void 0 : lessonAttendance.status) === StudentAttendanceStatus.Attended ? t("attendance") : t("none_attendance"))), React__default.createElement(Stack, {
24718
- display: "flex",
24719
- flexDirection: "row",
24720
- justifyContent: "space-between",
24721
- gap: "20px"
24722
- }, React__default.createElement(Stack, {
24723
- display: "flex",
24724
- flexDirection: "row",
24725
- gap: "4px"
24726
- }, React__default.createElement(IconPerson, null), React__default.createElement(Typography, {
24727
- sx: {
24728
- color: grey[500],
24729
- fontSize: "13px",
24730
- fontWeight: "600",
24731
- whiteSpace: "nowrap"
24732
- }
24733
- }, t("teacher_in_charge"))), React__default.createElement(Typography, {
24734
- sx: {
24735
- color: grey[700],
24736
- fontSize: "14px",
24737
- fontWeight: "600"
24738
- }
24739
- }, lesson === null || lesson === void 0 ? void 0 : lesson.mainTeacherName))));
24740
- };
24741
-
24742
24933
  var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24743
24934
  var data = _ref.data,
24744
24935
  containerProps = _ref.containerProps,
@@ -24747,23 +24938,17 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24747
24938
  mainTeacherName = _ref.mainTeacherName,
24748
24939
  courseName = _ref.courseName,
24749
24940
  courseId = _ref.courseId,
24750
- studentId = _ref.studentId,
24751
24941
  onCheckInLesson = _ref.onCheckInLesson;
24752
24942
  var _useTranslation = useTranslation(),
24753
24943
  t = _useTranslation.t;
24754
- var isAdmin = useSelector(function (state) {
24755
- var _state$common, _state$common$user, _state$common$user$ro;
24756
- return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : (_state$common$user$ro = _state$common$user.roles) === null || _state$common$user$ro === void 0 ? void 0 : _state$common$user$ro.includes(Role.Admin);
24757
- });
24758
24944
  var language = useSelector(function (state) {
24759
- var _state$common2;
24760
- return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
24945
+ var _state$common;
24946
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
24761
24947
  });
24762
24948
  var dataString = JSON.stringify(data);
24763
24949
  var containerRef = useRef(null);
24764
- var handleCheckInLesson = function handleCheckInLesson(lesson, studentId) {
24765
- if (isAdmin) return;
24766
- onCheckInLesson(lesson, studentId);
24950
+ var handleCheckInLesson = function handleCheckInLesson(lesson, attendance) {
24951
+ onCheckInLesson(lesson, attendance);
24767
24952
  };
24768
24953
  var renderItem = function renderItem(rowIndex, columnIndex, _) {
24769
24954
  if (rowIndex === 0) return React__default.createElement(Box, {
@@ -24807,9 +24992,8 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24807
24992
  }, React__default.createElement(IconButton, {
24808
24993
  size: "small",
24809
24994
  className: "d-flex align-items-center ",
24810
- disabled: isAdmin,
24811
24995
  onClick: function onClick() {
24812
- return handleCheckInLesson(lesson, studentId);
24996
+ return handleCheckInLesson(lesson, attendance);
24813
24997
  },
24814
24998
  sx: {
24815
24999
  width: "26px",
@@ -24859,8 +25043,7 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24859
25043
  };
24860
25044
 
24861
25045
  var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24862
- var studentId = _ref.studentId,
24863
- data = _ref.data,
25046
+ var data = _ref.data,
24864
25047
  onCheckInLesson = _ref.onCheckInLesson,
24865
25048
  onLoad = _ref.onLoad;
24866
25049
  var _useTranslation = useTranslation(),
@@ -24945,7 +25128,6 @@ var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24945
25128
  data: data.lessons,
24946
25129
  courseId: data.id,
24947
25130
  courseName: data.name,
24948
- studentId: studentId,
24949
25131
  mainTeacherName: data.mainTeacherName,
24950
25132
  onCheckInLesson: onCheckInLesson,
24951
25133
  listWidth: 0,
@@ -24965,8 +25147,7 @@ var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24965
25147
  };
24966
25148
 
24967
25149
  var CourseAttendanceList = function CourseAttendanceList(_ref) {
24968
- var studentId = _ref.studentId,
24969
- data = _ref.data,
25150
+ var data = _ref.data,
24970
25151
  isLoading = _ref.isLoading,
24971
25152
  listHeight = _ref.listHeight,
24972
25153
  containerProps = _ref.containerProps,
@@ -24975,7 +25156,6 @@ var CourseAttendanceList = function CourseAttendanceList(_ref) {
24975
25156
  var renderItem = function renderItem(item, _, measure) {
24976
25157
  return React__default.createElement(CourseAttendanceItem, {
24977
25158
  key: item.id,
24978
- studentId: studentId,
24979
25159
  data: item,
24980
25160
  onCheckInLesson: onCheckInLesson,
24981
25161
  onLoad: measure
@@ -24998,13 +25178,11 @@ var getAttendanceByStudentIdApi = function getAttendanceByStudentIdApi(studentId
24998
25178
  params: query
24999
25179
  });
25000
25180
  };
25001
- var getCheckInLessonsApi = function getCheckInLessonsApi(lessonId, studentId) {
25002
- return api.post(LESSON_URL + "/" + lessonId + "/teacher", {
25003
- studentId: studentId
25004
- });
25181
+ var getCheckInLessonsApi = function getCheckInLessonsApi(lessonId, attendanceRequest) {
25182
+ return api.post(LESSON_URL + "/" + lessonId + "/teacher", attendanceRequest);
25005
25183
  };
25006
25184
 
25007
- var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25185
+ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId, onUpdatedAttendance) {
25008
25186
  var dispatch = useDispatch();
25009
25187
  var _useTranslation = useTranslation(),
25010
25188
  t = _useTranslation.t;
@@ -25031,15 +25209,46 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25031
25209
  isLoading = _useVirtualList.isLoading,
25032
25210
  handleLoadMore = _useVirtualList.handleLoadMore,
25033
25211
  setItems = _useVirtualList.setItems;
25034
- var handleCheckInLesson = function handleCheckInLesson(lesson, studentId) {
25212
+ var _useState = useState(),
25213
+ openAttendanceDalog = _useState[0],
25214
+ setOpenAttendanceDialog = _useState[1];
25215
+ var handleOpenAttendanceDialog = function handleOpenAttendanceDialog(lesson, attendance) {
25216
+ setOpenAttendanceDialog({
25217
+ lesson: lesson,
25218
+ attendance: attendance
25219
+ });
25220
+ };
25221
+ var handleCloseAttendanceDialog = function handleCloseAttendanceDialog() {
25222
+ setOpenAttendanceDialog(undefined);
25223
+ };
25224
+ var handleCheckInLesson = function handleCheckInLesson(lesson, attendance) {
25225
+ if (!!attendance && attendance.status !== StudentAttendanceStatus.Absent) handleUpdateStudentAttendance(lesson, {
25226
+ studentId: studentId,
25227
+ attendanceTime: attendance.attendanceTime,
25228
+ status: attendance.status === StudentAttendanceStatus.Attended ? StudentAttendanceStatus.Late : StudentAttendanceStatus.Absent
25229
+ });else handleOpenAttendanceDialog(lesson, attendance);
25230
+ };
25231
+ var handleUpdateStudentAttendance = function handleUpdateStudentAttendance(lesson, attendanceRequest) {
25035
25232
  try {
25036
25233
  var _temp2 = function _temp2() {
25037
25234
  dispatch(setLoading(false));
25038
25235
  };
25039
25236
  dispatch(setLoading(true));
25040
25237
  var _temp = _catch(function () {
25041
- return Promise.resolve(getCheckInLessonsApi(lesson.id, studentId)).then(function () {
25238
+ return Promise.resolve(getCheckInLessonsApi(lesson.id, attendanceRequest)).then(function () {
25239
+ var attendance = {
25240
+ lessonId: lesson.id,
25241
+ attendanceTime: attendanceRequest.attendanceTime,
25242
+ status: attendanceRequest.status
25243
+ };
25244
+ onUpdatedAttendance === null || onUpdatedAttendance === void 0 ? void 0 : onUpdatedAttendance(attendance, studentId);
25245
+ updateAttendanceData({
25246
+ lessonId: lesson.id,
25247
+ attendanceTime: attendanceRequest.attendanceTime,
25248
+ status: attendanceRequest.status
25249
+ }, lesson.courseId);
25042
25250
  toast.success(t("update_attendance_status_successfully"));
25251
+ handleCloseAttendanceDialog();
25043
25252
  });
25044
25253
  }, function (error) {
25045
25254
  toast.error(getErrorMessage(t, error));
@@ -25055,12 +25264,15 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25055
25264
  var item = JSON.parse(data);
25056
25265
  var lessonAttendance = {
25057
25266
  lessonId: item === null || item === void 0 ? void 0 : (_item$attendance = item.attendance) === null || _item$attendance === void 0 ? void 0 : _item$attendance.lessonId,
25058
- attendanceTime: moment.utc(item === null || item === void 0 ? void 0 : (_item$attendance2 = item.attendance) === null || _item$attendance2 === void 0 ? void 0 : _item$attendance2.attendanceTime).local().format(FormatDate),
25267
+ attendanceTime: item === null || item === void 0 ? void 0 : (_item$attendance2 = item.attendance) === null || _item$attendance2 === void 0 ? void 0 : _item$attendance2.attendanceTime,
25059
25268
  status: item === null || item === void 0 ? void 0 : (_item$attendance3 = item.attendance) === null || _item$attendance3 === void 0 ? void 0 : _item$attendance3.status
25060
25269
  };
25270
+ updateAttendanceData(lessonAttendance, item.courseId);
25271
+ };
25272
+ var updateAttendanceData = function updateAttendanceData(lessonAttendance, courseId) {
25061
25273
  setItems(function (prev) {
25062
25274
  var newData = prev.map(function (course) {
25063
- if (item.courseId !== course.id) return course;
25275
+ if (courseId !== course.id) return course;
25064
25276
  return _extends({}, course, {
25065
25277
  lessons: course.lessons.map(function (lesson) {
25066
25278
  if (lesson.id != lessonAttendance.lessonId) return lesson;
@@ -25092,20 +25304,27 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25092
25304
  return {
25093
25305
  items: items,
25094
25306
  isLoading: isLoading,
25307
+ openAttendanceDalog: openAttendanceDalog,
25095
25308
  handleLoadMore: handleLoadMore,
25096
- handleCheckInLesson: handleCheckInLesson
25309
+ handleCheckInLesson: handleCheckInLesson,
25310
+ handleCloseAttendanceDialog: handleCloseAttendanceDialog,
25311
+ handleUpdateStudentAttendance: handleUpdateStudentAttendance
25097
25312
  };
25098
25313
  };
25099
25314
 
25100
25315
  var DrawerAttendanceTab = function DrawerAttendanceTab(_ref) {
25101
25316
  var studentId = _ref.studentId,
25102
25317
  selectedTab = _ref.selectedTab,
25103
- value = _ref.value;
25104
- var _useDrawerAttendanceT = useDrawerAttendanceTab(studentId),
25318
+ value = _ref.value,
25319
+ onUpdatedAttendance = _ref.onUpdatedAttendance;
25320
+ var _useDrawerAttendanceT = useDrawerAttendanceTab(studentId, onUpdatedAttendance),
25105
25321
  items = _useDrawerAttendanceT.items,
25106
25322
  isLoading = _useDrawerAttendanceT.isLoading,
25323
+ openAttendanceDalog = _useDrawerAttendanceT.openAttendanceDalog,
25107
25324
  handleLoadMore = _useDrawerAttendanceT.handleLoadMore,
25108
- handleCheckInLesson = _useDrawerAttendanceT.handleCheckInLesson;
25325
+ handleCheckInLesson = _useDrawerAttendanceT.handleCheckInLesson,
25326
+ handleCloseAttendanceDialog = _useDrawerAttendanceT.handleCloseAttendanceDialog,
25327
+ handleUpdateStudentAttendance = _useDrawerAttendanceT.handleUpdateStudentAttendance;
25109
25328
  return React__default.createElement(DrawerTabContent, {
25110
25329
  value: value,
25111
25330
  isSelected: selectedTab === value
@@ -25123,10 +25342,16 @@ var DrawerAttendanceTab = function DrawerAttendanceTab(_ref) {
25123
25342
  data: items,
25124
25343
  onLoadMore: handleLoadMore,
25125
25344
  isLoading: isLoading,
25126
- studentId: studentId,
25127
25345
  onCheckInLesson: handleCheckInLesson,
25128
25346
  listHeight: 0
25129
- })));
25347
+ })), React__default.createElement(AttendanceFormDialog, {
25348
+ open: !!openAttendanceDalog,
25349
+ onClose: handleCloseAttendanceDialog,
25350
+ attendance: openAttendanceDalog === null || openAttendanceDalog === void 0 ? void 0 : openAttendanceDalog.attendance,
25351
+ lesson: openAttendanceDalog === null || openAttendanceDalog === void 0 ? void 0 : openAttendanceDalog.lesson,
25352
+ studentId: studentId,
25353
+ onSubmit: handleUpdateStudentAttendance
25354
+ }));
25130
25355
  };
25131
25356
 
25132
25357
  var StudentInfoDrawer = function StudentInfoDrawer(props) {
@@ -25136,7 +25361,8 @@ var StudentInfoDrawer = function StudentInfoDrawer(props) {
25136
25361
  width = props.width,
25137
25362
  history = props.history,
25138
25363
  role = props.role,
25139
- onViewQA = props.onViewQA;
25364
+ onViewQA = props.onViewQA,
25365
+ onUpdatedAttendance = props.onUpdatedAttendance;
25140
25366
  var _useStudentInfoDrawer = useStudentInfoDrawer(props),
25141
25367
  loadedTabs = _useStudentInfoDrawer.loadedTabs,
25142
25368
  isLoading = _useStudentInfoDrawer.isLoading,
@@ -25167,7 +25393,8 @@ var StudentInfoDrawer = function StudentInfoDrawer(props) {
25167
25393
  }), studentId && React__default.createElement(Fragment$1, null, loadedTabs[DrawerTab.Attendance] && React__default.createElement(DrawerAttendanceTab, {
25168
25394
  value: DrawerTab.Attendance,
25169
25395
  selectedTab: selectedTab,
25170
- studentId: studentId
25396
+ studentId: studentId,
25397
+ onUpdatedAttendance: onUpdatedAttendance
25171
25398
  }), loadedTabs[DrawerTab.Note] && React__default.createElement(DrawerNoteTab, {
25172
25399
  value: DrawerTab.Note,
25173
25400
  selectedTab: selectedTab,
@@ -27555,7 +27782,7 @@ var RECENT_USER_ACTION_HEADERS = [{
27555
27782
  }];
27556
27783
  var CSV_PREFIX = "data:text/csv;charset=utf-8,";
27557
27784
 
27558
- var styles$6 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
27785
+ var styles$7 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
27559
27786
 
27560
27787
  var _excluded$c = ["text", "isRequired", "className"];
27561
27788
  var LabelRequired = function LabelRequired(_ref) {
@@ -28680,7 +28907,7 @@ var DeleteUserCsvDialog = function DeleteUserCsvDialog(_ref) {
28680
28907
  size: "xs",
28681
28908
  title: t('delete_users_csv')
28682
28909
  }, React__default.createElement(DialogContent, null, React__default.createElement("div", {
28683
- className: "" + styles$6["drop-area"],
28910
+ className: "" + styles$7["drop-area"],
28684
28911
  onDrop: handleDrop,
28685
28912
  onDragOver: handleDragOver,
28686
28913
  onClick: handleChooseFile
@@ -28809,10 +29036,10 @@ var UserRow = function UserRow(_ref) {
28809
29036
  className: "d-flex"
28810
29037
  }, isAdmin || isSuperAdmin ? React__default.createElement(IconButton, {
28811
29038
  color: "default",
28812
- className: styles$6["action-btn"] + " bg-warning text-white me-2",
29039
+ className: styles$7["action-btn"] + " bg-warning text-white me-2",
28813
29040
  onClick: handleViewOrUpdate
28814
29041
  }, React__default.createElement(HiOutlinePencilAlt, {
28815
- className: styles$6["action-btn--pencil"],
29042
+ className: styles$7["action-btn--pencil"],
28816
29043
  size: 16
28817
29044
  })) : React__default.createElement(IconButton, {
28818
29045
  color: "default",
@@ -28823,7 +29050,7 @@ var UserRow = function UserRow(_ref) {
28823
29050
  })), (isAdmin || isSuperAdmin) && React__default.createElement(IconButton, {
28824
29051
  onClick: handleDelete,
28825
29052
  color: "default",
28826
- className: styles$6["action-btn"] + " bg-danger text-white"
29053
+ className: styles$7["action-btn"] + " bg-danger text-white"
28827
29054
  }, React__default.createElement(FaTrashCan, {
28828
29055
  size: 12
28829
29056
  })))));
@@ -28909,7 +29136,7 @@ var UserList = function UserList(_ref) {
28909
29136
  bgcolor: theme.palette.primary.main
28910
29137
  },
28911
29138
  startIcon: React__default.createElement(MdDownload, {
28912
- className: "" + styles$6["icon-rotate-180"],
29139
+ className: "" + styles$7["icon-rotate-180"],
28913
29140
  size: 14
28914
29141
  }),
28915
29142
  onClick: handleChooseFile
@@ -28920,7 +29147,7 @@ var UserList = function UserList(_ref) {
28920
29147
  bgcolor: theme.palette.error.main
28921
29148
  },
28922
29149
  startIcon: React__default.createElement(MdDownload, {
28923
- className: "" + styles$6["icon-rotate-180"],
29150
+ className: "" + styles$7["icon-rotate-180"],
28924
29151
  size: 14
28925
29152
  }),
28926
29153
  onClick: handleToggleDeleteUserCsv
@@ -29056,7 +29283,7 @@ var UserList = function UserList(_ref) {
29056
29283
  })));
29057
29284
  };
29058
29285
 
29059
- var styles$7 = {"question":"_2uc_W","question-article":"_2p7kY","question-title":"_2tHmc","question-label":"_26ATj","question-input":"_3R8PR","question-btn":"_1VZac"};
29286
+ var styles$8 = {"question":"_2uc_W","question-article":"_2p7kY","question-title":"_2tHmc","question-label":"_26ATj","question-input":"_3R8PR","question-btn":"_1VZac"};
29060
29287
 
29061
29288
  var BpIcon = styled("span")(function (_ref) {
29062
29289
  var theme = _ref.theme;
@@ -29129,7 +29356,7 @@ var QuestionView = function QuestionView(_ref2) {
29129
29356
  mb: "16px"
29130
29357
  }, React__default.createElement(Stack, null, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29131
29358
  htmlFor: "textual_answer",
29132
- className: styles$7["question-label"] + " form-label"
29359
+ className: styles$8["question-label"] + " form-label"
29133
29360
  }, t("textual_answer")), React__default.createElement(TextField, {
29134
29361
  sx: {
29135
29362
  "& .MuiInputBase-input": {
@@ -29157,7 +29384,7 @@ var QuestionView = function QuestionView(_ref2) {
29157
29384
  }).map(function (i) {
29158
29385
  return React__default.createElement(FormControlLabel, {
29159
29386
  key: i,
29160
- className: styles$7["question-label"] + " w-fit",
29387
+ className: styles$8["question-label"] + " w-fit",
29161
29388
  labelPlacement: "top",
29162
29389
  value: i,
29163
29390
  onChange: function onChange(e) {
@@ -29188,7 +29415,7 @@ var QuestionView = function QuestionView(_ref2) {
29188
29415
  }).map(function (i) {
29189
29416
  return React__default.createElement(FormControlLabel, {
29190
29417
  key: i,
29191
- className: styles$7["question-label"] + " w-fit",
29418
+ className: styles$8["question-label"] + " w-fit",
29192
29419
  labelPlacement: "top",
29193
29420
  value: i,
29194
29421
  onChange: function onChange(e) {
@@ -29231,7 +29458,7 @@ var QuestionView = function QuestionView(_ref2) {
29231
29458
  }, React__default.createElement(Grid, {
29232
29459
  container: true
29233
29460
  }, React__default.createElement("div", {
29234
- className: styles$7["question-title"] + " me-2 text-nowrap"
29461
+ className: styles$8["question-title"] + " me-2 text-nowrap"
29235
29462
  }, t("problem_number_question", {
29236
29463
  number: question.questionOrder + 1
29237
29464
  }))), React__default.createElement(Grid, {
@@ -29244,7 +29471,7 @@ var QuestionView = function QuestionView(_ref2) {
29244
29471
  mb: "16px"
29245
29472
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29246
29473
  htmlFor: "title",
29247
- className: styles$7["question-label"] + " form-label"
29474
+ className: styles$8["question-label"] + " form-label"
29248
29475
  }, t("title")), React__default.createElement(TextField, {
29249
29476
  fullWidth: true,
29250
29477
  value: question.title,
@@ -29259,7 +29486,7 @@ var QuestionView = function QuestionView(_ref2) {
29259
29486
  mb: "16px"
29260
29487
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29261
29488
  htmlFor: "author",
29262
- className: styles$7["question-label"] + " form-label"
29489
+ className: styles$8["question-label"] + " form-label"
29263
29490
  }, t("author")), React__default.createElement(TextField, {
29264
29491
  fullWidth: true,
29265
29492
  value: question.author,
@@ -29274,7 +29501,7 @@ var QuestionView = function QuestionView(_ref2) {
29274
29501
  mb: "16px"
29275
29502
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29276
29503
  htmlFor: "subject",
29277
- className: styles$7["question-label"] + " form-label"
29504
+ className: styles$8["question-label"] + " form-label"
29278
29505
  }, t("subject")), React__default.createElement(TextField, {
29279
29506
  fullWidth: true,
29280
29507
  value: question.subject,
@@ -29293,7 +29520,7 @@ var QuestionView = function QuestionView(_ref2) {
29293
29520
  mb: "16px"
29294
29521
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29295
29522
  htmlFor: "type",
29296
- className: styles$7["question-label"] + " form-label"
29523
+ className: styles$8["question-label"] + " form-label"
29297
29524
  }, t("type")), React__default.createElement(CustomSelectOption, {
29298
29525
  isTextbook: true,
29299
29526
  valueById: question.type,
@@ -29307,7 +29534,7 @@ var QuestionView = function QuestionView(_ref2) {
29307
29534
  lg: 3
29308
29535
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29309
29536
  htmlFor: "question_answer_type",
29310
- className: styles$7["question-label"] + " form-label"
29537
+ className: styles$8["question-label"] + " form-label"
29311
29538
  }, t("question_answer_type")), React__default.createElement(CustomSelect, {
29312
29539
  isDisabled: isDisabled,
29313
29540
  value: question.questionAnswerType,
@@ -29327,7 +29554,7 @@ var QuestionView = function QuestionView(_ref2) {
29327
29554
  xs: 4,
29328
29555
  lg: 4
29329
29556
  }, React__default.createElement("div", {
29330
- className: styles$7["question-title"] + " me-2 text-nowrap"
29557
+ className: styles$8["question-title"] + " me-2 text-nowrap"
29331
29558
  }, t("problem_number_question", {
29332
29559
  number: question.questionOrder + 1
29333
29560
  }))), !isTextbook && React__default.createElement(Grid, {
@@ -29340,7 +29567,7 @@ var QuestionView = function QuestionView(_ref2) {
29340
29567
  lg: 4
29341
29568
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29342
29569
  htmlFor: "question_answer_type",
29343
- className: styles$7["question-label"] + " form-label"
29570
+ className: styles$8["question-label"] + " form-label"
29344
29571
  }, t("question_answer_type")), React__default.createElement(CustomSelect, {
29345
29572
  isDisabled: isDisabled,
29346
29573
  value: question.questionAnswerType,
@@ -29474,7 +29701,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29474
29701
  onDelete === null || onDelete === void 0 ? void 0 : onDelete(article);
29475
29702
  };
29476
29703
  return React__default.createElement("div", {
29477
- className: "d-flex " + styles$7["question"] + " " + (isActive ? styles$7["question--active"] : "")
29704
+ className: "d-flex " + styles$8["question"] + " " + (isActive ? styles$8["question--active"] : "")
29478
29705
  }, React__default.createElement("div", {
29479
29706
  className: "py-1"
29480
29707
  }, React__default.createElement(PiDotsNineLight, {
@@ -29482,9 +29709,9 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29482
29709
  })), React__default.createElement("div", {
29483
29710
  className: "px-2"
29484
29711
  }, React__default.createElement("p", {
29485
- className: "mb-0 " + styles$7["question-article"]
29712
+ className: "mb-0 " + styles$8["question-article"]
29486
29713
  }, t("article_number")), React__default.createElement("p", {
29487
- className: "text-center " + styles$7["question-article"]
29714
+ className: "text-center " + styles$8["question-article"]
29488
29715
  }, article)), React__default.createElement("div", {
29489
29716
  className: "flex-grow-1"
29490
29717
  }, React__default.createElement(Grid, {
@@ -29505,7 +29732,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29505
29732
  lg: 3
29506
29733
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29507
29734
  htmlFor: "question_count",
29508
- className: styles$7["question-label"] + " form-label"
29735
+ className: styles$8["question-label"] + " form-label"
29509
29736
  }, t("questions")), React__default.createElement(QuestionCountSelector, {
29510
29737
  id: "question_count",
29511
29738
  value: questionCount,
@@ -29524,7 +29751,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29524
29751
  }
29525
29752
  }, React__default.createElement(FormLabel, {
29526
29753
  htmlFor: "category",
29527
- className: styles$7["question-label"] + " form-label"
29754
+ className: styles$8["question-label"] + " form-label"
29528
29755
  }, t("category")), React__default.createElement(ArticleCategorySelector, {
29529
29756
  style: {
29530
29757
  "div:has(&)": {
@@ -29544,7 +29771,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29544
29771
  lg: 3
29545
29772
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29546
29773
  htmlFor: "answer_count",
29547
- className: styles$7["question-label"] + " form-label"
29774
+ className: styles$8["question-label"] + " form-label"
29548
29775
  }, t("answer_count")), React__default.createElement(AnswerCountSelector, {
29549
29776
  id: "answer_count",
29550
29777
  value: answerCount,
@@ -30069,7 +30296,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30069
30296
  xs: 5,
30070
30297
  className: 'mb-2'
30071
30298
  }, React__default.createElement("label", {
30072
- className: styles["form-label"] + " " + styles$7["question-label"],
30299
+ className: styles["form-label"] + " " + styles$8["question-label"],
30073
30300
  htmlFor: "title"
30074
30301
  }, t("exam_name")), React__default.createElement("input", {
30075
30302
  disabled: isDisabled,
@@ -30083,7 +30310,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30083
30310
  xs: 3,
30084
30311
  className: 'mb-2'
30085
30312
  }, React__default.createElement("label", {
30086
- className: styles["form-label"] + " " + styles$7["question-label"],
30313
+ className: styles["form-label"] + " " + styles$8["question-label"],
30087
30314
  htmlFor: "duration"
30088
30315
  }, t("exam_duration")), React__default.createElement(CustomSelect, {
30089
30316
  inputId: "duration",
@@ -30096,7 +30323,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30096
30323
  xs: 3,
30097
30324
  className: 'mb-2'
30098
30325
  }, React__default.createElement("label", {
30099
- className: styles["form-label"] + " " + styles$7["question-label"],
30326
+ className: styles["form-label"] + " " + styles$8["question-label"],
30100
30327
  htmlFor: "subject"
30101
30328
  }, t("subject")), React__default.createElement(CustomSelect, {
30102
30329
  inputId: "subject",
@@ -30139,7 +30366,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30139
30366
  }
30140
30367
  },
30141
30368
  disabled: isDisabled,
30142
- className: "w-100 d-flex justify-content-center align-items-center " + styles$7["question-btn"] + " mt-3",
30369
+ className: "w-100 d-flex justify-content-center align-items-center " + styles$8["question-btn"] + " mt-3",
30143
30370
  onClick: handleAddArticle
30144
30371
  }, React__default.createElement(FaPlusCircle, {
30145
30372
  className: "me-2"
@@ -31724,7 +31951,7 @@ var ArticleDialog = function ArticleDialog(_ref) {
31724
31951
  }, t("add")))));
31725
31952
  };
31726
31953
 
31727
- var styles$8 = {"drawer":"_11aYm","open":"_3Ydwm","drawer-overlay":"_3SQDf","drawer-header":"_2BwOx","drawer-form":"_2Zo7R","dropdown-content-academy":"_1lzjD","dropdown-change":"_1y7K9","dropdown-academy-item":"_1Y-55","dropdown-content-language":"_1fBXY","dropdown-item-language":"_3Szun","dropdown-item-language-active":"_2HhLb","item-address":"_3WYHC","item-logout":"_2-9ix","title-address":"_1r4pn","image-academy":"_2ZozT"};
31954
+ var styles$9 = {"drawer":"_11aYm","open":"_3Ydwm","drawer-overlay":"_3SQDf","drawer-header":"_2BwOx","drawer-form":"_2Zo7R","dropdown-content-academy":"_1lzjD","dropdown-change":"_1y7K9","dropdown-academy-item":"_1Y-55","dropdown-content-language":"_1fBXY","dropdown-item-language":"_3Szun","dropdown-item-language-active":"_2HhLb","item-address":"_3WYHC","item-logout":"_2-9ix","title-address":"_1r4pn","image-academy":"_2ZozT"};
31728
31955
 
31729
31956
  var _excluded$e = ["isOpen", "onClose", "handleSaveExam"];
31730
31957
  var CreateExamDrawer = function CreateExamDrawer(props) {
@@ -31737,17 +31964,17 @@ var CreateExamDrawer = function CreateExamDrawer(props) {
31737
31964
  var theme = useTheme();
31738
31965
  var isTabletUp = useMediaQuery(theme.breakpoints.up('lg'));
31739
31966
  return React__default.createElement("div", null, React__default.createElement("div", {
31740
- className: styles$8["drawer-overlay"] + " " + (isOpen && styles$8["open"]),
31967
+ className: styles$9["drawer-overlay"] + " " + (isOpen && styles$9["open"]),
31741
31968
  onClick: function onClick() {
31742
31969
  return onClose();
31743
31970
  }
31744
31971
  }), React__default.createElement("div", {
31745
- className: styles$8["drawer"] + " bg-white " + (isOpen && styles$8["open"]),
31972
+ className: styles$9["drawer"] + " bg-white " + (isOpen && styles$9["open"]),
31746
31973
  style: {
31747
31974
  width: "" + (isTabletUp ? "70vw" : "100vw")
31748
31975
  }
31749
31976
  }, React__default.createElement("div", {
31750
- className: styles$8["drawer-header"] + " d-flex justify-content-between align-items-center"
31977
+ className: styles$9["drawer-header"] + " d-flex justify-content-between align-items-center"
31751
31978
  }, React__default.createElement(Button, {
31752
31979
  variant: "outlined",
31753
31980
  sx: {
@@ -31766,7 +31993,7 @@ var CreateExamDrawer = function CreateExamDrawer(props) {
31766
31993
  }, React__default.createElement(FaTimes, {
31767
31994
  size: 18
31768
31995
  }))), React__default.createElement("div", {
31769
- className: "" + styles$8["drawer-form"]
31996
+ className: "" + styles$9["drawer-form"]
31770
31997
  }, React__default.createElement(ExamDetailView, Object.assign({}, examDetailViewProps)))));
31771
31998
  };
31772
31999
 
@@ -32882,7 +33109,7 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
32882
33109
  };
32883
33110
  };
32884
33111
 
32885
- var styles$9 = {"avatar":"_8niRT"};
33112
+ var styles$a = {"avatar":"_8niRT"};
32886
33113
 
32887
33114
  var _excluded$f = ["value", "disabled", "optionTypeNotification"];
32888
33115
  var TypeSelector = function TypeSelector(_ref) {
@@ -33007,7 +33234,7 @@ var NotificationForm = function NotificationForm(_ref) {
33007
33234
  className: "fw-bold mb-2",
33008
33235
  htmlFor: "main-teacher"
33009
33236
  }, t('content')), React__default.createElement("div", {
33010
- className: "" + styles$9["teacher-selector-wrapper"]
33237
+ className: "" + styles$a["teacher-selector-wrapper"]
33011
33238
  }, React__default.createElement(TinyEditor, {
33012
33239
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33013
33240
  initValue: formikProp.values.content,
@@ -33026,7 +33253,7 @@ var NotificationForm = function NotificationForm(_ref) {
33026
33253
  }, t('type'), " ", React__default.createElement("span", {
33027
33254
  className: "text-danger"
33028
33255
  }, "*")), React__default.createElement("div", {
33029
- className: "" + styles$9["teacher-selector-wrapper"]
33256
+ className: "" + styles$a["teacher-selector-wrapper"]
33030
33257
  }, React__default.createElement(TypeSelector, {
33031
33258
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33032
33259
  optionTypeNotification: notificationTypes,
@@ -33044,7 +33271,7 @@ var NotificationForm = function NotificationForm(_ref) {
33044
33271
  className: "fw-bold mb-2",
33045
33272
  htmlFor: "main-teacher"
33046
33273
  }, t('classes')), React__default.createElement("div", {
33047
- className: "" + styles$9["teacher-selector-wrapper"]
33274
+ className: "" + styles$a["teacher-selector-wrapper"]
33048
33275
  }, React__default.createElement(ClassSelector, {
33049
33276
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33050
33277
  value: classOptions,
@@ -33053,7 +33280,7 @@ var NotificationForm = function NotificationForm(_ref) {
33053
33280
  className: "fw-bold mb-2",
33054
33281
  htmlFor: "main-teacher"
33055
33282
  }, t('students')), React__default.createElement("div", {
33056
- className: "" + styles$9["teacher-selector-wrapper"]
33283
+ className: "" + styles$a["teacher-selector-wrapper"]
33057
33284
  }, React__default.createElement(StudentSelector, {
33058
33285
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33059
33286
  value: studentOptions,
@@ -33934,7 +34161,6 @@ var CompareTypeOptions = [{
33934
34161
  label: "synonym_processing",
33935
34162
  value: QuestionAnswerType.SynonymProcessing
33936
34163
  }];
33937
- var MAX_QUESTIONS_IN_QUESTION_GROUP = 20;
33938
34164
 
33939
34165
  var CustomTextbookTab = function CustomTextbookTab(props) {
33940
34166
  var children = props.children,
@@ -34398,7 +34624,7 @@ var isEqual = function isEqual(prev, next) {
34398
34624
  };
34399
34625
  var ArticleBlock$1 = memo(ArticleBlock, isEqual);
34400
34626
 
34401
- var styles$a = {"question":"_1_ONI","question-article":"_2FdrR","question-title":"_3mgRf","question-label":"_2h0kA","question-input":"_exAl-","question-btn":"_2ksp8"};
34627
+ var styles$b = {"question":"_1_ONI","question-article":"_2FdrR","question-title":"_3mgRf","question-label":"_2h0kA","question-input":"_exAl-","question-btn":"_2ksp8"};
34402
34628
 
34403
34629
  var labelStyle = {
34404
34630
  textOverflow: "ellipsis",
@@ -34424,7 +34650,7 @@ var QuestionCompareType = function QuestionCompareType(_ref) {
34424
34650
  }
34425
34651
  }, React__default.createElement(FormLabel, {
34426
34652
  htmlFor: "compare-type",
34427
- className: "" + styles$a["question-label"],
34653
+ className: "" + styles$b["question-label"],
34428
34654
  sx: _extends({}, labelStyle, {
34429
34655
  width: "unset"
34430
34656
  })
@@ -34468,7 +34694,7 @@ var QuestionOrderName = function QuestionOrderName(_ref) {
34468
34694
  var _useTranslation = useTranslation(),
34469
34695
  t = _useTranslation.t;
34470
34696
  return React__default.createElement(Box, {
34471
- className: styles$a["question-title"] + " me-2 text-nowrap",
34697
+ className: styles$b["question-title"] + " me-2 text-nowrap",
34472
34698
  sx: questionTitleStyle
34473
34699
  }, isMath ? t("problem_number_question", {
34474
34700
  number: questionOrder + 1
@@ -34693,7 +34919,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34693
34919
  var _data$correctAnswers2;
34694
34920
  return React__default.createElement(FormControlLabel, {
34695
34921
  key: i,
34696
- className: styles$a["question-label"] + " w-fit",
34922
+ className: styles$b["question-label"] + " w-fit",
34697
34923
  labelPlacement: "top",
34698
34924
  value: i,
34699
34925
  disabled: disabled,
@@ -34727,7 +34953,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34727
34953
  var _data$correctAnswers4;
34728
34954
  return React__default.createElement(FormControlLabel, {
34729
34955
  key: i,
34730
- className: styles$a["question-label"] + " w-fit",
34956
+ className: styles$b["question-label"] + " w-fit",
34731
34957
  labelPlacement: "top",
34732
34958
  value: i,
34733
34959
  onChange: function onChange(e) {
@@ -34793,7 +35019,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34793
35019
  direction: "row",
34794
35020
  gap: 2
34795
35021
  }, isTextAnswerType && React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
34796
- className: styles$a["question-label"] + " form-label",
35022
+ className: styles$b["question-label"] + " form-label",
34797
35023
  sx: _extends({}, labelStyle, {
34798
35024
  visibility: "hidden"
34799
35025
  })
@@ -34828,7 +35054,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34828
35054
  }
34829
35055
  }, React__default.createElement(FormLabel, {
34830
35056
  htmlFor: "score",
34831
- className: styles$a["question-label"] + " form-label",
35057
+ className: styles$b["question-label"] + " form-label",
34832
35058
  sx: labelStyle
34833
35059
  }, t("score")), React__default.createElement(Field, {
34834
35060
  name: path + ".score",
@@ -34848,7 +35074,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34848
35074
  }
34849
35075
  }, React__default.createElement(FormLabel, {
34850
35076
  htmlFor: "type",
34851
- className: styles$a["question-label"] + " form-label",
35077
+ className: styles$b["question-label"] + " form-label",
34852
35078
  sx: labelStyle
34853
35079
  }, t("type")), React__default.createElement(Field, {
34854
35080
  name: path + ".questionTypeId",
@@ -34873,7 +35099,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34873
35099
  }
34874
35100
  }, React__default.createElement(FormLabel, {
34875
35101
  htmlFor: "question_answer_type",
34876
- className: styles$a["question-label"] + " form-label",
35102
+ className: styles$b["question-label"] + " form-label",
34877
35103
  sx: labelStyle
34878
35104
  }, t("question_answer_type")), React__default.createElement(Field, {
34879
35105
  name: path + ".questionAnswerType",
@@ -35269,8 +35495,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
35269
35495
  var field = _ref2.field;
35270
35496
  return React__default.createElement(QuestionCountSelector, Object.assign({}, field, {
35271
35497
  onChange: handleChangeQuestionCount,
35272
- isDisabled: disabled,
35273
- totalQuestions: MAX_QUESTIONS_IN_QUESTION_GROUP
35498
+ isDisabled: disabled
35274
35499
  }));
35275
35500
  }
35276
35501
  }))), isMath && React__default.createElement(Grid, {
@@ -37509,7 +37734,7 @@ var useTextbookList$1 = function useTextbookList() {
37509
37734
  };
37510
37735
  };
37511
37736
 
37512
- var styles$b = {"action-btn":"_2Kt_g","action-btn--pencil":"_3T_TG","btn-cancel":"_3j6Kd","btn-register":"_XA4vl"};
37737
+ var styles$c = {"action-btn":"_2Kt_g","action-btn--pencil":"_3T_TG","btn-cancel":"_3j6Kd","btn-register":"_XA4vl"};
37513
37738
 
37514
37739
  var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37515
37740
  var t = _ref.t,
@@ -37573,7 +37798,7 @@ var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37573
37798
  borderTop: "1px solid #CED2DA"
37574
37799
  }
37575
37800
  }, React__default.createElement(Button, {
37576
- className: styles$b["btn-cancel"],
37801
+ className: styles$c["btn-cancel"],
37577
37802
  onClick: onClose
37578
37803
  }, React__default.createElement(Typography, {
37579
37804
  sx: {
@@ -37584,7 +37809,7 @@ var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37584
37809
  lineHeight: "16.71px"
37585
37810
  }, t("cancel"))), React__default.createElement(Button, {
37586
37811
  variant: "contained",
37587
- className: styles$b["btn-register"],
37812
+ className: styles$c["btn-register"],
37588
37813
  type: "submit",
37589
37814
  sx: {
37590
37815
  padding: "12px 47px"
@@ -37671,12 +37896,12 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
37671
37896
  title: t("edit")
37672
37897
  }, React__default.createElement(IconButton, {
37673
37898
  color: "default",
37674
- className: styles$b["action-btn"] + " bg-warning text-white me-2",
37899
+ className: styles$c["action-btn"] + " bg-warning text-white me-2",
37675
37900
  onClick: function onClick() {
37676
37901
  return onNavigateDetail(i);
37677
37902
  }
37678
37903
  }, React__default.createElement(HiOutlinePencilAlt, {
37679
- className: styles$b["action-btn--pencil"],
37904
+ className: styles$c["action-btn--pencil"],
37680
37905
  size: 16
37681
37906
  }))), React__default.createElement(Tooltip, {
37682
37907
  title: t("edit")
@@ -37685,7 +37910,7 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
37685
37910
  return handleOpenConfirmDialog(i);
37686
37911
  },
37687
37912
  color: "default",
37688
- className: styles$b["action-btn"] + " bg-danger text-white",
37913
+ className: styles$c["action-btn"] + " bg-danger text-white",
37689
37914
  title: t("delete")
37690
37915
  }, React__default.createElement(FaTrashCan, {
37691
37916
  size: 12
@@ -38484,8 +38709,8 @@ var Header = function Header(_ref) {
38484
38709
  justifyContent: "center",
38485
38710
  alignItems: "center"
38486
38711
  }, React__default.createElement(TheAcademyDropdown, {
38487
- homeAcademyUrl: academyListRoute.path,
38488
- homeUrl: homeRoute.path,
38712
+ homeAcademyUrl: homeRoute.path,
38713
+ homeUrl: academyListRoute.path,
38489
38714
  registerUrl: registerRoute === null || registerRoute === void 0 ? void 0 : registerRoute.path,
38490
38715
  role: role,
38491
38716
  history: history,
@@ -38753,5 +38978,5 @@ var LayoutContext = function LayoutContext(_ref) {
38753
38978
  });else return React__default.createElement(Fragment$1, null, children);
38754
38979
  };
38755
38980
 
38756
- export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnswerCountSelector, ArticleCategorySelector, ArticleDialog, ArticleGroupView, BASE_URL, BRIEF_GRADE_OPTIONS, _ChapterBox as ChapterBox, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonDialog, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEvent, ExamNoteDialog, ExamResultV2, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, GRADE_OPTIONS, Header, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MathJaxContainer, MathTinyEditor, NewNoteButton, NoAcademyHeaders, NotFound, NoteType, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionCountSelector, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, SchoolType$1 as SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, StudentInfoDrawer, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookViewDetail as TextbookDetail, TextbookDrawer, TextbookEditorType, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatPhoneNumber, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, i18n, includePathname, isLocalHost, isTextType, minutesToTimeSpan, pushTo, reset, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, totalSolveTimeCategories, totalTextbookSolveTimeCategories, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
38981
+ export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnswerCountSelector, ArticleCategorySelector, ArticleDialog, ArticleGroupView, AttendanceFormDialog, BASE_URL, BRIEF_GRADE_OPTIONS, _ChapterBox as ChapterBox, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonDialog, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEvent, ExamNoteDialog, ExamResultV2, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, GRADE_OPTIONS, Header, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, LessonTooltip, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MathJaxContainer, MathTinyEditor, NewNoteButton, NoAcademyHeaders, NotFound, NoteType, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionCountSelector, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, SchoolType$1 as SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, StudentInfoDrawer, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookViewDetail as TextbookDetail, TextbookDrawer, TextbookEditorType, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatPhoneNumber, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, i18n, includePathname, isLocalHost, isTextType, minutesToTimeSpan, pushTo, reset, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, totalSolveTimeCategories, totalTextbookSolveTimeCategories, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
38757
38982
  //# sourceMappingURL=index.modern.js.map