touchstudy-core 0.1.166 → 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 (24) 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/PreparedTextbook/configs/constants.d.ts +0 -1
  6. package/dist/containers/StudentInfoDrawer/apiClients/courseService.d.ts +2 -1
  7. package/dist/containers/StudentInfoDrawer/components/Attendance/AttedanceFormDialog.d.ts +13 -0
  8. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceCourseTable.d.ts +2 -3
  9. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceFormBody.d.ts +11 -0
  10. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceFormDialog.d.ts +13 -0
  11. package/dist/containers/StudentInfoDrawer/components/Attendance/CourseAttendanceItem.d.ts +2 -3
  12. package/dist/containers/StudentInfoDrawer/components/Attendance/DrawerAttendanceTab.d.ts +5 -1
  13. package/dist/containers/StudentInfoDrawer/components/Attendance/LessonTooltip.d.ts +2 -1
  14. package/dist/containers/StudentInfoDrawer/configs/fns.d.ts +2 -2
  15. package/dist/containers/StudentInfoDrawer/configs/interfaces.d.ts +3 -3
  16. package/dist/containers/StudentInfoDrawer/configs/types.d.ts +16 -2
  17. package/dist/containers/StudentInfoDrawer/hooks/useDrawerAttendanceTab.d.ts +6 -3
  18. package/dist/containers/StudentInfoDrawer/index.d.ts +5 -1
  19. package/dist/index.css +8 -0
  20. package/dist/index.js +833 -599
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.modern.js +827 -595
  23. package/dist/index.modern.js.map +1 -1
  24. 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,
@@ -14610,7 +14980,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14610
14980
  padding: "24px 24px 40px 24px"
14611
14981
  }, (selectedNote || studentName) && React__default.createElement(Stack, null, React__default.createElement("label", {
14612
14982
  htmlFor: "questions",
14613
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
14983
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14614
14984
  }, t("student_name")), React__default.createElement(Typography$1, {
14615
14985
  sx: {
14616
14986
  fontWeight: 700,
@@ -14619,7 +14989,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14619
14989
  }
14620
14990
  }, selectedNote ? selectedNote.fullName : studentName)), React__default.createElement(Stack, null, React__default.createElement("label", {
14621
14991
  htmlFor: "content-question",
14622
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
14992
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14623
14993
  }, t("incorrect_answer_note_contents")), React__default.createElement(Box, {
14624
14994
  position: "relative",
14625
14995
  display: "flex",
@@ -14653,7 +15023,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14653
15023
  borderTop: "1px solid #CED2DA"
14654
15024
  }
14655
15025
  }, React__default.createElement(MButton, {
14656
- className: styles$3["btn-cancel"],
15026
+ className: styles$4["btn-cancel"],
14657
15027
  onClick: onClose
14658
15028
  }, React__default.createElement(Typography$1, {
14659
15029
  sx: {
@@ -14667,7 +15037,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14667
15037
  sx: {
14668
15038
  bgcolor: styles.dark
14669
15039
  },
14670
- className: styles$3["btn-register"],
15040
+ className: styles$4["btn-register"],
14671
15041
  type: "submit",
14672
15042
  disabled: !values.content.trim().length
14673
15043
  }, React__default.createElement(Typography$1, {
@@ -14776,7 +15146,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14776
15146
  padding: "24px 24px 40px 24px"
14777
15147
  }, React__default.createElement(Stack, null, React__default.createElement("label", {
14778
15148
  htmlFor: "questions",
14779
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
15149
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14780
15150
  }, t("problem_number")), selectedQuestion || selectedNote ? React__default.createElement(Typography$1, {
14781
15151
  sx: {
14782
15152
  fontWeight: 700,
@@ -14803,7 +15173,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14803
15173
  }
14804
15174
  })), React__default.createElement(Stack, null, React__default.createElement("label", {
14805
15175
  htmlFor: "content-question",
14806
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
15176
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14807
15177
  }, t("incorrect_answer_note_contents")), React__default.createElement(Box, {
14808
15178
  position: "relative",
14809
15179
  display: "flex",
@@ -14832,7 +15202,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14832
15202
  borderTop: "1px solid #CED2DA"
14833
15203
  }
14834
15204
  }, React__default.createElement(MButton, {
14835
- className: styles$3["btn-cancel"],
15205
+ className: styles$4["btn-cancel"],
14836
15206
  onClick: onClose
14837
15207
  }, React__default.createElement(Typography$1, {
14838
15208
  sx: {
@@ -14846,7 +15216,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14846
15216
  sx: {
14847
15217
  bgcolor: styles.dark
14848
15218
  },
14849
- className: styles$3["btn-register"],
15219
+ className: styles$4["btn-register"],
14850
15220
  type: "submit",
14851
15221
  disabled: !values.content.trim().length
14852
15222
  }, React__default.createElement(Typography$1, {
@@ -16010,7 +16380,6 @@ var TEXTBOOK_DEFAULT_FILTER = {
16010
16380
  sortColumnName: "Name",
16011
16381
  preparedFilterType: "RecentlySolvedQuestions"
16012
16382
  };
16013
- var FormatDate = "YYYY-MM-DD HH:mm:ss";
16014
16383
 
16015
16384
  var EXAM_SESSION_URL$1 = BASE_URL + "/api/examSession";
16016
16385
  var getExamSessionListApi = function getExamSessionListApi(query) {
@@ -17269,7 +17638,7 @@ Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==t
17269
17638
 
17270
17639
  var ReactApexChart = unwrapExports(reactApexcharts_min);
17271
17640
 
17272
- 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"};
17273
17642
 
17274
17643
  var printStyles = {"page-break":"_35kyG","print-exact-color":"_1PFgl","avoid-break-inside":"_3rPGh"};
17275
17644
 
@@ -17438,7 +17807,7 @@ var AnswerItem = function AnswerItem(_ref) {
17438
17807
  },
17439
17808
  key: data.id
17440
17809
  }, React__default.createElement("div", {
17441
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
17810
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
17442
17811
  }, React__default.createElement("div", {
17443
17812
  className: styles["custom-col-2"],
17444
17813
  style: {
@@ -17448,7 +17817,7 @@ var AnswerItem = function AnswerItem(_ref) {
17448
17817
  padding: "5px 8px"
17449
17818
  }
17450
17819
  }, data.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
17451
- className: styles$4["questionOrder"]
17820
+ className: styles$5["questionOrder"]
17452
17821
  }, t("number_question", {
17453
17822
  number: data.questionOrder + 1
17454
17823
  }))), React__default.createElement("div", {
@@ -17459,11 +17828,11 @@ var AnswerItem = function AnswerItem(_ref) {
17459
17828
  gap: "4px"
17460
17829
  }
17461
17830
  }, data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(Fragment$1, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
17462
- className: styles$4["answerCorrect"]
17831
+ className: styles$5["answerCorrect"]
17463
17832
  }, t("correct"))), !data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(Fragment$1, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
17464
- className: styles$4["answerIncorrect"]
17833
+ className: styles$5["answerIncorrect"]
17465
17834
  }, t("incorrect"))), data.selectedAnswers === "" && React__default.createElement(Fragment$1, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
17466
- className: styles$4["answerNograss"]
17835
+ className: styles$5["answerNograss"]
17467
17836
  }, t("no_solution")))), React__default.createElement("div", {
17468
17837
  className: styles["custom-col-2"],
17469
17838
  style: {
@@ -17474,12 +17843,12 @@ var AnswerItem = function AnswerItem(_ref) {
17474
17843
  style: {
17475
17844
  margin: 0
17476
17845
  },
17477
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
17846
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
17478
17847
  }, formatTimeSecond(Math.round(data.duration), t)) : React__default.createElement("p", {
17479
17848
  style: {
17480
17849
  margin: 0
17481
17850
  },
17482
- className: styles$4["answerNoTime"]
17851
+ className: styles$5["answerNoTime"]
17483
17852
  }, t("no_time"))), React__default.createElement("div", {
17484
17853
  className: styles["custom-col-2"],
17485
17854
  style: {
@@ -17490,13 +17859,13 @@ var AnswerItem = function AnswerItem(_ref) {
17490
17859
  style: {
17491
17860
  margin: 0
17492
17861
  },
17493
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
17862
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
17494
17863
  }, formatTimeDiff(data.duration, data.topDuration, t)) : React__default.createElement("p", {
17495
17864
  style: {
17496
17865
  margin: 0,
17497
17866
  textAlign: "center"
17498
17867
  },
17499
- className: styles$4["answerNoTime"]
17868
+ className: styles$5["answerNoTime"]
17500
17869
  }, "-")), React__default.createElement("div", {
17501
17870
  className: styles["custom-col-2"],
17502
17871
  style: {
@@ -17507,12 +17876,12 @@ var AnswerItem = function AnswerItem(_ref) {
17507
17876
  style: {
17508
17877
  margin: 0
17509
17878
  },
17510
- className: styles$4["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$4)
17879
+ className: styles$5["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$5)
17511
17880
  }, data.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
17512
17881
  style: {
17513
17882
  margin: 0
17514
17883
  },
17515
- className: styles$4["answerNoTime"]
17884
+ className: styles$5["answerNoTime"]
17516
17885
  }, t("no_time"))), isStudent && !isLearningSpace && React__default.createElement(Box, {
17517
17886
  className: styles["custom-col-2"]
17518
17887
  }, openContextMenu ? React__default.createElement(ClickAwayListener, {
@@ -17579,7 +17948,7 @@ var MyAnswer = function MyAnswer(_ref) {
17579
17948
  }));
17580
17949
  };
17581
17950
  return React__default.createElement("div", {
17582
- className: "" + styles$4["myanswer"]
17951
+ className: "" + styles$5["myanswer"]
17583
17952
  }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
17584
17953
  return React__default.createElement("div", {
17585
17954
  key: item.category.id
@@ -17589,7 +17958,7 @@ var MyAnswer = function MyAnswer(_ref) {
17589
17958
  bgcolor: "#F9FAFB",
17590
17959
  flexDirection: "row",
17591
17960
  padding: "12px",
17592
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
17961
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
17593
17962
  }, React__default.createElement("div", {
17594
17963
  className: styles["custom-col-2"],
17595
17964
  style: {
@@ -17668,7 +18037,7 @@ var MyAnswer = function MyAnswer(_ref) {
17668
18037
  alignItems: "center"
17669
18038
  }
17670
18039
  }, t("total_correct_rate")))), React__default.createElement("div", {
17671
- className: styles$4["titleMyAnswer2"]
18040
+ className: styles$5["titleMyAnswer2"]
17672
18041
  }, React__default.createElement(Typography, {
17673
18042
  sx: {
17674
18043
  color: "#97A1AF",
@@ -17681,7 +18050,7 @@ var MyAnswer = function MyAnswer(_ref) {
17681
18050
  fontWeight: 700
17682
18051
  }
17683
18052
  }, item.category.name))), React__default.createElement("div", {
17684
- className: styles$4["contentMyAnswer"]
18053
+ className: styles$5["contentMyAnswer"]
17685
18054
  }, React__default.createElement(ListView, {
17686
18055
  data: item.questions,
17687
18056
  render: function render(question, index) {
@@ -17797,7 +18166,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17797
18166
  borderTop: index < effectSize.length - 1 ? "1px solid transparent" : undefined
17798
18167
  }
17799
18168
  }, React__default.createElement("td", {
17800
- className: styles$4["tdcolumn1"]
18169
+ className: styles$5["tdcolumn1"]
17801
18170
  }, t("problem"), " ", item.questionOrder + 1), React__default.createElement("td", {
17802
18171
  style: {
17803
18172
  textAlign: "center",
@@ -17805,9 +18174,9 @@ var CompareGrass = function CompareGrass(_ref2) {
17805
18174
  maxWidth: "30%"
17806
18175
  }
17807
18176
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
17808
- className: styles$4["tdcolumn3"],
18177
+ className: styles$5["tdcolumn3"],
17809
18178
  style: {
17810
- 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,
17811
18180
  maxWidth: "30%"
17812
18181
  }
17813
18182
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
@@ -17818,7 +18187,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17818
18187
  }, renderAnswer(item.questionAnswerType, item.mostSelectedAnswers)), React__default.createElement("td", {
17819
18188
  className: "" + printStyles["avoid-break-inside"]
17820
18189
  }, React__default.createElement("div", {
17821
- className: styles$4["classification"] + " " + printStyles["avoid-break-inside"]
18190
+ className: styles$5["classification"] + " " + printStyles["avoid-break-inside"]
17822
18191
  }, item.problemCategories.map(function (problem, index) {
17823
18192
  return React__default.createElement(Stack, {
17824
18193
  flexDirection: "row",
@@ -17861,11 +18230,11 @@ var CompareGrass = function CompareGrass(_ref2) {
17861
18230
  });
17862
18231
  };
17863
18232
  return React__default.createElement("div", {
17864
- className: "" + styles$4["compareGrass"]
18233
+ className: "" + styles$5["compareGrass"]
17865
18234
  }, React__default.createElement("div", {
17866
- className: styles$4["tableCompareGrass"]
18235
+ className: styles$5["tableCompareGrass"]
17867
18236
  }, React__default.createElement("div", {
17868
- className: styles$4["table-responsive"]
18237
+ className: styles$5["table-responsive"]
17869
18238
  }, React__default.createElement(Table, {
17870
18239
  style: {
17871
18240
  width: "100%"
@@ -17877,7 +18246,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17877
18246
  },
17878
18247
  className: "" + printStyles["avoid-break-inside"]
17879
18248
  }, React__default.createElement("tr", null, React__default.createElement("th", {
17880
- className: styles$4["thcolumn1"]
18249
+ className: styles$5["thcolumn1"]
17881
18250
  }, t("problem_number")), React__default.createElement("th", {
17882
18251
  style: {
17883
18252
  textAlign: "center"
@@ -17958,37 +18327,37 @@ var TrickyProblem = function TrickyProblem(_ref) {
17958
18327
  });
17959
18328
  var renderProblems = function renderProblems() {
17960
18329
  return React__default.createElement(Fragment$1, null, React__default.createElement("div", {
17961
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
18330
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
17962
18331
  }, React__default.createElement(iconX, null), React__default.createElement("span", null, t("incorrect_problem_among_the_starred_problems"))), React__default.createElement("div", {
17963
- className: styles$4["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
18332
+ className: styles$5["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
17964
18333
  }, !!(inCorrectQuestions !== null && inCorrectQuestions !== void 0 && inCorrectQuestions.length) && inCorrectQuestions.map(function (question) {
17965
18334
  return React__default.createElement("span", {
17966
18335
  key: question.id,
17967
- className: styles$4["question"]
18336
+ className: styles$5["question"]
17968
18337
  }, t("number_question", {
17969
18338
  number: question.questionOrder + 1
17970
18339
  }));
17971
18340
  }), !(data !== null && data !== void 0 && data.questions.length) && React__default.createElement("div", {
17972
- className: styles$4["noData"]
18341
+ className: styles$5["noData"]
17973
18342
  }, t("no_data"))), React__default.createElement("div", {
17974
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
18343
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
17975
18344
  }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, t("correct_problem_among_the_starred_problems"))), React__default.createElement("div", {
17976
- className: styles$4["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
18345
+ className: styles$5["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
17977
18346
  }, !!(correctQuestions !== null && correctQuestions !== void 0 && correctQuestions.length) && correctQuestions.map(function (question) {
17978
18347
  return React__default.createElement("div", {
17979
18348
  key: question.id,
17980
- className: styles$4["question"]
18349
+ className: styles$5["question"]
17981
18350
  }, t("number_question", {
17982
18351
  number: question.questionOrder + 1
17983
18352
  }));
17984
18353
  }), !(data !== null && data !== void 0 && data.questions.length) && React__default.createElement("div", {
17985
- className: styles$4["noData"]
18354
+ className: styles$5["noData"]
17986
18355
  }, t("no_data"))));
17987
18356
  };
17988
18357
  return React__default.createElement("div", {
17989
- className: "" + styles$4["wrapperProblem"]
18358
+ className: "" + styles$5["wrapperProblem"]
17990
18359
  }, React__default.createElement("div", {
17991
- 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"]),
17992
18361
  onClick: function onClick() {
17993
18362
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
17994
18363
  }
@@ -18000,10 +18369,10 @@ var TrickyProblem = function TrickyProblem(_ref) {
18000
18369
  }
18001
18370
  }, t("tricky_problems")), isOpen ? React__default.createElement(IoChevronUp, {
18002
18371
  size: 24,
18003
- color: styles$4.gray_300
18372
+ color: styles$5.gray_300
18004
18373
  }) : React__default.createElement(IoChevronDown, {
18005
18374
  size: 24,
18006
- color: styles$4.gray_300
18375
+ color: styles$5.gray_300
18007
18376
  })), isOpen && React__default.createElement(Fragment$1, null, renderProblems()));
18008
18377
  };
18009
18378
 
@@ -18029,9 +18398,9 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18029
18398
  borderBottom: "1px solid #e4e7ec"
18030
18399
  } : {}
18031
18400
  }, React__default.createElement("td", {
18032
- className: styles$4["tdcolumn1"],
18401
+ className: styles$5["tdcolumn1"],
18033
18402
  style: {
18034
- color: styles$4.gray_900,
18403
+ color: styles$5.gray_900,
18035
18404
  fontSize: "13px",
18036
18405
  fontWeight: 500
18037
18406
  }
@@ -18040,22 +18409,22 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18040
18409
  })), React__default.createElement("td", {
18041
18410
  style: {
18042
18411
  textAlign: "center",
18043
- color: styles$4.gray_700,
18412
+ color: styles$5.gray_700,
18044
18413
  fontSize: "13px",
18045
18414
  fontWeight: 500
18046
18415
  }
18047
18416
  }, item.duration ? formatTimeSecond(item.duration, t) : ""), React__default.createElement("td", {
18048
- className: styles$4["tdcolumn3"],
18417
+ className: styles$5["tdcolumn3"],
18049
18418
  style: {
18050
18419
  textAlign: "center",
18051
- color: styles$4.gray_700,
18420
+ color: styles$5.gray_700,
18052
18421
  fontSize: "13px",
18053
18422
  fontWeight: 500
18054
18423
  }
18055
18424
  }, item.topDuration ? formatTimeSecond(item.topDuration, t) : ""), React__default.createElement("td", {
18056
18425
  style: {
18057
18426
  textAlign: "center",
18058
- color: isBetter ? styles$4.dark : styles$4.red_900,
18427
+ color: isBetter ? styles$5.dark : styles$5.red_900,
18059
18428
  fontSize: "13px",
18060
18429
  fontWeight: 600
18061
18430
  }
@@ -18071,15 +18440,15 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18071
18440
  return React__default.createElement(Stack, {
18072
18441
  direction: "row",
18073
18442
  flexWrap: "nowrap",
18074
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
18443
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
18075
18444
  key: item.id
18076
18445
  }, React__default.createElement(Box, {
18077
18446
  width: "160px",
18078
- className: styles$4["contentColumn1"]
18447
+ className: styles$5["contentColumn1"]
18079
18448
  }, React__default.createElement(Stack, null, React__default.createElement("div", null, React__default.createElement("span", {
18080
- className: styles$4["span1"]
18449
+ className: styles$5["span1"]
18081
18450
  }, t("problem")), React__default.createElement("span", {
18082
- className: styles$4["span2"]
18451
+ className: styles$5["span2"]
18083
18452
  }, t("number_question", {
18084
18453
  number: item.questionOrder + 1
18085
18454
  }))), (category === null || category === void 0 ? void 0 : category.name) && React__default.createElement(Typography, {
@@ -18090,22 +18459,22 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18090
18459
  textAlign: "center"
18091
18460
  }
18092
18461
  }, category.name))), React__default.createElement(Box, {
18093
- className: styles$4["contentColumn2"]
18462
+ className: styles$5["contentColumn2"]
18094
18463
  }, React__default.createElement("div", null, React__default.createElement("span", {
18095
- className: styles$4["span1"]
18464
+ className: styles$5["span1"]
18096
18465
  }, t("my_time")), React__default.createElement("span", {
18097
- className: styles$4["span2"]
18466
+ className: styles$5["span2"]
18098
18467
  }, t("top_time"))), React__default.createElement("div", null, React__default.createElement("span", {
18099
- className: styles$4["duration"]
18468
+ className: styles$5["duration"]
18100
18469
  }, formatTimeSecond(item.duration, t)), React__default.createElement("span", {
18101
- className: styles$4["topDuration"]
18470
+ className: styles$5["topDuration"]
18102
18471
  }, formatTimeSecond(item.topDuration, t)))));
18103
18472
  });
18104
18473
  };
18105
18474
  return React__default.createElement("div", {
18106
- className: "" + styles$4["wrapperProblem"]
18475
+ className: "" + styles$5["wrapperProblem"]
18107
18476
  }, React__default.createElement("div", {
18108
- 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"]),
18109
18478
  onClick: function onClick() {
18110
18479
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
18111
18480
  }
@@ -18121,20 +18490,20 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18121
18490
  }
18122
18491
  }, t("problems_that_took_a_long_time")), React__default.createElement(Typography, {
18123
18492
  sx: {
18124
- color: styles$4.gray_300,
18493
+ color: styles$5.gray_300,
18125
18494
  fontSize: "11px",
18126
18495
  fontWeight: 500
18127
18496
  }
18128
18497
  }, t("protracted_problem_detail"))), isOpen ? React__default.createElement(IoChevronUp, {
18129
18498
  size: 24,
18130
- color: styles$4.gray_300
18499
+ color: styles$5.gray_300
18131
18500
  }) : React__default.createElement(IoChevronDown, {
18132
18501
  size: 24,
18133
- color: styles$4.gray_300
18502
+ color: styles$5.gray_300
18134
18503
  })), isOpen && React__default.createElement(Fragment$1, null, data.length ? React__default.createElement("div", {
18135
- className: styles$4["tableCompareGrass"]
18504
+ className: styles$5["tableCompareGrass"]
18136
18505
  }, React__default.createElement("div", {
18137
- className: styles$4["table-responsive"]
18506
+ className: styles$5["table-responsive"]
18138
18507
  }, React__default.createElement(Table, {
18139
18508
  style: {
18140
18509
  width: "100%",
@@ -18146,7 +18515,7 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18146
18515
  },
18147
18516
  className: "" + printStyles["avoid-break-inside"]
18148
18517
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18149
- className: styles$4["thcolumn1"]
18518
+ className: styles$5["thcolumn1"]
18150
18519
  }, t("problem_number")), React__default.createElement("th", {
18151
18520
  style: {
18152
18521
  textAlign: "center"
@@ -18160,7 +18529,7 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18160
18529
  textAlign: "center"
18161
18530
  }
18162
18531
  }, t("time_comparison")))), React__default.createElement("tbody", null, isMyStoryStudent ? renderTableBody(data) : renderQuestions(data))))) : React__default.createElement("div", {
18163
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18532
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18164
18533
  }, t("no_data"))));
18165
18534
  };
18166
18535
 
@@ -18232,39 +18601,39 @@ var Vulnerable = function Vulnerable(_ref) {
18232
18601
  borderBottom: index < data.length - 1 ? "1px solid #e4e7ec" : undefined
18233
18602
  }
18234
18603
  }, React__default.createElement("td", {
18235
- className: styles$4["tdcolumn1"],
18604
+ className: styles$5["tdcolumn1"],
18236
18605
  style: {
18237
- color: styles$4.gray_900,
18606
+ color: styles$5.gray_900,
18238
18607
  fontSize: "13px",
18239
18608
  fontWeight: 600
18240
18609
  }
18241
18610
  }, React__default.createElement(Typography, {
18242
- color: styles$4.gray_900,
18611
+ color: styles$5.gray_900,
18243
18612
  fontSize: "13px",
18244
18613
  fontWeight: 600
18245
18614
  }, t("problem") + " " + (item.questionOrder + 1))), React__default.createElement("td", {
18246
18615
  style: {
18247
18616
  textAlign: "center",
18248
- color: styles$4.dark,
18617
+ color: styles$5.dark,
18249
18618
  fontSize: "13px",
18250
18619
  fontWeight: 600
18251
18620
  }
18252
18621
  }, item.overallCorrectRate.toFixed(2) ? item.overallCorrectRate.toFixed(2) + "%" : ""), React__default.createElement("td", {
18253
- className: styles$4["tdcolumn3"],
18622
+ className: styles$5["tdcolumn3"],
18254
18623
  style: {
18255
- color: styles$4.red_900,
18624
+ color: styles$5.red_900,
18256
18625
  fontSize: "13px",
18257
18626
  fontWeight: 500
18258
18627
  }
18259
18628
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
18260
18629
  style: {
18261
18630
  textAlign: "center",
18262
- color: styles$4.gray_700
18631
+ color: styles$5.gray_700
18263
18632
  }
18264
18633
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
18265
18634
  style: {
18266
18635
  textAlign: "center",
18267
- color: styles$4.gray_700
18636
+ color: styles$5.gray_700
18268
18637
  }
18269
18638
  }, item.category.name ? item.category.name : ""));
18270
18639
  });
@@ -18275,18 +18644,18 @@ var Vulnerable = function Vulnerable(_ref) {
18275
18644
  return React__default.createElement(Stack, {
18276
18645
  direction: "row",
18277
18646
  flexWrap: "nowrap",
18278
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
18647
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
18279
18648
  key: question.id
18280
18649
  }, React__default.createElement(Box, {
18281
18650
  width: "160px",
18282
- className: styles$4["contentColumn1"]
18651
+ className: styles$5["contentColumn1"]
18283
18652
  }, React__default.createElement(Stack, {
18284
18653
  direction: "column",
18285
18654
  gap: 1
18286
18655
  }, React__default.createElement("div", null, React__default.createElement("span", {
18287
- className: styles$4["span1"]
18656
+ className: styles$5["span1"]
18288
18657
  }, t("problem_number")), React__default.createElement("span", {
18289
- className: styles$4["span2"]
18658
+ className: styles$5["span2"]
18290
18659
  }, t("number_question", {
18291
18660
  number: question.questionOrder + 1
18292
18661
  }))), ((_question$category = question.category) === null || _question$category === void 0 ? void 0 : _question$category.name) && React__default.createElement(Typography, {
@@ -18297,18 +18666,18 @@ var Vulnerable = function Vulnerable(_ref) {
18297
18666
  textAlign: "center"
18298
18667
  }
18299
18668
  }, question.category.name))), React__default.createElement(Box, {
18300
- className: styles$4["contentColumn2"],
18669
+ className: styles$5["contentColumn2"],
18301
18670
  sx: {
18302
18671
  alignItems: "center"
18303
18672
  }
18304
18673
  }, React__default.createElement("div", null, React__default.createElement("span", {
18305
- className: styles$4["span1"]
18674
+ className: styles$5["span1"]
18306
18675
  }, t("total_correct_rate")), React__default.createElement("span", {
18307
- className: styles$4["span2"]
18676
+ className: styles$5["span2"]
18308
18677
  }, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
18309
- className: styles$4["overallCorrectRate"]
18678
+ className: styles$5["overallCorrectRate"]
18310
18679
  }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
18311
- className: styles$4["answer"]
18680
+ className: styles$5["answer"]
18312
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)))));
18313
18682
  });
18314
18683
  };
@@ -18316,9 +18685,9 @@ var Vulnerable = function Vulnerable(_ref) {
18316
18685
  changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
18317
18686
  };
18318
18687
  return React__default.createElement("div", {
18319
- className: "" + styles$4["wrapperProblem"]
18688
+ className: "" + styles$5["wrapperProblem"]
18320
18689
  }, React__default.createElement("div", {
18321
- 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"]),
18322
18691
  onClick: handleToggle
18323
18692
  }, React__default.createElement(Stack, {
18324
18693
  flexDirection: "row",
@@ -18332,20 +18701,20 @@ var Vulnerable = function Vulnerable(_ref) {
18332
18701
  }
18333
18702
  }, t("issues_vulnerable")), React__default.createElement(Typography, {
18334
18703
  sx: {
18335
- color: styles$4.gray_300,
18704
+ color: styles$5.gray_300,
18336
18705
  fontSize: "11px",
18337
18706
  fontWeight: 500
18338
18707
  }
18339
18708
  }, t("vulnerable_detail"))), isOpen ? React__default.createElement(IoChevronUp, {
18340
18709
  size: 24,
18341
- color: styles$4.gray_300
18710
+ color: styles$5.gray_300
18342
18711
  }) : React__default.createElement(IoChevronDown, {
18343
18712
  size: 24,
18344
- color: styles$4.gray_300
18713
+ color: styles$5.gray_300
18345
18714
  })), isOpen && React__default.createElement(Fragment$1, null, incorrectQuestions.length ? React__default.createElement("div", {
18346
- className: styles$4["tableCompareGrass"]
18715
+ className: styles$5["tableCompareGrass"]
18347
18716
  }, React__default.createElement("div", {
18348
- className: styles$4["table-responsive"]
18717
+ className: styles$5["table-responsive"]
18349
18718
  }, isMyStoryStudent && React__default.createElement(Table, {
18350
18719
  style: {
18351
18720
  width: "100%",
@@ -18357,7 +18726,7 @@ var Vulnerable = function Vulnerable(_ref) {
18357
18726
  },
18358
18727
  className: "" + printStyles["avoid-break-inside"]
18359
18728
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18360
- className: styles$4["thcolumn1"]
18729
+ className: styles$5["thcolumn1"]
18361
18730
  }, t("problem_number")), React__default.createElement("th", {
18362
18731
  style: {
18363
18732
  textAlign: "center"
@@ -18375,7 +18744,7 @@ var Vulnerable = function Vulnerable(_ref) {
18375
18744
  textAlign: "center"
18376
18745
  }
18377
18746
  }, t("_category")))), React__default.createElement("tbody", null, renderTableBody(incorrectQuestions))), !isMyStoryStudent && renderQuestions(incorrectQuestions))) : React__default.createElement("div", {
18378
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18747
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18379
18748
  }, t("no_data"))));
18380
18749
  };
18381
18750
 
@@ -18426,24 +18795,24 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18426
18795
  borderBottom: index < data.length - 1 ? "1px solid #e4e7ec" : undefined
18427
18796
  }
18428
18797
  }, React__default.createElement("td", {
18429
- className: styles$4["tdcolumn1"],
18798
+ className: styles$5["tdcolumn1"],
18430
18799
  style: {
18431
- color: styles$4.gray_900,
18800
+ color: styles$5.gray_900,
18432
18801
  fontSize: "13px",
18433
18802
  fontWeight: 600
18434
18803
  }
18435
18804
  }, item.name), React__default.createElement("td", {
18436
18805
  style: {
18437
18806
  textAlign: "center",
18438
- color: styles$4.gray_900,
18807
+ color: styles$5.gray_900,
18439
18808
  fontSize: "13px",
18440
18809
  fontWeight: 600
18441
18810
  }
18442
18811
  }, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("td", {
18443
- className: styles$4["tdcolumn3"],
18812
+ className: styles$5["tdcolumn3"],
18444
18813
  style: {
18445
18814
  textAlign: "center",
18446
- color: styles$4.gray_700,
18815
+ color: styles$5.gray_700,
18447
18816
  fontSize: "13px",
18448
18817
  fontWeight: 500
18449
18818
  }
@@ -18452,7 +18821,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18452
18821
  }) : ""), React__default.createElement("td", {
18453
18822
  style: {
18454
18823
  textAlign: "center",
18455
- color: styles$4.gray_700,
18824
+ color: styles$5.gray_700,
18456
18825
  fontSize: "13px",
18457
18826
  fontWeight: 500
18458
18827
  }
@@ -18461,7 +18830,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18461
18830
  }) : ""), React__default.createElement("td", {
18462
18831
  style: {
18463
18832
  textAlign: "center",
18464
- color: styles$4.gray_700,
18833
+ color: styles$5.gray_700,
18465
18834
  fontSize: "13px",
18466
18835
  fontWeight: 500
18467
18836
  }
@@ -18474,26 +18843,26 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18474
18843
  left: item.percentageAmongStudents + "%"
18475
18844
  };
18476
18845
  return React__default.createElement("div", {
18477
- className: styles$4["contentProblem"] + " " + printStyles["avoid-break-inside"],
18846
+ className: styles$5["contentProblem"] + " " + printStyles["avoid-break-inside"],
18478
18847
  key: item.id
18479
18848
  }, React__default.createElement("div", {
18480
- className: styles$4["labelProblem"]
18849
+ className: styles$5["labelProblem"]
18481
18850
  }, React__default.createElement("span", {
18482
- className: styles$4["name"]
18851
+ className: styles$5["name"]
18483
18852
  }, item.name), React__default.createElement("div", {
18484
- className: styles$4["percent"]
18853
+ className: styles$5["percent"]
18485
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", {
18486
- className: styles$4["slider"]
18855
+ className: styles$5["slider"]
18487
18856
  }, React__default.createElement("div", null, React__default.createElement("span", {
18488
- className: styles$4["track"],
18857
+ className: styles$5["track"],
18489
18858
  style: trackStyle
18490
18859
  }))));
18491
18860
  });
18492
18861
  };
18493
18862
  return React__default.createElement("div", {
18494
- className: "" + styles$4["wrapperProblem"]
18863
+ className: "" + styles$5["wrapperProblem"]
18495
18864
  }, React__default.createElement("div", {
18496
- 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"]),
18497
18866
  onClick: function onClick() {
18498
18867
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : ProblemKey.GradesByTerritory);
18499
18868
  }
@@ -18505,14 +18874,14 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18505
18874
  }
18506
18875
  }, t("grades_by_area")), isOpen ? React__default.createElement(IoChevronUp, {
18507
18876
  size: 24,
18508
- color: styles$4.gray_300
18877
+ color: styles$5.gray_300
18509
18878
  }) : React__default.createElement(IoChevronDown, {
18510
18879
  size: 24,
18511
- color: styles$4.gray_300
18880
+ color: styles$5.gray_300
18512
18881
  })), isOpen && React__default.createElement(Fragment$1, null, formattedData.length ? React__default.createElement("div", {
18513
- className: styles$4["tableCompareGrass"]
18882
+ className: styles$5["tableCompareGrass"]
18514
18883
  }, React__default.createElement("div", {
18515
- className: styles$4["table-responsive"]
18884
+ className: styles$5["table-responsive"]
18516
18885
  }, isMyStoryStudent && React__default.createElement(Table, {
18517
18886
  style: {
18518
18887
  width: "100%",
@@ -18524,7 +18893,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18524
18893
  },
18525
18894
  className: "" + printStyles["avoid-break-inside"]
18526
18895
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18527
- className: styles$4["thcolumn1"]
18896
+ className: styles$5["thcolumn1"]
18528
18897
  }, t("categories")), React__default.createElement("th", {
18529
18898
  style: {
18530
18899
  textAlign: "center"
@@ -18542,7 +18911,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18542
18911
  textAlign: "center"
18543
18912
  }
18544
18913
  }, t("total_solve_time")))), React__default.createElement("tbody", null, renderTableBody(formattedData))), !isMyStoryStudent && renderCategories(formattedData))) : React__default.createElement("div", {
18545
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18914
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18546
18915
  }, t("no_data"))));
18547
18916
  };
18548
18917
 
@@ -18652,7 +19021,7 @@ function CreateNewQuestionDialog(_ref) {
18652
19021
  padding: "24px 24px 40px 24px"
18653
19022
  }, React__default.createElement(Stack, null, React__default.createElement("label", {
18654
19023
  htmlFor: "questions",
18655
- className: styles["form-label"] + " " + styles$4["form-label-dialog"]
19024
+ className: styles["form-label"] + " " + styles$5["form-label-dialog"]
18656
19025
  }, t("questions_to_ask")), React__default.createElement(Field, {
18657
19026
  id: "questions",
18658
19027
  name: "questionId",
@@ -18671,7 +19040,7 @@ function CreateNewQuestionDialog(_ref) {
18671
19040
  }
18672
19041
  })), React__default.createElement(Stack, null, React__default.createElement("label", {
18673
19042
  htmlFor: "content-question",
18674
- className: styles["form-label"] + " " + styles$4["form-label-dialog"]
19043
+ className: styles["form-label"] + " " + styles$5["form-label-dialog"]
18675
19044
  }, t("question_content")), React__default.createElement(Box, {
18676
19045
  position: "relative",
18677
19046
  display: "flex",
@@ -18699,7 +19068,7 @@ function CreateNewQuestionDialog(_ref) {
18699
19068
  fontWeight: 500,
18700
19069
  fontSize: "10px",
18701
19070
  lineHeight: "11.93px",
18702
- 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
18703
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, {
18704
19073
  sx: {
18705
19074
  display: "flex",
@@ -18709,7 +19078,7 @@ function CreateNewQuestionDialog(_ref) {
18709
19078
  borderTop: "1px solid #CED2DA"
18710
19079
  }
18711
19080
  }, React__default.createElement(MButton, {
18712
- className: styles$4["btn-cancel"],
19081
+ className: styles$5["btn-cancel"],
18713
19082
  onClick: onCloseCreateQuestion
18714
19083
  }, React__default.createElement(Typography$1, {
18715
19084
  sx: {
@@ -18723,7 +19092,7 @@ function CreateNewQuestionDialog(_ref) {
18723
19092
  sx: {
18724
19093
  bgcolor: styles.dark
18725
19094
  },
18726
- className: styles$4["btn-register"],
19095
+ className: styles$5["btn-register"],
18727
19096
  type: "submit",
18728
19097
  disabled: !values.content.trim().length
18729
19098
  }, React__default.createElement(Typography$1, {
@@ -18779,18 +19148,18 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
18779
19148
  color: "#414E62"
18780
19149
  }
18781
19150
  }, t("article_number"), " ", timelyOrderQuestion.article), React__default.createElement("div", {
18782
- className: styles$4["compareChart"] + " " + printStyles["avoid-break-inside"]
19151
+ className: styles$5["compareChart"] + " " + printStyles["avoid-break-inside"]
18783
19152
  }, React__default.createElement("div", {
18784
- className: "" + styles$4["prevChart"]
19153
+ className: "" + styles$5["prevChart"]
18785
19154
  }), React__default.createElement("div", {
18786
- className: styles$4["chart"] + " sr-line-chart"
19155
+ className: styles$5["chart"] + " sr-line-chart"
18787
19156
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18788
19157
  ref: chartRef,
18789
19158
  height: 389,
18790
19159
  options: chartOptions,
18791
19160
  series: series
18792
19161
  }))), React__default.createElement("div", {
18793
- className: "" + styles$4["nextChart"]
19162
+ className: "" + styles$5["nextChart"]
18794
19163
  })));
18795
19164
  };
18796
19165
 
@@ -18829,7 +19198,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18829
19198
  },
18830
19199
  key: data.id
18831
19200
  }, React__default.createElement("div", {
18832
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
19201
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
18833
19202
  }, React__default.createElement("div", {
18834
19203
  className: styles["custom-col-2"],
18835
19204
  style: {
@@ -18839,7 +19208,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18839
19208
  padding: "5px 8px"
18840
19209
  }
18841
19210
  }, data.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
18842
- className: styles$4["questionOrder"]
19211
+ className: styles$5["questionOrder"]
18843
19212
  }, t("number_question", {
18844
19213
  number: data.questionOrder + 1
18845
19214
  }))), React__default.createElement("div", {
@@ -18850,11 +19219,11 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18850
19219
  gap: "4px"
18851
19220
  }
18852
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", {
18853
- className: styles$4["answerCorrect"]
19222
+ className: styles$5["answerCorrect"]
18854
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", {
18855
- className: styles$4["answerIncorrect"]
19224
+ className: styles$5["answerIncorrect"]
18856
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", {
18857
- className: styles$4["answerNograss"]
19226
+ className: styles$5["answerNograss"]
18858
19227
  }, t("no_solution")))), React__default.createElement("div", {
18859
19228
  className: styles["custom-col-2"],
18860
19229
  style: {
@@ -18865,12 +19234,12 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18865
19234
  style: {
18866
19235
  margin: 0
18867
19236
  },
18868
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
19237
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
18869
19238
  }, formatTimeSecond(Math.round(data.duration), t)) : React__default.createElement("p", {
18870
19239
  style: {
18871
19240
  margin: 0
18872
19241
  },
18873
- className: styles$4["answerNoTime"]
19242
+ className: styles$5["answerNoTime"]
18874
19243
  }, t("no_time"))), React__default.createElement("div", {
18875
19244
  className: styles["custom-col-2"],
18876
19245
  style: {
@@ -18881,13 +19250,13 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18881
19250
  style: {
18882
19251
  margin: 0
18883
19252
  },
18884
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
19253
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
18885
19254
  }, formatTimeDiff(data.duration, data.topDuration, t)) : React__default.createElement("p", {
18886
19255
  style: {
18887
19256
  margin: 0,
18888
19257
  textAlign: "center"
18889
19258
  },
18890
- className: styles$4["answerNoTime"]
19259
+ className: styles$5["answerNoTime"]
18891
19260
  }, "-")), React__default.createElement("div", {
18892
19261
  className: styles["custom-col-2"],
18893
19262
  style: {
@@ -18898,12 +19267,12 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18898
19267
  style: {
18899
19268
  margin: 0
18900
19269
  },
18901
- className: styles$4["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$4)
19270
+ className: styles$5["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$5)
18902
19271
  }, data.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
18903
19272
  style: {
18904
19273
  margin: 0
18905
19274
  },
18906
- className: styles$4["answerNoTime"]
19275
+ className: styles$5["answerNoTime"]
18907
19276
  }, t("no_time"))), isStudent && !isLearningSpace && React__default.createElement(Box, {
18908
19277
  className: styles["custom-col-2"]
18909
19278
  }, openContextMenu ? React__default.createElement(ClickAwayListener, {
@@ -18975,7 +19344,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
18975
19344
  }));
18976
19345
  };
18977
19346
  return React__default.createElement("div", {
18978
- className: "" + styles$4["myanswer"]
19347
+ className: "" + styles$5["myanswer"]
18979
19348
  }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
18980
19349
  var _item$categories;
18981
19350
  return React__default.createElement("div", {
@@ -18986,7 +19355,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
18986
19355
  bgcolor: "#F9FAFB",
18987
19356
  flexDirection: "row",
18988
19357
  padding: "12px",
18989
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
19358
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
18990
19359
  }, React__default.createElement("div", {
18991
19360
  className: styles["custom-col-2"],
18992
19361
  style: {
@@ -19065,7 +19434,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
19065
19434
  alignItems: "center"
19066
19435
  }
19067
19436
  }, t("total_correct_rate")))), React__default.createElement("div", {
19068
- className: styles$4["titleMyAnswer2"]
19437
+ className: styles$5["titleMyAnswer2"]
19069
19438
  }, React__default.createElement(Typography, {
19070
19439
  sx: {
19071
19440
  color: "#97A1AF",
@@ -19080,7 +19449,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
19080
19449
  }, (_item$categories = item.categories) === null || _item$categories === void 0 ? void 0 : _item$categories.map(function (i) {
19081
19450
  return i.name;
19082
19451
  }).join(" / ")))), React__default.createElement("div", {
19083
- className: styles$4["contentMyAnswer"]
19452
+ className: styles$5["contentMyAnswer"]
19084
19453
  }, React__default.createElement(ListView, {
19085
19454
  data: item.questions,
19086
19455
  render: function render(question, index) {
@@ -19110,24 +19479,24 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19110
19479
  borderBottom: index < (data === null || data === void 0 ? void 0 : data.length) - 1 ? "1px solid #e4e7ec" : undefined
19111
19480
  }
19112
19481
  }, React__default.createElement("td", {
19113
- className: styles$4["tdcolumn1"],
19482
+ className: styles$5["tdcolumn1"],
19114
19483
  style: {
19115
- color: styles$4.gray_900,
19484
+ color: styles$5.gray_900,
19116
19485
  fontSize: "13px",
19117
19486
  fontWeight: 600
19118
19487
  }
19119
19488
  }, item.name), React__default.createElement("td", {
19120
19489
  style: {
19121
19490
  textAlign: "center",
19122
- color: styles$4.gray_900,
19491
+ color: styles$5.gray_900,
19123
19492
  fontSize: "13px",
19124
19493
  fontWeight: 600
19125
19494
  }
19126
19495
  }, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("td", {
19127
- className: styles$4["tdcolumn3"],
19496
+ className: styles$5["tdcolumn3"],
19128
19497
  style: {
19129
19498
  textAlign: "center",
19130
- color: styles$4.gray_700,
19499
+ color: styles$5.gray_700,
19131
19500
  fontSize: "13px",
19132
19501
  fontWeight: 500
19133
19502
  }
@@ -19136,7 +19505,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19136
19505
  }) : ""), React__default.createElement("td", {
19137
19506
  style: {
19138
19507
  textAlign: "center",
19139
- color: styles$4.gray_700,
19508
+ color: styles$5.gray_700,
19140
19509
  fontSize: "13px",
19141
19510
  fontWeight: 500
19142
19511
  }
@@ -19145,7 +19514,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19145
19514
  }) : ""), React__default.createElement("td", {
19146
19515
  style: {
19147
19516
  textAlign: "center",
19148
- color: styles$4.gray_700,
19517
+ color: styles$5.gray_700,
19149
19518
  fontSize: "13px",
19150
19519
  fontWeight: 500
19151
19520
  }
@@ -19159,26 +19528,26 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19159
19528
  left: item.percentageAmongStudents + "%"
19160
19529
  };
19161
19530
  return React__default.createElement("div", {
19162
- className: styles$4["contentProblem"] + " " + printStyles["avoid-break-inside"],
19531
+ className: styles$5["contentProblem"] + " " + printStyles["avoid-break-inside"],
19163
19532
  key: item.id
19164
19533
  }, React__default.createElement("div", {
19165
- className: styles$4["labelProblem"]
19534
+ className: styles$5["labelProblem"]
19166
19535
  }, React__default.createElement("span", {
19167
- className: styles$4["name"]
19536
+ className: styles$5["name"]
19168
19537
  }, item.name), React__default.createElement("div", {
19169
- className: styles$4["percent"]
19538
+ className: styles$5["percent"]
19170
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", {
19171
- className: styles$4["slider"]
19540
+ className: styles$5["slider"]
19172
19541
  }, React__default.createElement("div", null, React__default.createElement("span", {
19173
- className: styles$4["track"],
19542
+ className: styles$5["track"],
19174
19543
  style: trackStyle
19175
19544
  }))));
19176
19545
  });
19177
19546
  };
19178
19547
  return React__default.createElement("div", {
19179
- className: "" + styles$4["wrapperProblem"]
19548
+ className: "" + styles$5["wrapperProblem"]
19180
19549
  }, React__default.createElement("div", {
19181
- 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"]),
19182
19551
  onClick: function onClick() {
19183
19552
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : ProblemKey.GradesByTerritory);
19184
19553
  }
@@ -19190,14 +19559,14 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19190
19559
  }
19191
19560
  }, t("grades_by_area")), isOpen ? React__default.createElement(IoChevronUp, {
19192
19561
  size: 24,
19193
- color: styles$4.gray_300
19562
+ color: styles$5.gray_300
19194
19563
  }) : React__default.createElement(IoChevronDown, {
19195
19564
  size: 24,
19196
- color: styles$4.gray_300
19565
+ color: styles$5.gray_300
19197
19566
  })), isOpen && React__default.createElement(Fragment$1, null, formattedData.length ? React__default.createElement("div", {
19198
- className: styles$4["tableCompareGrass"]
19567
+ className: styles$5["tableCompareGrass"]
19199
19568
  }, React__default.createElement("div", {
19200
- className: styles$4["table-responsive"]
19569
+ className: styles$5["table-responsive"]
19201
19570
  }, isMyStoryStudent && React__default.createElement(Table, {
19202
19571
  style: {
19203
19572
  width: "100%",
@@ -19209,7 +19578,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19209
19578
  },
19210
19579
  className: "" + printStyles["avoid-break-inside"]
19211
19580
  }, React__default.createElement("tr", null, React__default.createElement("th", {
19212
- className: styles$4["thcolumn1"]
19581
+ className: styles$5["thcolumn1"]
19213
19582
  }, t("categories")), React__default.createElement("th", {
19214
19583
  style: {
19215
19584
  textAlign: "center"
@@ -19227,7 +19596,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19227
19596
  textAlign: "center"
19228
19597
  }
19229
19598
  }, t("total_solve_time")))), React__default.createElement("tbody", null, renderTableBody(formattedData))), !isMyStoryStudent && renderCategories(formattedData))) : React__default.createElement("div", {
19230
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
19599
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
19231
19600
  }, t("no_data"))));
19232
19601
  };
19233
19602
 
@@ -19300,39 +19669,39 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19300
19669
  borderBottom: index < (data === null || data === void 0 ? void 0 : data.length) - 1 ? "1px solid #e4e7ec" : undefined
19301
19670
  }
19302
19671
  }, React__default.createElement("td", {
19303
- className: styles$4["tdcolumn1"],
19672
+ className: styles$5["tdcolumn1"],
19304
19673
  style: {
19305
- color: styles$4.gray_900,
19674
+ color: styles$5.gray_900,
19306
19675
  fontSize: "13px",
19307
19676
  fontWeight: 600
19308
19677
  }
19309
19678
  }, React__default.createElement(Typography, {
19310
- color: styles$4.gray_900,
19679
+ color: styles$5.gray_900,
19311
19680
  fontSize: "13px",
19312
19681
  fontWeight: 600
19313
19682
  }, t("problem") + " " + (item.questionOrder + 1))), React__default.createElement("td", {
19314
19683
  style: {
19315
19684
  textAlign: "center",
19316
- color: styles$4.dark,
19685
+ color: styles$5.dark,
19317
19686
  fontSize: "13px",
19318
19687
  fontWeight: 600
19319
19688
  }
19320
19689
  }, item.overallCorrectRate.toFixed(2) ? item.overallCorrectRate.toFixed(2) + "%" : ""), React__default.createElement("td", {
19321
- className: styles$4["tdcolumn3"],
19690
+ className: styles$5["tdcolumn3"],
19322
19691
  style: {
19323
- color: styles$4.red_900,
19692
+ color: styles$5.red_900,
19324
19693
  fontSize: "13px",
19325
19694
  fontWeight: 500
19326
19695
  }
19327
19696
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
19328
19697
  style: {
19329
19698
  textAlign: "center",
19330
- color: styles$4.gray_700
19699
+ color: styles$5.gray_700
19331
19700
  }
19332
19701
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
19333
19702
  style: {
19334
19703
  textAlign: "center",
19335
- color: styles$4.gray_700
19704
+ color: styles$5.gray_700
19336
19705
  }
19337
19706
  }, item.categories ? item.categories.map(function (i) {
19338
19707
  return i.name;
@@ -19344,31 +19713,31 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19344
19713
  return React__default.createElement(Grid, {
19345
19714
  container: true,
19346
19715
  flexWrap: "nowrap",
19347
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
19716
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
19348
19717
  key: question.id
19349
19718
  }, React__default.createElement(Grid, {
19350
19719
  item: true,
19351
19720
  xs: 1.5,
19352
19721
  minWidth: "120px",
19353
- className: styles$4["contentColumn1"]
19722
+ className: styles$5["contentColumn1"]
19354
19723
  }, React__default.createElement("div", null, React__default.createElement("span", {
19355
- className: styles$4["span1"]
19724
+ className: styles$5["span1"]
19356
19725
  }, t("problem_number")), React__default.createElement("span", {
19357
- className: styles$4["span2"]
19726
+ className: styles$5["span2"]
19358
19727
  }, t("number_question", {
19359
19728
  number: question.questionOrder + 1
19360
19729
  })))), React__default.createElement(Grid, {
19361
19730
  item: true,
19362
19731
  xs: 10.5,
19363
- className: styles$4["contentColumn2"]
19732
+ className: styles$5["contentColumn2"]
19364
19733
  }, React__default.createElement("div", null, React__default.createElement("span", {
19365
- className: styles$4["span1"]
19734
+ className: styles$5["span1"]
19366
19735
  }, t("total_correct_rate")), React__default.createElement("span", {
19367
- className: styles$4["span2"]
19736
+ className: styles$5["span2"]
19368
19737
  }, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
19369
- className: styles$4["overallCorrectRate"]
19738
+ className: styles$5["overallCorrectRate"]
19370
19739
  }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
19371
- className: styles$4["answer"]
19740
+ className: styles$5["answer"]
19372
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)))));
19373
19742
  });
19374
19743
  };
@@ -19376,9 +19745,9 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19376
19745
  changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
19377
19746
  };
19378
19747
  return React__default.createElement("div", {
19379
- className: "" + styles$4["wrapperProblem"]
19748
+ className: "" + styles$5["wrapperProblem"]
19380
19749
  }, React__default.createElement("div", {
19381
- 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"]),
19382
19751
  onClick: handleToggle
19383
19752
  }, React__default.createElement(Stack, {
19384
19753
  flexDirection: "row",
@@ -19392,20 +19761,20 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19392
19761
  }
19393
19762
  }, t("issues_vulnerable")), React__default.createElement(Typography, {
19394
19763
  sx: {
19395
- color: styles$4.gray_300,
19764
+ color: styles$5.gray_300,
19396
19765
  fontSize: "11px",
19397
19766
  fontWeight: 500
19398
19767
  }
19399
19768
  }, t("vulnerable_detail"))), isOpen ? React__default.createElement(IoChevronUp, {
19400
19769
  size: 24,
19401
- color: styles$4.gray_300
19770
+ color: styles$5.gray_300
19402
19771
  }) : React__default.createElement(IoChevronDown, {
19403
19772
  size: 24,
19404
- color: styles$4.gray_300
19773
+ color: styles$5.gray_300
19405
19774
  })), isOpen && React__default.createElement(Fragment$1, null, incorrectQuestions !== null && incorrectQuestions !== void 0 && incorrectQuestions.length ? React__default.createElement("div", {
19406
- className: styles$4["tableCompareGrass"]
19775
+ className: styles$5["tableCompareGrass"]
19407
19776
  }, React__default.createElement("div", {
19408
- className: styles$4["table-responsive"]
19777
+ className: styles$5["table-responsive"]
19409
19778
  }, isMyStoryStudent && React__default.createElement(Table, {
19410
19779
  style: {
19411
19780
  width: "100%",
@@ -19417,7 +19786,7 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19417
19786
  },
19418
19787
  className: "" + printStyles["avoid-break-inside"]
19419
19788
  }, React__default.createElement("tr", null, React__default.createElement("th", {
19420
- className: styles$4["thcolumn1"]
19789
+ className: styles$5["thcolumn1"]
19421
19790
  }, t("problem_number")), React__default.createElement("th", {
19422
19791
  style: {
19423
19792
  textAlign: "center"
@@ -19435,7 +19804,7 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19435
19804
  textAlign: "center"
19436
19805
  }
19437
19806
  }, t("_category")))), React__default.createElement("tbody", null, renderTableBody(incorrectQuestions))), !isMyStoryStudent && renderQuestions(incorrectQuestions))) : React__default.createElement("div", {
19438
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
19807
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
19439
19808
  }, t("no_data"))));
19440
19809
  };
19441
19810
 
@@ -19455,37 +19824,37 @@ var TextbookTrickyProblem = function TextbookTrickyProblem(_ref) {
19455
19824
  });
19456
19825
  var renderProblems = function renderProblems() {
19457
19826
  return React__default.createElement(Fragment$1, null, React__default.createElement("div", {
19458
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19827
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19459
19828
  }, React__default.createElement(iconX, null), React__default.createElement("span", null, t("incorrect_problem_among_the_starred_problems"))), React__default.createElement("div", {
19460
- className: styles$4["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
19829
+ className: styles$5["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
19461
19830
  }, !!(inCorrectQuestions !== null && inCorrectQuestions !== void 0 && inCorrectQuestions.length) && (inCorrectQuestions === null || inCorrectQuestions === void 0 ? void 0 : inCorrectQuestions.map(function (question) {
19462
19831
  return React__default.createElement("span", {
19463
19832
  key: question.id,
19464
- className: styles$4["question"]
19833
+ className: styles$5["question"]
19465
19834
  }, t("number_question", {
19466
19835
  number: question.questionOrder + 1
19467
19836
  }));
19468
19837
  })), !(data !== null && data !== void 0 && data.studentQuestionResults.length) && React__default.createElement("div", {
19469
- className: styles$4["noData"]
19838
+ className: styles$5["noData"]
19470
19839
  }, t("no_data"))), React__default.createElement("div", {
19471
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19840
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19472
19841
  }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, t("correct_problem_among_the_starred_problems"))), React__default.createElement("div", {
19473
- className: styles$4["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
19842
+ className: styles$5["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
19474
19843
  }, !!(correctQuestions !== null && correctQuestions !== void 0 && correctQuestions.length) && (correctQuestions === null || correctQuestions === void 0 ? void 0 : correctQuestions.map(function (question) {
19475
19844
  return React__default.createElement("div", {
19476
19845
  key: question.id,
19477
- className: styles$4["question"]
19846
+ className: styles$5["question"]
19478
19847
  }, t("number_question", {
19479
19848
  number: question.questionOrder + 1
19480
19849
  }));
19481
19850
  })), !(data !== null && data !== void 0 && data.studentQuestionResults.length) && React__default.createElement("div", {
19482
- className: styles$4["noData"]
19851
+ className: styles$5["noData"]
19483
19852
  }, t("no_data"))));
19484
19853
  };
19485
19854
  return React__default.createElement("div", {
19486
- className: "" + styles$4["wrapperProblem"]
19855
+ className: "" + styles$5["wrapperProblem"]
19487
19856
  }, React__default.createElement("div", {
19488
- 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"]),
19489
19858
  onClick: function onClick() {
19490
19859
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
19491
19860
  }
@@ -19497,10 +19866,10 @@ var TextbookTrickyProblem = function TextbookTrickyProblem(_ref) {
19497
19866
  }
19498
19867
  }, t("tricky_problems")), isOpen ? React__default.createElement(IoChevronUp, {
19499
19868
  size: 24,
19500
- color: styles$4.gray_300
19869
+ color: styles$5.gray_300
19501
19870
  }) : React__default.createElement(IoChevronDown, {
19502
19871
  size: 24,
19503
- color: styles$4.gray_300
19872
+ color: styles$5.gray_300
19504
19873
  })), isOpen && React__default.createElement(Fragment$1, null, renderProblems()));
19505
19874
  };
19506
19875
 
@@ -19922,7 +20291,8 @@ var useExamResultData = function useExamResultData(props) {
19922
20291
  handleChangeTab = props.handleChangeTab,
19923
20292
  selectedTab = props.selectedTab,
19924
20293
  isPrint = props.isPrint,
19925
- chapterId = props.chapterId;
20294
+ chapterId = props.chapterId,
20295
+ onLoadingChange = props.onLoadingChange;
19926
20296
  var query = new URLSearchParams(searchParams);
19927
20297
  var user = useSelector(function (state) {
19928
20298
  var _state$common;
@@ -19979,9 +20349,11 @@ var useExamResultData = function useExamResultData(props) {
19979
20349
  try {
19980
20350
  var _temp2 = function _temp2() {
19981
20351
  setIsLoading(false);
20352
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
19982
20353
  };
19983
20354
  if (!examCode) return Promise.resolve();
19984
20355
  setIsLoading(true);
20356
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
19985
20357
  var _temp = _catch(function () {
19986
20358
  return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
19987
20359
  var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
@@ -20007,9 +20379,11 @@ var useExamResultData = function useExamResultData(props) {
20007
20379
  try {
20008
20380
  var _temp5 = function _temp5() {
20009
20381
  setIsLoading(false);
20382
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
20010
20383
  };
20011
20384
  if (!examSessionId || !studentId) return Promise.resolve();
20012
20385
  setIsLoading(true);
20386
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
20013
20387
  var _temp4 = _catch(function () {
20014
20388
  return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
20015
20389
  var _result$0$data2, _result$1$data2, _result$2$data2, _result$3$data2, _result$4$data2;
@@ -20049,10 +20423,12 @@ var useExamResultData = function useExamResultData(props) {
20049
20423
  try {
20050
20424
  var _temp7 = function _temp7() {
20051
20425
  setIsLoading(false);
20426
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
20052
20427
  };
20053
20428
  if (!chapterId) return Promise.resolve();
20054
20429
  if (!isStudent && !studentId) return Promise.resolve();
20055
20430
  setIsLoading(true);
20431
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
20056
20432
  var _temp6 = _catch(function () {
20057
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) {
20058
20434
  var _result$0$data3, _result$1$data3, _result$2$data3, _result$3$data3, _result$4$data3;
@@ -20218,7 +20594,7 @@ var useExamResultData = function useExamResultData(props) {
20218
20594
  }
20219
20595
  }
20220
20596
  }),
20221
- colors: [styles$4.dark, styles$4.purple_900],
20597
+ colors: [styles$5.dark, styles$5.purple_900],
20222
20598
  xaxis: _extends({}, DEFAULT_LINE_CHART_OPTIONS.xaxis, {
20223
20599
  categories: ["s"].concat(Array.from({
20224
20600
  length: questionLength
@@ -20678,7 +21054,8 @@ var useExamResult = function useExamResult(props) {
20678
21054
  studentId = _props$studentId === void 0 ? 0 : _props$studentId,
20679
21055
  code = props.code,
20680
21056
  chapterId = props.chapterId,
20681
- onViewQA = props.onViewQA;
21057
+ onViewQA = props.onViewQA,
21058
+ onLoadingChange = props.onLoadingChange;
20682
21059
  var _useTranslation = useTranslation(),
20683
21060
  t = _useTranslation.t;
20684
21061
  var _useTab = useTab(),
@@ -20692,7 +21069,8 @@ var useExamResult = function useExamResult(props) {
20692
21069
  code: code,
20693
21070
  chapterId: chapterId,
20694
21071
  handleChangeTab: handleChangeTab,
20695
- selectedTab: selected
21072
+ selectedTab: selected,
21073
+ onLoadingChange: onLoadingChange
20696
21074
  });
20697
21075
  var isLoading = examResultData.isLoading,
20698
21076
  timelyOrderQuestions = examResultData.timelyOrderQuestions,
@@ -20759,7 +21137,9 @@ var ExamResultV2 = function ExamResultV2(props) {
20759
21137
  isMyStoryStudent = props.isMyStoryStudent,
20760
21138
  onViewQA = props.onViewQA,
20761
21139
  chapterId = props.chapterId,
20762
- studentId = props.studentId;
21140
+ studentId = props.studentId,
21141
+ _props$showLoading = props.showLoading,
21142
+ showLoading = _props$showLoading === void 0 ? true : _props$showLoading;
20763
21143
  var isAdminSite = role === Role.Admin;
20764
21144
  var _useExamResult = useExamResult(props),
20765
21145
  t = _useExamResult.t,
@@ -20912,7 +21292,7 @@ var ExamResultV2 = function ExamResultV2(props) {
20912
21292
  onViewQA === null || onViewQA === void 0 ? void 0 : onViewQA(resultData.student.id, resultData.examSessionId);
20913
21293
  };
20914
21294
  return React__default.createElement(Fragment$1, null, React__default.createElement(LoadingComponent, {
20915
- isLoading: !!isLoading
21295
+ isLoading: showLoading && !!isLoading
20916
21296
  }), timelyOrderQuestions[dataChartIndex] && longTimeSpend && effectSize ? React__default.createElement("div", {
20917
21297
  style: {
20918
21298
  width: "100%"
@@ -21225,18 +21605,18 @@ var ExamResultV2 = function ExamResultV2(props) {
21225
21605
  value: selected,
21226
21606
  index: 1
21227
21607
  }, React__default.createElement("div", {
21228
- className: styles$4["compareChart"]
21608
+ className: styles$5["compareChart"]
21229
21609
  }, React__default.createElement("div", {
21230
- className: styles$4["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
21610
+ className: styles$5["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
21231
21611
  onClick: handlePrevChart
21232
21612
  }, React__default.createElement(iconBtnPrevChart, null)), React__default.createElement("div", {
21233
- className: styles$4["chart"] + " sr-line-chart"
21613
+ className: styles$5["chart"] + " sr-line-chart"
21234
21614
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
21235
21615
  height: 389,
21236
21616
  options: chartOptions,
21237
21617
  series: series
21238
21618
  }))), React__default.createElement("div", {
21239
- className: styles$4["nextChart"] + " " + (dataChartIndex < timelyOrderQuestions.length - 1 && "pointer"),
21619
+ className: styles$5["nextChart"] + " " + (dataChartIndex < timelyOrderQuestions.length - 1 && "pointer"),
21240
21620
  onClick: handleNextChart
21241
21621
  }, React__default.createElement(iconBtnNextChart, null)))), React__default.createElement(CustomTabPanel, {
21242
21622
  value: selected,
@@ -21430,13 +21810,13 @@ var LoadingDots = function LoadingDots(_ref) {
21430
21810
  color: "#FFF",
21431
21811
  fontSize: 20
21432
21812
  }, text), React__default.createElement("div", {
21433
- className: styles$4["loader"]
21813
+ className: styles$5["loader"]
21434
21814
  }, React__default.createElement("div", {
21435
- className: styles$4["dot"]
21815
+ className: styles$5["dot"]
21436
21816
  }), React__default.createElement("div", {
21437
- className: styles$4["dot"]
21817
+ className: styles$5["dot"]
21438
21818
  }), React__default.createElement("div", {
21439
- className: styles$4["dot"]
21819
+ className: styles$5["dot"]
21440
21820
  })));
21441
21821
  };
21442
21822
 
@@ -22278,7 +22658,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
22278
22658
  };
22279
22659
  };
22280
22660
 
22281
- 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"};
22282
22662
 
22283
22663
  var ResetFilterDialog = function ResetFilterDialog(_ref) {
22284
22664
  var t = _ref.t,
@@ -22342,7 +22722,7 @@ var ResetFilterDialog = function ResetFilterDialog(_ref) {
22342
22722
  borderTop: "1px solid #CED2DA"
22343
22723
  }
22344
22724
  }, React__default.createElement(Button, {
22345
- className: styles$5["btn-cancel"],
22725
+ className: styles$6["btn-cancel"],
22346
22726
  onClick: onClose
22347
22727
  }, React__default.createElement(Typography, {
22348
22728
  sx: {
@@ -22353,7 +22733,7 @@ var ResetFilterDialog = function ResetFilterDialog(_ref) {
22353
22733
  lineHeight: "16.71px"
22354
22734
  }, t("close"))), React__default.createElement(Button, {
22355
22735
  variant: "contained",
22356
- className: styles$5["btn-register"],
22736
+ className: styles$6["btn-register"],
22357
22737
  type: "submit",
22358
22738
  sx: {
22359
22739
  padding: "12px 47px"
@@ -22772,7 +23152,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
22772
23152
  borderTop: "1px solid #CED2DA"
22773
23153
  }
22774
23154
  }, React__default.createElement(Button, {
22775
- className: styles$5["btn-cancel"],
23155
+ className: styles$6["btn-cancel"],
22776
23156
  onClick: onClose
22777
23157
  }, React__default.createElement(Typography, {
22778
23158
  sx: {
@@ -22863,7 +23243,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
22863
23243
  borderTop: "1px solid #CED2DA"
22864
23244
  }
22865
23245
  }, React__default.createElement(Button, {
22866
- className: styles$5["btn-cancel"],
23246
+ className: styles$6["btn-cancel"],
22867
23247
  onClick: onClose
22868
23248
  }, React__default.createElement(Typography, {
22869
23249
  sx: {
@@ -22874,7 +23254,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
22874
23254
  lineHeight: "16.71px"
22875
23255
  }, t("cancel"))), React__default.createElement(Button, {
22876
23256
  variant: "contained",
22877
- className: styles$5["btn-register"],
23257
+ className: styles$6["btn-register"],
22878
23258
  type: "submit",
22879
23259
  sx: {
22880
23260
  padding: "12px 47px"
@@ -23451,7 +23831,7 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
23451
23831
  borderTop: "1px solid #CED2DA"
23452
23832
  }
23453
23833
  }, React__default.createElement(Button, {
23454
- className: styles$5["btn-cancel"],
23834
+ className: styles$6["btn-cancel"],
23455
23835
  onClick: onClose
23456
23836
  }, React__default.createElement(Typography, {
23457
23837
  sx: {
@@ -23462,7 +23842,7 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
23462
23842
  lineHeight: "16.71px"
23463
23843
  }, t("cancel"))), React__default.createElement(Button, {
23464
23844
  variant: "contained",
23465
- className: styles$5["btn-register"],
23845
+ className: styles$6["btn-register"],
23466
23846
  type: "submit",
23467
23847
  sx: {
23468
23848
  padding: "12px 47px"
@@ -23574,13 +23954,13 @@ var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
23574
23954
  var theme = useTheme();
23575
23955
  var isTabletUp = useMediaQuery(theme.breakpoints.up("lg"));
23576
23956
  return React__default.createElement("div", null, React__default.createElement("div", {
23577
- className: styles$5["drawer-overlay"] + " " + (isOpen && styles$5["open"]),
23957
+ className: styles$6["drawer-overlay"] + " " + (isOpen && styles$6["open"]),
23578
23958
  onClick: function onClick() {
23579
23959
  return onClose();
23580
23960
  }
23581
23961
  }), React__default.createElement(Stack, {
23582
23962
  width: isTabletUp ? "50vw" : "100%",
23583
- className: styles$5["drawer"] + " bg-white " + (isOpen && styles$5["open"])
23963
+ className: styles$6["drawer"] + " bg-white " + (isOpen && styles$6["open"])
23584
23964
  }, React__default.createElement(Stack, {
23585
23965
  bgcolor: styles.gray_50,
23586
23966
  borderBottom: "1px solid " + styles.gray_100,
@@ -24550,188 +24930,6 @@ var AlertCircleFill = function AlertCircleFill(_ref) {
24550
24930
  }));
24551
24931
  };
24552
24932
 
24553
- var CalendarFill = function CalendarFill(_ref) {
24554
- var _ref$width = _ref.width,
24555
- width = _ref$width === void 0 ? "16" : _ref$width,
24556
- _ref$height = _ref.height,
24557
- height = _ref$height === void 0 ? "16" : _ref$height,
24558
- color = _ref.color;
24559
- return React__default.createElement("svg", {
24560
- width: width,
24561
- height: height,
24562
- fill: color,
24563
- viewBox: "0 0 16 16",
24564
- xmlns: "http://www.w3.org/2000/svg"
24565
- }, React__default.createElement("path", {
24566
- 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",
24567
- fill: "#97A1AF"
24568
- }), React__default.createElement("path", {
24569
- 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",
24570
- fill: "#97A1AF"
24571
- }));
24572
- };
24573
-
24574
- var ClockFill = function ClockFill(_ref) {
24575
- var _ref$width = _ref.width,
24576
- width = _ref$width === void 0 ? "16" : _ref$width,
24577
- _ref$height = _ref.height,
24578
- height = _ref$height === void 0 ? "16" : _ref$height,
24579
- color = _ref.color;
24580
- return React__default.createElement("svg", {
24581
- width: width,
24582
- height: height,
24583
- fill: color,
24584
- viewBox: "0 0 14 14",
24585
- xmlns: "http://www.w3.org/2000/svg"
24586
- }, React__default.createElement("path", {
24587
- 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",
24588
- fill: "#97A1AF"
24589
- }));
24590
- };
24591
-
24592
- var CheckedCircleFill = function CheckedCircleFill(_ref) {
24593
- var _ref$width = _ref.width,
24594
- width = _ref$width === void 0 ? "16" : _ref$width,
24595
- _ref$height = _ref.height,
24596
- height = _ref$height === void 0 ? "17" : _ref$height,
24597
- color = _ref.color;
24598
- return React__default.createElement("svg", {
24599
- width: width,
24600
- height: height,
24601
- fill: color,
24602
- viewBox: "0 0 16 17",
24603
- xmlns: "http://www.w3.org/2000/svg"
24604
- }, React__default.createElement("path", {
24605
- 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",
24606
- fill: "#97A1AF"
24607
- }));
24608
- };
24609
-
24610
- var IconPerson = function IconPerson(_ref) {
24611
- var _ref$width = _ref.width,
24612
- width = _ref$width === void 0 ? "16" : _ref$width,
24613
- _ref$height = _ref.height,
24614
- height = _ref$height === void 0 ? "16" : _ref$height,
24615
- color = _ref.color;
24616
- return React__default.createElement("svg", {
24617
- width: width,
24618
- height: height,
24619
- fill: color,
24620
- viewBox: "0 0 16 16",
24621
- xmlns: "http://www.w3.org/2000/svg"
24622
- }, React__default.createElement("path", {
24623
- 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",
24624
- fill: "#97A1AF"
24625
- }), React__default.createElement("path", {
24626
- 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",
24627
- fill: "#97A1AF"
24628
- }));
24629
- };
24630
-
24631
- var LessonTooltip = function LessonTooltip(_ref) {
24632
- var lesson = _ref.lesson,
24633
- lessonAttendance = _ref.lessonAttendance;
24634
- var _useTranslation = useTranslation(),
24635
- t = _useTranslation.t;
24636
- return React__default.createElement(Stack, {
24637
- padding: "16px"
24638
- }, React__default.createElement(Stack, {
24639
- gap: "20px"
24640
- }, React__default.createElement(Typography, {
24641
- sx: {
24642
- color: grey[700]
24643
- }
24644
- }, lesson.courseName), React__default.createElement(Stack, {
24645
- display: "flex",
24646
- flexDirection: "row",
24647
- justifyContent: "space-between",
24648
- gap: "20px"
24649
- }, React__default.createElement(Box, {
24650
- display: "flex",
24651
- flexDirection: "row",
24652
- gap: "4px"
24653
- }, React__default.createElement(CalendarFill, null), React__default.createElement(Typography, {
24654
- sx: {
24655
- color: grey[500],
24656
- fontSize: "13px",
24657
- fontWeight: "600",
24658
- whiteSpace: "nowrap"
24659
- }
24660
- }, t("class_date"))), React__default.createElement(Typography, {
24661
- sx: {
24662
- color: grey[700],
24663
- fontSize: "14px",
24664
- fontWeight: "600"
24665
- }
24666
- }, t("" + moment(lesson === null || lesson === void 0 ? void 0 : lesson.date).format(t("date_format"))))), React__default.createElement(Stack, {
24667
- display: "flex",
24668
- flexDirection: "row",
24669
- justifyContent: "space-between",
24670
- gap: "20px"
24671
- }, React__default.createElement(Stack, {
24672
- display: "flex",
24673
- flexDirection: "row",
24674
- gap: "4px"
24675
- }, React__default.createElement(ClockFill, null), React__default.createElement(Typography, {
24676
- sx: {
24677
- color: grey[500],
24678
- fontSize: "13px",
24679
- fontWeight: "600",
24680
- whiteSpace: "nowrap"
24681
- }
24682
- }, t("class_time"))), React__default.createElement(Typography, {
24683
- sx: {
24684
- color: grey[700],
24685
- fontSize: "14px",
24686
- fontWeight: "600"
24687
- }
24688
- }, 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, {
24689
- display: "flex",
24690
- flexDirection: "row",
24691
- justifyContent: "space-between",
24692
- gap: "20px"
24693
- }, React__default.createElement(Stack, {
24694
- display: "flex",
24695
- flexDirection: "row",
24696
- gap: "4px"
24697
- }, React__default.createElement(CheckedCircleFill, null), React__default.createElement(Typography, {
24698
- sx: {
24699
- color: grey[500],
24700
- fontSize: "13px",
24701
- fontWeight: "600",
24702
- whiteSpace: "nowrap"
24703
- }
24704
- }, t("attendance"))), React__default.createElement(Typography, {
24705
- sx: {
24706
- color: grey[700],
24707
- fontSize: "14px",
24708
- fontWeight: "600"
24709
- }
24710
- }, (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, {
24711
- display: "flex",
24712
- flexDirection: "row",
24713
- justifyContent: "space-between",
24714
- gap: "20px"
24715
- }, React__default.createElement(Stack, {
24716
- display: "flex",
24717
- flexDirection: "row",
24718
- gap: "4px"
24719
- }, React__default.createElement(IconPerson, null), React__default.createElement(Typography, {
24720
- sx: {
24721
- color: grey[500],
24722
- fontSize: "13px",
24723
- fontWeight: "600",
24724
- whiteSpace: "nowrap"
24725
- }
24726
- }, t("teacher_in_charge"))), React__default.createElement(Typography, {
24727
- sx: {
24728
- color: grey[700],
24729
- fontSize: "14px",
24730
- fontWeight: "600"
24731
- }
24732
- }, lesson === null || lesson === void 0 ? void 0 : lesson.mainTeacherName))));
24733
- };
24734
-
24735
24933
  var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24736
24934
  var data = _ref.data,
24737
24935
  containerProps = _ref.containerProps,
@@ -24740,23 +24938,17 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24740
24938
  mainTeacherName = _ref.mainTeacherName,
24741
24939
  courseName = _ref.courseName,
24742
24940
  courseId = _ref.courseId,
24743
- studentId = _ref.studentId,
24744
24941
  onCheckInLesson = _ref.onCheckInLesson;
24745
24942
  var _useTranslation = useTranslation(),
24746
24943
  t = _useTranslation.t;
24747
- var isAdmin = useSelector(function (state) {
24748
- var _state$common, _state$common$user, _state$common$user$ro;
24749
- 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);
24750
- });
24751
24944
  var language = useSelector(function (state) {
24752
- var _state$common2;
24753
- 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;
24754
24947
  });
24755
24948
  var dataString = JSON.stringify(data);
24756
24949
  var containerRef = useRef(null);
24757
- var handleCheckInLesson = function handleCheckInLesson(lesson, studentId) {
24758
- if (isAdmin) return;
24759
- onCheckInLesson(lesson, studentId);
24950
+ var handleCheckInLesson = function handleCheckInLesson(lesson, attendance) {
24951
+ onCheckInLesson(lesson, attendance);
24760
24952
  };
24761
24953
  var renderItem = function renderItem(rowIndex, columnIndex, _) {
24762
24954
  if (rowIndex === 0) return React__default.createElement(Box, {
@@ -24800,9 +24992,8 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24800
24992
  }, React__default.createElement(IconButton, {
24801
24993
  size: "small",
24802
24994
  className: "d-flex align-items-center ",
24803
- disabled: isAdmin,
24804
24995
  onClick: function onClick() {
24805
- return handleCheckInLesson(lesson, studentId);
24996
+ return handleCheckInLesson(lesson, attendance);
24806
24997
  },
24807
24998
  sx: {
24808
24999
  width: "26px",
@@ -24852,8 +25043,7 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24852
25043
  };
24853
25044
 
24854
25045
  var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24855
- var studentId = _ref.studentId,
24856
- data = _ref.data,
25046
+ var data = _ref.data,
24857
25047
  onCheckInLesson = _ref.onCheckInLesson,
24858
25048
  onLoad = _ref.onLoad;
24859
25049
  var _useTranslation = useTranslation(),
@@ -24938,7 +25128,6 @@ var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24938
25128
  data: data.lessons,
24939
25129
  courseId: data.id,
24940
25130
  courseName: data.name,
24941
- studentId: studentId,
24942
25131
  mainTeacherName: data.mainTeacherName,
24943
25132
  onCheckInLesson: onCheckInLesson,
24944
25133
  listWidth: 0,
@@ -24958,8 +25147,7 @@ var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24958
25147
  };
24959
25148
 
24960
25149
  var CourseAttendanceList = function CourseAttendanceList(_ref) {
24961
- var studentId = _ref.studentId,
24962
- data = _ref.data,
25150
+ var data = _ref.data,
24963
25151
  isLoading = _ref.isLoading,
24964
25152
  listHeight = _ref.listHeight,
24965
25153
  containerProps = _ref.containerProps,
@@ -24968,7 +25156,6 @@ var CourseAttendanceList = function CourseAttendanceList(_ref) {
24968
25156
  var renderItem = function renderItem(item, _, measure) {
24969
25157
  return React__default.createElement(CourseAttendanceItem, {
24970
25158
  key: item.id,
24971
- studentId: studentId,
24972
25159
  data: item,
24973
25160
  onCheckInLesson: onCheckInLesson,
24974
25161
  onLoad: measure
@@ -24991,13 +25178,11 @@ var getAttendanceByStudentIdApi = function getAttendanceByStudentIdApi(studentId
24991
25178
  params: query
24992
25179
  });
24993
25180
  };
24994
- var getCheckInLessonsApi = function getCheckInLessonsApi(lessonId, studentId) {
24995
- return api.post(LESSON_URL + "/" + lessonId + "/teacher", {
24996
- studentId: studentId
24997
- });
25181
+ var getCheckInLessonsApi = function getCheckInLessonsApi(lessonId, attendanceRequest) {
25182
+ return api.post(LESSON_URL + "/" + lessonId + "/teacher", attendanceRequest);
24998
25183
  };
24999
25184
 
25000
- var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25185
+ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId, onUpdatedAttendance) {
25001
25186
  var dispatch = useDispatch();
25002
25187
  var _useTranslation = useTranslation(),
25003
25188
  t = _useTranslation.t;
@@ -25024,15 +25209,46 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25024
25209
  isLoading = _useVirtualList.isLoading,
25025
25210
  handleLoadMore = _useVirtualList.handleLoadMore,
25026
25211
  setItems = _useVirtualList.setItems;
25027
- 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) {
25028
25232
  try {
25029
25233
  var _temp2 = function _temp2() {
25030
25234
  dispatch(setLoading(false));
25031
25235
  };
25032
25236
  dispatch(setLoading(true));
25033
25237
  var _temp = _catch(function () {
25034
- 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);
25035
25250
  toast.success(t("update_attendance_status_successfully"));
25251
+ handleCloseAttendanceDialog();
25036
25252
  });
25037
25253
  }, function (error) {
25038
25254
  toast.error(getErrorMessage(t, error));
@@ -25048,12 +25264,15 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25048
25264
  var item = JSON.parse(data);
25049
25265
  var lessonAttendance = {
25050
25266
  lessonId: item === null || item === void 0 ? void 0 : (_item$attendance = item.attendance) === null || _item$attendance === void 0 ? void 0 : _item$attendance.lessonId,
25051
- 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,
25052
25268
  status: item === null || item === void 0 ? void 0 : (_item$attendance3 = item.attendance) === null || _item$attendance3 === void 0 ? void 0 : _item$attendance3.status
25053
25269
  };
25270
+ updateAttendanceData(lessonAttendance, item.courseId);
25271
+ };
25272
+ var updateAttendanceData = function updateAttendanceData(lessonAttendance, courseId) {
25054
25273
  setItems(function (prev) {
25055
25274
  var newData = prev.map(function (course) {
25056
- if (item.courseId !== course.id) return course;
25275
+ if (courseId !== course.id) return course;
25057
25276
  return _extends({}, course, {
25058
25277
  lessons: course.lessons.map(function (lesson) {
25059
25278
  if (lesson.id != lessonAttendance.lessonId) return lesson;
@@ -25085,20 +25304,27 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25085
25304
  return {
25086
25305
  items: items,
25087
25306
  isLoading: isLoading,
25307
+ openAttendanceDalog: openAttendanceDalog,
25088
25308
  handleLoadMore: handleLoadMore,
25089
- handleCheckInLesson: handleCheckInLesson
25309
+ handleCheckInLesson: handleCheckInLesson,
25310
+ handleCloseAttendanceDialog: handleCloseAttendanceDialog,
25311
+ handleUpdateStudentAttendance: handleUpdateStudentAttendance
25090
25312
  };
25091
25313
  };
25092
25314
 
25093
25315
  var DrawerAttendanceTab = function DrawerAttendanceTab(_ref) {
25094
25316
  var studentId = _ref.studentId,
25095
25317
  selectedTab = _ref.selectedTab,
25096
- value = _ref.value;
25097
- var _useDrawerAttendanceT = useDrawerAttendanceTab(studentId),
25318
+ value = _ref.value,
25319
+ onUpdatedAttendance = _ref.onUpdatedAttendance;
25320
+ var _useDrawerAttendanceT = useDrawerAttendanceTab(studentId, onUpdatedAttendance),
25098
25321
  items = _useDrawerAttendanceT.items,
25099
25322
  isLoading = _useDrawerAttendanceT.isLoading,
25323
+ openAttendanceDalog = _useDrawerAttendanceT.openAttendanceDalog,
25100
25324
  handleLoadMore = _useDrawerAttendanceT.handleLoadMore,
25101
- handleCheckInLesson = _useDrawerAttendanceT.handleCheckInLesson;
25325
+ handleCheckInLesson = _useDrawerAttendanceT.handleCheckInLesson,
25326
+ handleCloseAttendanceDialog = _useDrawerAttendanceT.handleCloseAttendanceDialog,
25327
+ handleUpdateStudentAttendance = _useDrawerAttendanceT.handleUpdateStudentAttendance;
25102
25328
  return React__default.createElement(DrawerTabContent, {
25103
25329
  value: value,
25104
25330
  isSelected: selectedTab === value
@@ -25116,10 +25342,16 @@ var DrawerAttendanceTab = function DrawerAttendanceTab(_ref) {
25116
25342
  data: items,
25117
25343
  onLoadMore: handleLoadMore,
25118
25344
  isLoading: isLoading,
25119
- studentId: studentId,
25120
25345
  onCheckInLesson: handleCheckInLesson,
25121
25346
  listHeight: 0
25122
- })));
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
+ }));
25123
25355
  };
25124
25356
 
25125
25357
  var StudentInfoDrawer = function StudentInfoDrawer(props) {
@@ -25129,7 +25361,8 @@ var StudentInfoDrawer = function StudentInfoDrawer(props) {
25129
25361
  width = props.width,
25130
25362
  history = props.history,
25131
25363
  role = props.role,
25132
- onViewQA = props.onViewQA;
25364
+ onViewQA = props.onViewQA,
25365
+ onUpdatedAttendance = props.onUpdatedAttendance;
25133
25366
  var _useStudentInfoDrawer = useStudentInfoDrawer(props),
25134
25367
  loadedTabs = _useStudentInfoDrawer.loadedTabs,
25135
25368
  isLoading = _useStudentInfoDrawer.isLoading,
@@ -25160,7 +25393,8 @@ var StudentInfoDrawer = function StudentInfoDrawer(props) {
25160
25393
  }), studentId && React__default.createElement(Fragment$1, null, loadedTabs[DrawerTab.Attendance] && React__default.createElement(DrawerAttendanceTab, {
25161
25394
  value: DrawerTab.Attendance,
25162
25395
  selectedTab: selectedTab,
25163
- studentId: studentId
25396
+ studentId: studentId,
25397
+ onUpdatedAttendance: onUpdatedAttendance
25164
25398
  }), loadedTabs[DrawerTab.Note] && React__default.createElement(DrawerNoteTab, {
25165
25399
  value: DrawerTab.Note,
25166
25400
  selectedTab: selectedTab,
@@ -27548,7 +27782,7 @@ var RECENT_USER_ACTION_HEADERS = [{
27548
27782
  }];
27549
27783
  var CSV_PREFIX = "data:text/csv;charset=utf-8,";
27550
27784
 
27551
- 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"};
27552
27786
 
27553
27787
  var _excluded$c = ["text", "isRequired", "className"];
27554
27788
  var LabelRequired = function LabelRequired(_ref) {
@@ -28673,7 +28907,7 @@ var DeleteUserCsvDialog = function DeleteUserCsvDialog(_ref) {
28673
28907
  size: "xs",
28674
28908
  title: t('delete_users_csv')
28675
28909
  }, React__default.createElement(DialogContent, null, React__default.createElement("div", {
28676
- className: "" + styles$6["drop-area"],
28910
+ className: "" + styles$7["drop-area"],
28677
28911
  onDrop: handleDrop,
28678
28912
  onDragOver: handleDragOver,
28679
28913
  onClick: handleChooseFile
@@ -28802,10 +29036,10 @@ var UserRow = function UserRow(_ref) {
28802
29036
  className: "d-flex"
28803
29037
  }, isAdmin || isSuperAdmin ? React__default.createElement(IconButton, {
28804
29038
  color: "default",
28805
- className: styles$6["action-btn"] + " bg-warning text-white me-2",
29039
+ className: styles$7["action-btn"] + " bg-warning text-white me-2",
28806
29040
  onClick: handleViewOrUpdate
28807
29041
  }, React__default.createElement(HiOutlinePencilAlt, {
28808
- className: styles$6["action-btn--pencil"],
29042
+ className: styles$7["action-btn--pencil"],
28809
29043
  size: 16
28810
29044
  })) : React__default.createElement(IconButton, {
28811
29045
  color: "default",
@@ -28816,7 +29050,7 @@ var UserRow = function UserRow(_ref) {
28816
29050
  })), (isAdmin || isSuperAdmin) && React__default.createElement(IconButton, {
28817
29051
  onClick: handleDelete,
28818
29052
  color: "default",
28819
- className: styles$6["action-btn"] + " bg-danger text-white"
29053
+ className: styles$7["action-btn"] + " bg-danger text-white"
28820
29054
  }, React__default.createElement(FaTrashCan, {
28821
29055
  size: 12
28822
29056
  })))));
@@ -28902,7 +29136,7 @@ var UserList = function UserList(_ref) {
28902
29136
  bgcolor: theme.palette.primary.main
28903
29137
  },
28904
29138
  startIcon: React__default.createElement(MdDownload, {
28905
- className: "" + styles$6["icon-rotate-180"],
29139
+ className: "" + styles$7["icon-rotate-180"],
28906
29140
  size: 14
28907
29141
  }),
28908
29142
  onClick: handleChooseFile
@@ -28913,7 +29147,7 @@ var UserList = function UserList(_ref) {
28913
29147
  bgcolor: theme.palette.error.main
28914
29148
  },
28915
29149
  startIcon: React__default.createElement(MdDownload, {
28916
- className: "" + styles$6["icon-rotate-180"],
29150
+ className: "" + styles$7["icon-rotate-180"],
28917
29151
  size: 14
28918
29152
  }),
28919
29153
  onClick: handleToggleDeleteUserCsv
@@ -29049,7 +29283,7 @@ var UserList = function UserList(_ref) {
29049
29283
  })));
29050
29284
  };
29051
29285
 
29052
- 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"};
29053
29287
 
29054
29288
  var BpIcon = styled("span")(function (_ref) {
29055
29289
  var theme = _ref.theme;
@@ -29122,7 +29356,7 @@ var QuestionView = function QuestionView(_ref2) {
29122
29356
  mb: "16px"
29123
29357
  }, React__default.createElement(Stack, null, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29124
29358
  htmlFor: "textual_answer",
29125
- className: styles$7["question-label"] + " form-label"
29359
+ className: styles$8["question-label"] + " form-label"
29126
29360
  }, t("textual_answer")), React__default.createElement(TextField, {
29127
29361
  sx: {
29128
29362
  "& .MuiInputBase-input": {
@@ -29150,7 +29384,7 @@ var QuestionView = function QuestionView(_ref2) {
29150
29384
  }).map(function (i) {
29151
29385
  return React__default.createElement(FormControlLabel, {
29152
29386
  key: i,
29153
- className: styles$7["question-label"] + " w-fit",
29387
+ className: styles$8["question-label"] + " w-fit",
29154
29388
  labelPlacement: "top",
29155
29389
  value: i,
29156
29390
  onChange: function onChange(e) {
@@ -29181,7 +29415,7 @@ var QuestionView = function QuestionView(_ref2) {
29181
29415
  }).map(function (i) {
29182
29416
  return React__default.createElement(FormControlLabel, {
29183
29417
  key: i,
29184
- className: styles$7["question-label"] + " w-fit",
29418
+ className: styles$8["question-label"] + " w-fit",
29185
29419
  labelPlacement: "top",
29186
29420
  value: i,
29187
29421
  onChange: function onChange(e) {
@@ -29224,7 +29458,7 @@ var QuestionView = function QuestionView(_ref2) {
29224
29458
  }, React__default.createElement(Grid, {
29225
29459
  container: true
29226
29460
  }, React__default.createElement("div", {
29227
- className: styles$7["question-title"] + " me-2 text-nowrap"
29461
+ className: styles$8["question-title"] + " me-2 text-nowrap"
29228
29462
  }, t("problem_number_question", {
29229
29463
  number: question.questionOrder + 1
29230
29464
  }))), React__default.createElement(Grid, {
@@ -29237,7 +29471,7 @@ var QuestionView = function QuestionView(_ref2) {
29237
29471
  mb: "16px"
29238
29472
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29239
29473
  htmlFor: "title",
29240
- className: styles$7["question-label"] + " form-label"
29474
+ className: styles$8["question-label"] + " form-label"
29241
29475
  }, t("title")), React__default.createElement(TextField, {
29242
29476
  fullWidth: true,
29243
29477
  value: question.title,
@@ -29252,7 +29486,7 @@ var QuestionView = function QuestionView(_ref2) {
29252
29486
  mb: "16px"
29253
29487
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29254
29488
  htmlFor: "author",
29255
- className: styles$7["question-label"] + " form-label"
29489
+ className: styles$8["question-label"] + " form-label"
29256
29490
  }, t("author")), React__default.createElement(TextField, {
29257
29491
  fullWidth: true,
29258
29492
  value: question.author,
@@ -29267,7 +29501,7 @@ var QuestionView = function QuestionView(_ref2) {
29267
29501
  mb: "16px"
29268
29502
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29269
29503
  htmlFor: "subject",
29270
- className: styles$7["question-label"] + " form-label"
29504
+ className: styles$8["question-label"] + " form-label"
29271
29505
  }, t("subject")), React__default.createElement(TextField, {
29272
29506
  fullWidth: true,
29273
29507
  value: question.subject,
@@ -29286,7 +29520,7 @@ var QuestionView = function QuestionView(_ref2) {
29286
29520
  mb: "16px"
29287
29521
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29288
29522
  htmlFor: "type",
29289
- className: styles$7["question-label"] + " form-label"
29523
+ className: styles$8["question-label"] + " form-label"
29290
29524
  }, t("type")), React__default.createElement(CustomSelectOption, {
29291
29525
  isTextbook: true,
29292
29526
  valueById: question.type,
@@ -29300,7 +29534,7 @@ var QuestionView = function QuestionView(_ref2) {
29300
29534
  lg: 3
29301
29535
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29302
29536
  htmlFor: "question_answer_type",
29303
- className: styles$7["question-label"] + " form-label"
29537
+ className: styles$8["question-label"] + " form-label"
29304
29538
  }, t("question_answer_type")), React__default.createElement(CustomSelect, {
29305
29539
  isDisabled: isDisabled,
29306
29540
  value: question.questionAnswerType,
@@ -29320,7 +29554,7 @@ var QuestionView = function QuestionView(_ref2) {
29320
29554
  xs: 4,
29321
29555
  lg: 4
29322
29556
  }, React__default.createElement("div", {
29323
- className: styles$7["question-title"] + " me-2 text-nowrap"
29557
+ className: styles$8["question-title"] + " me-2 text-nowrap"
29324
29558
  }, t("problem_number_question", {
29325
29559
  number: question.questionOrder + 1
29326
29560
  }))), !isTextbook && React__default.createElement(Grid, {
@@ -29333,7 +29567,7 @@ var QuestionView = function QuestionView(_ref2) {
29333
29567
  lg: 4
29334
29568
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29335
29569
  htmlFor: "question_answer_type",
29336
- className: styles$7["question-label"] + " form-label"
29570
+ className: styles$8["question-label"] + " form-label"
29337
29571
  }, t("question_answer_type")), React__default.createElement(CustomSelect, {
29338
29572
  isDisabled: isDisabled,
29339
29573
  value: question.questionAnswerType,
@@ -29467,7 +29701,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29467
29701
  onDelete === null || onDelete === void 0 ? void 0 : onDelete(article);
29468
29702
  };
29469
29703
  return React__default.createElement("div", {
29470
- className: "d-flex " + styles$7["question"] + " " + (isActive ? styles$7["question--active"] : "")
29704
+ className: "d-flex " + styles$8["question"] + " " + (isActive ? styles$8["question--active"] : "")
29471
29705
  }, React__default.createElement("div", {
29472
29706
  className: "py-1"
29473
29707
  }, React__default.createElement(PiDotsNineLight, {
@@ -29475,9 +29709,9 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29475
29709
  })), React__default.createElement("div", {
29476
29710
  className: "px-2"
29477
29711
  }, React__default.createElement("p", {
29478
- className: "mb-0 " + styles$7["question-article"]
29712
+ className: "mb-0 " + styles$8["question-article"]
29479
29713
  }, t("article_number")), React__default.createElement("p", {
29480
- className: "text-center " + styles$7["question-article"]
29714
+ className: "text-center " + styles$8["question-article"]
29481
29715
  }, article)), React__default.createElement("div", {
29482
29716
  className: "flex-grow-1"
29483
29717
  }, React__default.createElement(Grid, {
@@ -29498,7 +29732,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29498
29732
  lg: 3
29499
29733
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29500
29734
  htmlFor: "question_count",
29501
- className: styles$7["question-label"] + " form-label"
29735
+ className: styles$8["question-label"] + " form-label"
29502
29736
  }, t("questions")), React__default.createElement(QuestionCountSelector, {
29503
29737
  id: "question_count",
29504
29738
  value: questionCount,
@@ -29517,7 +29751,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29517
29751
  }
29518
29752
  }, React__default.createElement(FormLabel, {
29519
29753
  htmlFor: "category",
29520
- className: styles$7["question-label"] + " form-label"
29754
+ className: styles$8["question-label"] + " form-label"
29521
29755
  }, t("category")), React__default.createElement(ArticleCategorySelector, {
29522
29756
  style: {
29523
29757
  "div:has(&)": {
@@ -29537,7 +29771,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29537
29771
  lg: 3
29538
29772
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
29539
29773
  htmlFor: "answer_count",
29540
- className: styles$7["question-label"] + " form-label"
29774
+ className: styles$8["question-label"] + " form-label"
29541
29775
  }, t("answer_count")), React__default.createElement(AnswerCountSelector, {
29542
29776
  id: "answer_count",
29543
29777
  value: answerCount,
@@ -30062,7 +30296,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30062
30296
  xs: 5,
30063
30297
  className: 'mb-2'
30064
30298
  }, React__default.createElement("label", {
30065
- className: styles["form-label"] + " " + styles$7["question-label"],
30299
+ className: styles["form-label"] + " " + styles$8["question-label"],
30066
30300
  htmlFor: "title"
30067
30301
  }, t("exam_name")), React__default.createElement("input", {
30068
30302
  disabled: isDisabled,
@@ -30076,7 +30310,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30076
30310
  xs: 3,
30077
30311
  className: 'mb-2'
30078
30312
  }, React__default.createElement("label", {
30079
- className: styles["form-label"] + " " + styles$7["question-label"],
30313
+ className: styles["form-label"] + " " + styles$8["question-label"],
30080
30314
  htmlFor: "duration"
30081
30315
  }, t("exam_duration")), React__default.createElement(CustomSelect, {
30082
30316
  inputId: "duration",
@@ -30089,7 +30323,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30089
30323
  xs: 3,
30090
30324
  className: 'mb-2'
30091
30325
  }, React__default.createElement("label", {
30092
- className: styles["form-label"] + " " + styles$7["question-label"],
30326
+ className: styles["form-label"] + " " + styles$8["question-label"],
30093
30327
  htmlFor: "subject"
30094
30328
  }, t("subject")), React__default.createElement(CustomSelect, {
30095
30329
  inputId: "subject",
@@ -30132,7 +30366,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30132
30366
  }
30133
30367
  },
30134
30368
  disabled: isDisabled,
30135
- 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",
30136
30370
  onClick: handleAddArticle
30137
30371
  }, React__default.createElement(FaPlusCircle, {
30138
30372
  className: "me-2"
@@ -31717,7 +31951,7 @@ var ArticleDialog = function ArticleDialog(_ref) {
31717
31951
  }, t("add")))));
31718
31952
  };
31719
31953
 
31720
- 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"};
31721
31955
 
31722
31956
  var _excluded$e = ["isOpen", "onClose", "handleSaveExam"];
31723
31957
  var CreateExamDrawer = function CreateExamDrawer(props) {
@@ -31730,17 +31964,17 @@ var CreateExamDrawer = function CreateExamDrawer(props) {
31730
31964
  var theme = useTheme();
31731
31965
  var isTabletUp = useMediaQuery(theme.breakpoints.up('lg'));
31732
31966
  return React__default.createElement("div", null, React__default.createElement("div", {
31733
- className: styles$8["drawer-overlay"] + " " + (isOpen && styles$8["open"]),
31967
+ className: styles$9["drawer-overlay"] + " " + (isOpen && styles$9["open"]),
31734
31968
  onClick: function onClick() {
31735
31969
  return onClose();
31736
31970
  }
31737
31971
  }), React__default.createElement("div", {
31738
- className: styles$8["drawer"] + " bg-white " + (isOpen && styles$8["open"]),
31972
+ className: styles$9["drawer"] + " bg-white " + (isOpen && styles$9["open"]),
31739
31973
  style: {
31740
31974
  width: "" + (isTabletUp ? "70vw" : "100vw")
31741
31975
  }
31742
31976
  }, React__default.createElement("div", {
31743
- 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"
31744
31978
  }, React__default.createElement(Button, {
31745
31979
  variant: "outlined",
31746
31980
  sx: {
@@ -31759,7 +31993,7 @@ var CreateExamDrawer = function CreateExamDrawer(props) {
31759
31993
  }, React__default.createElement(FaTimes, {
31760
31994
  size: 18
31761
31995
  }))), React__default.createElement("div", {
31762
- className: "" + styles$8["drawer-form"]
31996
+ className: "" + styles$9["drawer-form"]
31763
31997
  }, React__default.createElement(ExamDetailView, Object.assign({}, examDetailViewProps)))));
31764
31998
  };
31765
31999
 
@@ -32875,7 +33109,7 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
32875
33109
  };
32876
33110
  };
32877
33111
 
32878
- var styles$9 = {"avatar":"_8niRT"};
33112
+ var styles$a = {"avatar":"_8niRT"};
32879
33113
 
32880
33114
  var _excluded$f = ["value", "disabled", "optionTypeNotification"];
32881
33115
  var TypeSelector = function TypeSelector(_ref) {
@@ -33000,7 +33234,7 @@ var NotificationForm = function NotificationForm(_ref) {
33000
33234
  className: "fw-bold mb-2",
33001
33235
  htmlFor: "main-teacher"
33002
33236
  }, t('content')), React__default.createElement("div", {
33003
- className: "" + styles$9["teacher-selector-wrapper"]
33237
+ className: "" + styles$a["teacher-selector-wrapper"]
33004
33238
  }, React__default.createElement(TinyEditor, {
33005
33239
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33006
33240
  initValue: formikProp.values.content,
@@ -33019,7 +33253,7 @@ var NotificationForm = function NotificationForm(_ref) {
33019
33253
  }, t('type'), " ", React__default.createElement("span", {
33020
33254
  className: "text-danger"
33021
33255
  }, "*")), React__default.createElement("div", {
33022
- className: "" + styles$9["teacher-selector-wrapper"]
33256
+ className: "" + styles$a["teacher-selector-wrapper"]
33023
33257
  }, React__default.createElement(TypeSelector, {
33024
33258
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33025
33259
  optionTypeNotification: notificationTypes,
@@ -33037,7 +33271,7 @@ var NotificationForm = function NotificationForm(_ref) {
33037
33271
  className: "fw-bold mb-2",
33038
33272
  htmlFor: "main-teacher"
33039
33273
  }, t('classes')), React__default.createElement("div", {
33040
- className: "" + styles$9["teacher-selector-wrapper"]
33274
+ className: "" + styles$a["teacher-selector-wrapper"]
33041
33275
  }, React__default.createElement(ClassSelector, {
33042
33276
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33043
33277
  value: classOptions,
@@ -33046,7 +33280,7 @@ var NotificationForm = function NotificationForm(_ref) {
33046
33280
  className: "fw-bold mb-2",
33047
33281
  htmlFor: "main-teacher"
33048
33282
  }, t('students')), React__default.createElement("div", {
33049
- className: "" + styles$9["teacher-selector-wrapper"]
33283
+ className: "" + styles$a["teacher-selector-wrapper"]
33050
33284
  }, React__default.createElement(StudentSelector, {
33051
33285
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33052
33286
  value: studentOptions,
@@ -33927,7 +34161,6 @@ var CompareTypeOptions = [{
33927
34161
  label: "synonym_processing",
33928
34162
  value: QuestionAnswerType.SynonymProcessing
33929
34163
  }];
33930
- var MAX_QUESTIONS_IN_QUESTION_GROUP = 20;
33931
34164
 
33932
34165
  var CustomTextbookTab = function CustomTextbookTab(props) {
33933
34166
  var children = props.children,
@@ -34391,7 +34624,7 @@ var isEqual = function isEqual(prev, next) {
34391
34624
  };
34392
34625
  var ArticleBlock$1 = memo(ArticleBlock, isEqual);
34393
34626
 
34394
- 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"};
34395
34628
 
34396
34629
  var labelStyle = {
34397
34630
  textOverflow: "ellipsis",
@@ -34417,7 +34650,7 @@ var QuestionCompareType = function QuestionCompareType(_ref) {
34417
34650
  }
34418
34651
  }, React__default.createElement(FormLabel, {
34419
34652
  htmlFor: "compare-type",
34420
- className: "" + styles$a["question-label"],
34653
+ className: "" + styles$b["question-label"],
34421
34654
  sx: _extends({}, labelStyle, {
34422
34655
  width: "unset"
34423
34656
  })
@@ -34461,7 +34694,7 @@ var QuestionOrderName = function QuestionOrderName(_ref) {
34461
34694
  var _useTranslation = useTranslation(),
34462
34695
  t = _useTranslation.t;
34463
34696
  return React__default.createElement(Box, {
34464
- className: styles$a["question-title"] + " me-2 text-nowrap",
34697
+ className: styles$b["question-title"] + " me-2 text-nowrap",
34465
34698
  sx: questionTitleStyle
34466
34699
  }, isMath ? t("problem_number_question", {
34467
34700
  number: questionOrder + 1
@@ -34686,7 +34919,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34686
34919
  var _data$correctAnswers2;
34687
34920
  return React__default.createElement(FormControlLabel, {
34688
34921
  key: i,
34689
- className: styles$a["question-label"] + " w-fit",
34922
+ className: styles$b["question-label"] + " w-fit",
34690
34923
  labelPlacement: "top",
34691
34924
  value: i,
34692
34925
  disabled: disabled,
@@ -34720,7 +34953,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34720
34953
  var _data$correctAnswers4;
34721
34954
  return React__default.createElement(FormControlLabel, {
34722
34955
  key: i,
34723
- className: styles$a["question-label"] + " w-fit",
34956
+ className: styles$b["question-label"] + " w-fit",
34724
34957
  labelPlacement: "top",
34725
34958
  value: i,
34726
34959
  onChange: function onChange(e) {
@@ -34786,7 +35019,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34786
35019
  direction: "row",
34787
35020
  gap: 2
34788
35021
  }, isTextAnswerType && React__default.createElement(FormGroup, null, React__default.createElement(FormLabel, {
34789
- className: styles$a["question-label"] + " form-label",
35022
+ className: styles$b["question-label"] + " form-label",
34790
35023
  sx: _extends({}, labelStyle, {
34791
35024
  visibility: "hidden"
34792
35025
  })
@@ -34821,7 +35054,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34821
35054
  }
34822
35055
  }, React__default.createElement(FormLabel, {
34823
35056
  htmlFor: "score",
34824
- className: styles$a["question-label"] + " form-label",
35057
+ className: styles$b["question-label"] + " form-label",
34825
35058
  sx: labelStyle
34826
35059
  }, t("score")), React__default.createElement(Field, {
34827
35060
  name: path + ".score",
@@ -34841,7 +35074,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34841
35074
  }
34842
35075
  }, React__default.createElement(FormLabel, {
34843
35076
  htmlFor: "type",
34844
- className: styles$a["question-label"] + " form-label",
35077
+ className: styles$b["question-label"] + " form-label",
34845
35078
  sx: labelStyle
34846
35079
  }, t("type")), React__default.createElement(Field, {
34847
35080
  name: path + ".questionTypeId",
@@ -34866,7 +35099,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34866
35099
  }
34867
35100
  }, React__default.createElement(FormLabel, {
34868
35101
  htmlFor: "question_answer_type",
34869
- className: styles$a["question-label"] + " form-label",
35102
+ className: styles$b["question-label"] + " form-label",
34870
35103
  sx: labelStyle
34871
35104
  }, t("question_answer_type")), React__default.createElement(Field, {
34872
35105
  name: path + ".questionAnswerType",
@@ -35262,8 +35495,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
35262
35495
  var field = _ref2.field;
35263
35496
  return React__default.createElement(QuestionCountSelector, Object.assign({}, field, {
35264
35497
  onChange: handleChangeQuestionCount,
35265
- isDisabled: disabled,
35266
- totalQuestions: MAX_QUESTIONS_IN_QUESTION_GROUP
35498
+ isDisabled: disabled
35267
35499
  }));
35268
35500
  }
35269
35501
  }))), isMath && React__default.createElement(Grid, {
@@ -37502,7 +37734,7 @@ var useTextbookList$1 = function useTextbookList() {
37502
37734
  };
37503
37735
  };
37504
37736
 
37505
- 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"};
37506
37738
 
37507
37739
  var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37508
37740
  var t = _ref.t,
@@ -37566,7 +37798,7 @@ var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37566
37798
  borderTop: "1px solid #CED2DA"
37567
37799
  }
37568
37800
  }, React__default.createElement(Button, {
37569
- className: styles$b["btn-cancel"],
37801
+ className: styles$c["btn-cancel"],
37570
37802
  onClick: onClose
37571
37803
  }, React__default.createElement(Typography, {
37572
37804
  sx: {
@@ -37577,7 +37809,7 @@ var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37577
37809
  lineHeight: "16.71px"
37578
37810
  }, t("cancel"))), React__default.createElement(Button, {
37579
37811
  variant: "contained",
37580
- className: styles$b["btn-register"],
37812
+ className: styles$c["btn-register"],
37581
37813
  type: "submit",
37582
37814
  sx: {
37583
37815
  padding: "12px 47px"
@@ -37664,12 +37896,12 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
37664
37896
  title: t("edit")
37665
37897
  }, React__default.createElement(IconButton, {
37666
37898
  color: "default",
37667
- className: styles$b["action-btn"] + " bg-warning text-white me-2",
37899
+ className: styles$c["action-btn"] + " bg-warning text-white me-2",
37668
37900
  onClick: function onClick() {
37669
37901
  return onNavigateDetail(i);
37670
37902
  }
37671
37903
  }, React__default.createElement(HiOutlinePencilAlt, {
37672
- className: styles$b["action-btn--pencil"],
37904
+ className: styles$c["action-btn--pencil"],
37673
37905
  size: 16
37674
37906
  }))), React__default.createElement(Tooltip, {
37675
37907
  title: t("edit")
@@ -37678,7 +37910,7 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
37678
37910
  return handleOpenConfirmDialog(i);
37679
37911
  },
37680
37912
  color: "default",
37681
- className: styles$b["action-btn"] + " bg-danger text-white",
37913
+ className: styles$c["action-btn"] + " bg-danger text-white",
37682
37914
  title: t("delete")
37683
37915
  }, React__default.createElement(FaTrashCan, {
37684
37916
  size: 12
@@ -38477,8 +38709,8 @@ var Header = function Header(_ref) {
38477
38709
  justifyContent: "center",
38478
38710
  alignItems: "center"
38479
38711
  }, React__default.createElement(TheAcademyDropdown, {
38480
- homeAcademyUrl: academyListRoute.path,
38481
- homeUrl: homeRoute.path,
38712
+ homeAcademyUrl: homeRoute.path,
38713
+ homeUrl: academyListRoute.path,
38482
38714
  registerUrl: registerRoute === null || registerRoute === void 0 ? void 0 : registerRoute.path,
38483
38715
  role: role,
38484
38716
  history: history,
@@ -38746,5 +38978,5 @@ var LayoutContext = function LayoutContext(_ref) {
38746
38978
  });else return React__default.createElement(Fragment$1, null, children);
38747
38979
  };
38748
38980
 
38749
- 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 };
38750
38982
  //# sourceMappingURL=index.modern.js.map