touchstudy-core 0.1.165 → 0.1.167

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/components/Dialogs/CommonDialog.d.ts +1 -0
  2. package/dist/components/Selectors/QuestionCountSelector.d.ts +0 -1
  3. package/dist/containers/ExamResult/configs/types.d.ts +2 -0
  4. package/dist/containers/ExamResult/hooks/useExamResultData.d.ts +1 -0
  5. package/dist/containers/Notes/configs/interfaces.d.ts +0 -1
  6. package/dist/containers/PreparedTextbook/configs/constants.d.ts +0 -1
  7. package/dist/containers/StudentInfoDrawer/apiClients/courseService.d.ts +2 -1
  8. package/dist/containers/StudentInfoDrawer/components/Attendance/AttedanceFormDialog.d.ts +13 -0
  9. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceCourseTable.d.ts +2 -3
  10. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceFormBody.d.ts +11 -0
  11. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceFormDialog.d.ts +13 -0
  12. package/dist/containers/StudentInfoDrawer/components/Attendance/CourseAttendanceItem.d.ts +2 -3
  13. package/dist/containers/StudentInfoDrawer/components/Attendance/DrawerAttendanceTab.d.ts +5 -1
  14. package/dist/containers/StudentInfoDrawer/components/Attendance/LessonTooltip.d.ts +2 -1
  15. package/dist/containers/StudentInfoDrawer/components/Note/NoteContent.d.ts +6 -0
  16. package/dist/containers/StudentInfoDrawer/configs/fns.d.ts +2 -2
  17. package/dist/containers/StudentInfoDrawer/configs/interfaces.d.ts +3 -3
  18. package/dist/containers/StudentInfoDrawer/configs/types.d.ts +16 -2
  19. package/dist/containers/StudentInfoDrawer/hooks/useDrawerAttendanceTab.d.ts +6 -3
  20. package/dist/containers/StudentInfoDrawer/index.d.ts +5 -1
  21. package/dist/index.css +8 -0
  22. package/dist/index.js +860 -633
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.modern.js +854 -629
  25. package/dist/index.modern.js.map +1 -1
  26. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@ var formik = require('formik');
30
30
  var tinymce = _interopDefault(require('tinymce'));
31
31
  require('@wiris/mathtype-tinymce6');
32
32
  var tinymceReact = require('@tinymce/tinymce-react');
33
- var styles$c = require('@mui/material/styles');
33
+ var styles$d = require('@mui/material/styles');
34
34
  var Grid = _interopDefault(require('@mui/material/Grid'));
35
35
  var Typography = _interopDefault(require('@mui/material/Typography'));
36
36
  var Card = _interopDefault(require('@mui/material/Card'));
@@ -52,6 +52,7 @@ var Box = _interopDefault(require('@mui/material/Box'));
52
52
  var LocalizationProvider = require('@mui/x-date-pickers/LocalizationProvider');
53
53
  var DatePicker = require('@mui/x-date-pickers/DatePicker');
54
54
  var fa6 = require('react-icons/fa6');
55
+ var cg = require('react-icons/cg');
55
56
  var DialogTitle = _interopDefault(require('@mui/material/DialogTitle'));
56
57
  var DialogContent = _interopDefault(require('@mui/material/DialogContent'));
57
58
  var DialogActions = _interopDefault(require('@mui/material/DialogActions'));
@@ -1503,6 +1504,11 @@ var removedteacherfromclass = "교사 수업 제거";
1503
1504
  var addedstudenttoclass = "학생 수업 추가";
1504
1505
  var removedstudentfromclass = "학생 수업 제거";
1505
1506
  var hidden = "숨겨진";
1507
+ var current_status = "현재 상태";
1508
+ var next_status = "다음 상태";
1509
+ var arrival_time = "도착 시간";
1510
+ var current_arrival_time = "현재 도착 시간";
1511
+ var uppdate_attendance = "출석 현황 수정";
1506
1512
  var lang_ko = {
1507
1513
  problem_solving: problem_solving,
1508
1514
  my_story: my_story,
@@ -2643,7 +2649,12 @@ var lang_ko = {
2643
2649
  removedteacherfromclass: removedteacherfromclass,
2644
2650
  addedstudenttoclass: addedstudenttoclass,
2645
2651
  removedstudentfromclass: removedstudentfromclass,
2646
- hidden: hidden
2652
+ hidden: hidden,
2653
+ current_status: current_status,
2654
+ next_status: next_status,
2655
+ arrival_time: arrival_time,
2656
+ current_arrival_time: current_arrival_time,
2657
+ uppdate_attendance: uppdate_attendance
2647
2658
  };
2648
2659
 
2649
2660
  var problem_solving$1 = "Problem Solving";
@@ -3807,6 +3818,11 @@ var removedteacherfromclass$1 = "Removed teacher from class";
3807
3818
  var addedstudenttoclass$1 = "Added student to class";
3808
3819
  var removedstudentfromclass$1 = "Removed student from class";
3809
3820
  var hidden$1 = "Hidden";
3821
+ var current_status$1 = "Current status";
3822
+ var next_status$1 = "Next status";
3823
+ var arrival_time$1 = "Arrival time";
3824
+ var current_arrival_time$1 = "Current arrival time";
3825
+ var uppdate_attendance$1 = "Update attendance";
3810
3826
  var lang_en = {
3811
3827
  problem_solving: problem_solving$1,
3812
3828
  my_story: my_story$1,
@@ -4949,7 +4965,12 @@ var lang_en = {
4949
4965
  removedteacherfromclass: removedteacherfromclass$1,
4950
4966
  addedstudenttoclass: addedstudenttoclass$1,
4951
4967
  removedstudentfromclass: removedstudentfromclass$1,
4952
- hidden: hidden$1
4968
+ hidden: hidden$1,
4969
+ current_status: current_status$1,
4970
+ next_status: next_status$1,
4971
+ arrival_time: arrival_time$1,
4972
+ current_arrival_time: current_arrival_time$1,
4973
+ uppdate_attendance: uppdate_attendance$1
4953
4974
  };
4954
4975
 
4955
4976
  i18n__default.use(reactI18next.initReactI18next).init({
@@ -5549,6 +5570,8 @@ var CommonDialog = function CommonDialog(_ref) {
5549
5570
  isShowHeader = _ref$isShowHeader === void 0 ? true : _ref$isShowHeader,
5550
5571
  titleClassName = _ref.titleClassName,
5551
5572
  minWidth = _ref.minWidth,
5573
+ _ref$zIndex = _ref.zIndex,
5574
+ zIndex = _ref$zIndex === void 0 ? 1102 : _ref$zIndex,
5552
5575
  onClose = _ref.onClose;
5553
5576
  return React__default.createElement(material.Dialog, {
5554
5577
  open: open,
@@ -5557,7 +5580,7 @@ var CommonDialog = function CommonDialog(_ref) {
5557
5580
  fullWidth: true,
5558
5581
  scroll: "body",
5559
5582
  sx: {
5560
- zIndex: 1102
5583
+ zIndex: zIndex
5561
5584
  },
5562
5585
  PaperProps: {
5563
5586
  sx: {
@@ -6165,7 +6188,7 @@ var SCORE_OPTIONS = Array.from({
6165
6188
  return i + 1;
6166
6189
  });
6167
6190
  var QUESTION_OPTIONS = Array.from({
6168
- length: 10
6191
+ length: 40
6169
6192
  }, function (_, i) {
6170
6193
  return i + 1;
6171
6194
  });
@@ -7713,22 +7736,10 @@ var QuestionCountSelector = function QuestionCountSelector(_ref) {
7713
7736
  value = _ref.value,
7714
7737
  onChange = _ref.onChange,
7715
7738
  isDisabled = _ref.isDisabled,
7716
- rest = _ref.rest,
7717
- totalQuestions = _ref.totalQuestions;
7739
+ rest = _ref.rest;
7718
7740
  var _useTranslation = reactI18next.useTranslation(),
7719
7741
  t = _useTranslation.t;
7720
- var questionOptions = totalQuestions && totalQuestions > 1 ? Array.from({
7721
- length: totalQuestions
7722
- }, function (_, i) {
7723
- return i + 1;
7724
- }).map(function (i) {
7725
- return {
7726
- label: t("question_count_format", {
7727
- number: i
7728
- }),
7729
- value: i
7730
- };
7731
- }) : QUESTION_OPTIONS.map(function (i) {
7742
+ var questionOptions = QUESTION_OPTIONS.map(function (i) {
7732
7743
  return {
7733
7744
  label: t("question_count_format", {
7734
7745
  number: i
@@ -10029,11 +10040,11 @@ var common = {
10029
10040
  white: '#FFFFFF'
10030
10041
  };
10031
10042
  var action$2 = {
10032
- hover: styles$c.alpha(grey[500], 0.08),
10033
- selected: styles$c.alpha(grey[500], 0.16),
10034
- disabled: styles$c.alpha(grey[500], 0.8),
10035
- disabledBackground: styles$c.alpha(grey[500], 0.24),
10036
- focus: styles$c.alpha(grey[500], 0.24),
10043
+ hover: styles$d.alpha(grey[500], 0.08),
10044
+ selected: styles$d.alpha(grey[500], 0.16),
10045
+ disabled: styles$d.alpha(grey[500], 0.8),
10046
+ disabledBackground: styles$d.alpha(grey[500], 0.24),
10047
+ focus: styles$d.alpha(grey[500], 0.24),
10037
10048
  hoverOpacity: 0.08,
10038
10049
  disabledOpacity: 0.48
10039
10050
  };
@@ -10053,7 +10064,7 @@ var base = {
10053
10064
  purple: purple,
10054
10065
  dark_purple: dark_purple,
10055
10066
  dark_red: dark_red,
10056
- divider: styles$c.alpha(grey[500], 0.2),
10067
+ divider: styles$d.alpha(grey[500], 0.2),
10057
10068
  action: action$2
10058
10069
  };
10059
10070
 
@@ -13308,6 +13319,8 @@ var SortIcon = function SortIcon(_ref) {
13308
13319
  }));
13309
13320
  };
13310
13321
 
13322
+ var styles$3 = {"date-picker":"_2YMvj","time-picker":"_3exYU"};
13323
+
13311
13324
  var DrawerTab;
13312
13325
  (function (DrawerTab) {
13313
13326
  DrawerTab[DrawerTab["Attendance"] = 0] = "Attendance";
@@ -13323,6 +13336,437 @@ var StudentAttendanceStatus;
13323
13336
  StudentAttendanceStatus[StudentAttendanceStatus["Late"] = 2] = "Late";
13324
13337
  })(StudentAttendanceStatus || (StudentAttendanceStatus = {}));
13325
13338
 
13339
+ var formatGrade = function formatGrade(grade, t, language) {
13340
+ return grade ? language === exports.Language.en ? "" + grade + getOrdinalSuffix(grade, language) : "" + t("number_grade", {
13341
+ number: grade
13342
+ }) : "";
13343
+ };
13344
+ var formatLessonOrder = function formatLessonOrder(index, t, language) {
13345
+ return language === exports.Language.en ? "" + (index + 1) + getOrdinalSuffix(index + 1, language) : "" + t("round", {
13346
+ number: index + 1
13347
+ });
13348
+ };
13349
+ var formatTime$1 = function formatTime(t, timeInMilliseconds) {
13350
+ var hours = Math.floor(timeInMilliseconds / 3600000);
13351
+ var minutes = Math.floor(timeInMilliseconds % 3600000 / 60000);
13352
+ var seconds = Math.floor(timeInMilliseconds % 60000 / 1000);
13353
+ return timeInMilliseconds < 60 ? "" + timeInMilliseconds + t("seconds") : t("hours_mins_seconds", {
13354
+ hours: hours,
13355
+ mins: minutes,
13356
+ seconds: seconds
13357
+ });
13358
+ };
13359
+ var a11yProps = function a11yProps(index) {
13360
+ return {
13361
+ id: "info-tab-" + index,
13362
+ "aria-controls": "info-tabpanel-" + index,
13363
+ sx: {
13364
+ position: "relative",
13365
+ fontSize: "13px",
13366
+ fontWeight: 700,
13367
+ padding: "12px 16px",
13368
+ color: grey[500],
13369
+ mx: "8px",
13370
+ "&::after": {
13371
+ content: "''",
13372
+ position: "absolute",
13373
+ bottom: 0,
13374
+ left: 0,
13375
+ width: "100%",
13376
+ height: "1px",
13377
+ backgroundColor: grey[500]
13378
+ }
13379
+ }
13380
+ };
13381
+ };
13382
+ var subtractTime = function subtractTime(time1, time2, t) {
13383
+ var hoursDiff = time1.diff(time2, "hours", false);
13384
+ var minutesDiff = time1.diff(time2, "minutes", false) - hoursDiff * 60;
13385
+ if (hoursDiff < 0) {
13386
+ hoursDiff += 24;
13387
+ }
13388
+ if (minutesDiff < 0) {
13389
+ minutesDiff += 60;
13390
+ }
13391
+ if (hoursDiff === 0) {
13392
+ return minutesDiff + " " + t("minute");
13393
+ }
13394
+ if (minutesDiff === 0) {
13395
+ return "" + (hoursDiff > 1 ? t("hours") : t("hour"));
13396
+ }
13397
+ return hoursDiff + " " + (hoursDiff > 1 ? t("hours") : t("hour")) + " " + minutesDiff + " " + t("minute");
13398
+ };
13399
+
13400
+ var CalendarFill = function CalendarFill(_ref) {
13401
+ var _ref$width = _ref.width,
13402
+ width = _ref$width === void 0 ? "16" : _ref$width,
13403
+ _ref$height = _ref.height,
13404
+ height = _ref$height === void 0 ? "16" : _ref$height,
13405
+ color = _ref.color;
13406
+ return React__default.createElement("svg", {
13407
+ width: width,
13408
+ height: height,
13409
+ fill: color,
13410
+ viewBox: "0 0 16 16",
13411
+ xmlns: "http://www.w3.org/2000/svg"
13412
+ }, React__default.createElement("path", {
13413
+ 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",
13414
+ fill: "#97A1AF"
13415
+ }), React__default.createElement("path", {
13416
+ 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",
13417
+ fill: "#97A1AF"
13418
+ }));
13419
+ };
13420
+
13421
+ var ClockFill = function ClockFill(_ref) {
13422
+ var _ref$width = _ref.width,
13423
+ width = _ref$width === void 0 ? "16" : _ref$width,
13424
+ _ref$height = _ref.height,
13425
+ height = _ref$height === void 0 ? "16" : _ref$height,
13426
+ color = _ref.color;
13427
+ return React__default.createElement("svg", {
13428
+ width: width,
13429
+ height: height,
13430
+ fill: color,
13431
+ viewBox: "0 0 14 14",
13432
+ xmlns: "http://www.w3.org/2000/svg"
13433
+ }, React__default.createElement("path", {
13434
+ 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",
13435
+ fill: "#97A1AF"
13436
+ }));
13437
+ };
13438
+
13439
+ var CheckedCircleFill = function CheckedCircleFill(_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 ? "17" : _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 16 17",
13450
+ xmlns: "http://www.w3.org/2000/svg"
13451
+ }, React__default.createElement("path", {
13452
+ 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",
13453
+ fill: "#97A1AF"
13454
+ }));
13455
+ };
13456
+
13457
+ var IconPerson = function IconPerson(_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 ? "16" : _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 16",
13468
+ xmlns: "http://www.w3.org/2000/svg"
13469
+ }, React__default.createElement("path", {
13470
+ 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",
13471
+ fill: "#97A1AF"
13472
+ }), React__default.createElement("path", {
13473
+ 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",
13474
+ fill: "#97A1AF"
13475
+ }));
13476
+ };
13477
+
13478
+ var LessonTooltip = function LessonTooltip(_ref) {
13479
+ var _startTime$format, _endTime$format;
13480
+ var lesson = _ref.lesson,
13481
+ lessonAttendance = _ref.lessonAttendance,
13482
+ _ref$padding = _ref.padding,
13483
+ padding = _ref$padding === void 0 ? "16px" : _ref$padding;
13484
+ var _useTranslation = reactI18next.useTranslation(),
13485
+ t = _useTranslation.t;
13486
+ var endTime = timeSpanToLocalMoment(lesson.endTime, lesson.date);
13487
+ var startTime = timeSpanToLocalMoment(lesson.startTime, lesson.date);
13488
+ return React__default.createElement(material.Stack, {
13489
+ padding: padding
13490
+ }, React__default.createElement(material.Stack, {
13491
+ gap: "20px"
13492
+ }, React__default.createElement(material.Typography, {
13493
+ sx: {
13494
+ color: grey[700]
13495
+ }
13496
+ }, lesson.courseName), React__default.createElement(material.Stack, {
13497
+ display: "flex",
13498
+ flexDirection: "row",
13499
+ justifyContent: "space-between",
13500
+ gap: "20px"
13501
+ }, React__default.createElement(material.Box, {
13502
+ display: "flex",
13503
+ flexDirection: "row",
13504
+ gap: "4px"
13505
+ }, React__default.createElement(CalendarFill, null), React__default.createElement(material.Typography, {
13506
+ sx: {
13507
+ color: grey[500],
13508
+ fontSize: "13px",
13509
+ fontWeight: "600",
13510
+ whiteSpace: "nowrap"
13511
+ }
13512
+ }, t("class_date"))), React__default.createElement(material.Typography, {
13513
+ sx: {
13514
+ color: grey[700],
13515
+ fontSize: "14px",
13516
+ fontWeight: "600"
13517
+ }
13518
+ }, t("" + moment(lesson === null || lesson === void 0 ? void 0 : lesson.date).format(t("date_format"))))), React__default.createElement(material.Stack, {
13519
+ display: "flex",
13520
+ flexDirection: "row",
13521
+ justifyContent: "space-between",
13522
+ gap: "20px"
13523
+ }, React__default.createElement(material.Stack, {
13524
+ display: "flex",
13525
+ flexDirection: "row",
13526
+ gap: "4px"
13527
+ }, React__default.createElement(ClockFill, null), React__default.createElement(material.Typography, {
13528
+ sx: {
13529
+ color: grey[500],
13530
+ fontSize: "13px",
13531
+ fontWeight: "600",
13532
+ whiteSpace: "nowrap"
13533
+ }
13534
+ }, t("class_time"))), React__default.createElement(material.Typography, {
13535
+ sx: {
13536
+ color: grey[700],
13537
+ fontSize: "14px",
13538
+ fontWeight: "600"
13539
+ }
13540
+ }, ((_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(material.Stack, {
13541
+ display: "flex",
13542
+ flexDirection: "row",
13543
+ justifyContent: "space-between",
13544
+ gap: "20px"
13545
+ }, React__default.createElement(material.Stack, {
13546
+ display: "flex",
13547
+ flexDirection: "row",
13548
+ gap: "4px"
13549
+ }, React__default.createElement(CheckedCircleFill, null), React__default.createElement(material.Typography, {
13550
+ sx: {
13551
+ color: grey[500],
13552
+ fontSize: "13px",
13553
+ fontWeight: "600",
13554
+ whiteSpace: "nowrap"
13555
+ }
13556
+ }, t("attendance"))), React__default.createElement(material.Typography, {
13557
+ sx: {
13558
+ color: grey[700],
13559
+ fontSize: "14px",
13560
+ fontWeight: "600"
13561
+ }
13562
+ }, (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(material.Stack, {
13563
+ display: "flex",
13564
+ flexDirection: "row",
13565
+ justifyContent: "space-between",
13566
+ gap: "20px"
13567
+ }, React__default.createElement(material.Stack, {
13568
+ display: "flex",
13569
+ flexDirection: "row",
13570
+ gap: "4px"
13571
+ }, React__default.createElement(IconPerson, null), React__default.createElement(material.Typography, {
13572
+ sx: {
13573
+ color: grey[500],
13574
+ fontSize: "13px",
13575
+ fontWeight: "600",
13576
+ whiteSpace: "nowrap"
13577
+ }
13578
+ }, t("teacher_in_charge"))), React__default.createElement(material.Typography, {
13579
+ sx: {
13580
+ color: grey[700],
13581
+ fontSize: "14px",
13582
+ fontWeight: "600"
13583
+ }
13584
+ }, lesson === null || lesson === void 0 ? void 0 : lesson.mainTeacherName))));
13585
+ };
13586
+
13587
+ var AttendanceFormBody = function AttendanceFormBody(_ref) {
13588
+ var _timeSpanToLocalMomen, _values$attendanceTim;
13589
+ var formikProp = _ref.formikProp,
13590
+ lesson = _ref.lesson,
13591
+ attendance = _ref.attendance,
13592
+ onClose = _ref.onClose;
13593
+ var values = formikProp.values,
13594
+ setFieldValue = formikProp.setFieldValue;
13595
+ var _useTranslation = reactI18next.useTranslation(),
13596
+ t = _useTranslation.t;
13597
+ var _useState = React.useState(""),
13598
+ openPicker = _useState[0],
13599
+ setOpenPicker = _useState[1];
13600
+ var maxTime = timeSpanToLocalMoment(lesson.endTime, lesson.date);
13601
+ var minTime = (_timeSpanToLocalMomen = timeSpanToLocalMoment(lesson.startTime, lesson.date)) === null || _timeSpanToLocalMomen === void 0 ? void 0 : _timeSpanToLocalMomen.add("minutes", -30);
13602
+ var handleChangeStatus = function handleChangeStatus() {
13603
+ if (values.status === StudentAttendanceStatus.Attended) setFieldValue("status", StudentAttendanceStatus.Late);else setFieldValue("status", StudentAttendanceStatus.Attended);
13604
+ };
13605
+ return React__default.createElement(React.Fragment, null, React__default.createElement(material.DialogContent, {
13606
+ sx: {
13607
+ overflowY: "unset"
13608
+ }
13609
+ }, React__default.createElement(material.Stack, {
13610
+ direction: "column",
13611
+ spacing: 1
13612
+ }, React__default.createElement(LessonTooltip, {
13613
+ lesson: lesson,
13614
+ lessonAttendance: attendance,
13615
+ padding: 0
13616
+ }), React__default.createElement(material.Divider, null), React__default.createElement(material.Stack, {
13617
+ direction: "row",
13618
+ gap: 2,
13619
+ justifyContent: "space-between",
13620
+ alignItems: "center",
13621
+ width: "100%"
13622
+ }, React__default.createElement(material.Box, null, React__default.createElement(material.Typography, {
13623
+ sx: {
13624
+ color: grey[500],
13625
+ fontSize: "13px",
13626
+ fontWeight: "600",
13627
+ whiteSpace: "nowrap"
13628
+ }
13629
+ }, t("current_status")), React__default.createElement(material.Typography, {
13630
+ sx: {
13631
+ color: green[700],
13632
+ fontSize: "14px",
13633
+ fontWeight: "600"
13634
+ }
13635
+ }, (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(cg.CgArrowsExchange, {
13636
+ size: 24,
13637
+ color: green[700]
13638
+ }), React__default.createElement(material.Stack, {
13639
+ direction: "row"
13640
+ }, React__default.createElement(material.Stack, {
13641
+ direction: "column"
13642
+ }, React__default.createElement(material.Typography, {
13643
+ sx: {
13644
+ color: grey[500],
13645
+ fontSize: "13px",
13646
+ fontWeight: "600",
13647
+ whiteSpace: "nowrap"
13648
+ }
13649
+ }, t("next_status")), React__default.createElement(material.Typography, {
13650
+ sx: {
13651
+ color: grey[700],
13652
+ fontSize: "14px",
13653
+ fontWeight: "600"
13654
+ }
13655
+ }, values.status === StudentAttendanceStatus.Late ? t("late") : values.status === StudentAttendanceStatus.Attended ? t("attendance") : t("none_attendance"))), React__default.createElement(material.IconButton, {
13656
+ onClick: handleChangeStatus
13657
+ }, React__default.createElement(io.IoMdSync, {
13658
+ size: 24,
13659
+ color: green[700]
13660
+ })))), !!(attendance !== null && attendance !== void 0 && attendance.attendanceTime) && (attendance === null || attendance === void 0 ? void 0 : attendance.attendanceTime) !== DATE_TIME_MIN_VALUE && React__default.createElement(material.Box, null, React__default.createElement(material.Typography, {
13661
+ sx: {
13662
+ color: grey[500],
13663
+ fontSize: "13px",
13664
+ fontWeight: "600",
13665
+ whiteSpace: "nowrap"
13666
+ }
13667
+ }, t("current_arrival_time")), React__default.createElement(material.Typography, null, utcToLocalTime(attendance.attendanceTime, t("date_time_format")))), values.status !== StudentAttendanceStatus.Absent && React__default.createElement(material.Box, null, React__default.createElement("label", null, t("arrival_time")), React__default.createElement(LocalizationProvider.LocalizationProvider, {
13668
+ dateAdapter: AdapterMoment.AdapterMoment
13669
+ }, React__default.createElement(demo.DemoContainer, {
13670
+ components: ["TimePicker"]
13671
+ }, React__default.createElement(xDatePickers.TimePicker, {
13672
+ open: openPicker === "attendanceTime",
13673
+ value: (_values$attendanceTim = values.attendanceTime) != null ? _values$attendanceTim : null,
13674
+ format: "HH:mm",
13675
+ maxTime: maxTime,
13676
+ minTime: minTime,
13677
+ onChange: function onChange(newValue) {
13678
+ setFieldValue("attendanceTime", newValue);
13679
+ },
13680
+ timezone: "system",
13681
+ className: styles$3["time-picker"] + " w-100",
13682
+ slotProps: {
13683
+ textField: {
13684
+ onClick: function onClick() {
13685
+ return setOpenPicker("attendanceTime");
13686
+ }
13687
+ }
13688
+ },
13689
+ closeOnSelect: false,
13690
+ onOpen: function onOpen() {
13691
+ return setOpenPicker("attendanceTime");
13692
+ },
13693
+ onClose: function onClose() {
13694
+ return setOpenPicker("");
13695
+ },
13696
+ ampm: false
13697
+ })))))), React__default.createElement(material.DialogActions, null, React__default.createElement(material.Button, {
13698
+ variant: "contained",
13699
+ className: "bg-secondary mb-2 text-capitalize",
13700
+ onClick: onClose
13701
+ }, t("cancel")), React__default.createElement(material.Button, {
13702
+ variant: "contained",
13703
+ color: "primary",
13704
+ className: "mb-2 me-2 text-capitalize",
13705
+ onClick: function onClick() {
13706
+ return formikProp.handleSubmit();
13707
+ }
13708
+ }, t("continue"))));
13709
+ };
13710
+
13711
+ var AttendanceFormDialog = function AttendanceFormDialog(_ref) {
13712
+ var lesson = _ref.lesson,
13713
+ studentId = _ref.studentId,
13714
+ attendance = _ref.attendance,
13715
+ open = _ref.open,
13716
+ _ref$zIndex = _ref.zIndex,
13717
+ zIndex = _ref$zIndex === void 0 ? 1300 : _ref$zIndex,
13718
+ onClose = _ref.onClose,
13719
+ onSubmit = _ref.onSubmit;
13720
+ var _useTranslation = reactI18next.useTranslation(),
13721
+ t = _useTranslation.t;
13722
+ var convertAttendanceRequest = function convertAttendanceRequest() {
13723
+ return {
13724
+ studentId: studentId,
13725
+ attendanceTime: attendance !== null && attendance !== void 0 && attendance.attendanceTime && attendance.attendanceTime !== DATE_TIME_MIN_VALUE ? moment.utc(attendance.attendanceTime).local() : undefined,
13726
+ 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
13727
+ };
13728
+ };
13729
+ var attendanceRequest = React.useMemo(convertAttendanceRequest, [attendance === null || attendance === void 0 ? void 0 : attendance.attendanceTime, studentId]);
13730
+ var handleSubmit = function handleSubmit(values, _) {
13731
+ try {
13732
+ if (!lesson) return Promise.resolve();
13733
+ var attendanceTime = undefined;
13734
+ if (values.attendanceTime) {
13735
+ var minTime = timeSpanToLocalMoment(lesson.startTime, lesson.date).add(-30, "minutes");
13736
+ var attendanceMoment = moment(minTime.format("YYYY-MM-DD") + " " + values.attendanceTime.format("HH:mm:ss"), "YYYY-MM-DD HH:mm:ss");
13737
+ if (attendanceMoment.isBefore(minTime)) attendanceMoment.add(1, "days");
13738
+ attendanceTime = attendanceMoment.utc().format("YYYY-MM-DDTHH:mm:ss.SSS");
13739
+ }
13740
+ return Promise.resolve(onSubmit(lesson, {
13741
+ studentId: values.studentId,
13742
+ status: values.status,
13743
+ attendanceTime: attendanceTime
13744
+ })).then(function () {});
13745
+ } catch (e) {
13746
+ return Promise.reject(e);
13747
+ }
13748
+ };
13749
+ if (!lesson) return null;
13750
+ return React__default.createElement(CommonDialog, {
13751
+ open: open,
13752
+ onClose: onClose,
13753
+ size: "sm",
13754
+ title: t("uppdate_attendance"),
13755
+ zIndex: zIndex
13756
+ }, React__default.createElement(formik.Formik, {
13757
+ initialValues: attendanceRequest,
13758
+ enableReinitialize: true,
13759
+ onSubmit: handleSubmit
13760
+ }, function (formikProp) {
13761
+ return React__default.createElement(AttendanceFormBody, {
13762
+ lesson: lesson,
13763
+ attendance: attendance,
13764
+ formikProp: formikProp,
13765
+ onClose: onClose
13766
+ });
13767
+ }));
13768
+ };
13769
+
13326
13770
  var USER_URL = BASE_URL + "/api/user";
13327
13771
  var getUserByIdApi = function getUserByIdApi(id) {
13328
13772
  return api.get(USER_URL + "/GetById/" + id);
@@ -13420,80 +13864,6 @@ var DrawerContainerStyle = function DrawerContainerStyle(width) {
13420
13864
  };
13421
13865
  };
13422
13866
 
13423
- var formatGrade = function formatGrade(grade, t, language) {
13424
- return grade ? language === exports.Language.en ? "" + grade + getOrdinalSuffix(grade, language) : "" + t("number_grade", {
13425
- number: grade
13426
- }) : "";
13427
- };
13428
- var formatLessonOrder = function formatLessonOrder(index, t, language) {
13429
- return language === exports.Language.en ? "" + (index + 1) + getOrdinalSuffix(index + 1, language) : "" + t("round", {
13430
- number: index + 1
13431
- });
13432
- };
13433
- var formatTime$1 = function formatTime(t, timeInMilliseconds) {
13434
- var hours = Math.floor(timeInMilliseconds / 3600000);
13435
- var minutes = Math.floor(timeInMilliseconds % 3600000 / 60000);
13436
- var seconds = Math.floor(timeInMilliseconds % 60000 / 1000);
13437
- return timeInMilliseconds < 60 ? "" + timeInMilliseconds + t("seconds") : t("hours_mins_seconds", {
13438
- hours: hours,
13439
- mins: minutes,
13440
- seconds: seconds
13441
- });
13442
- };
13443
- var a11yProps = function a11yProps(index) {
13444
- return {
13445
- id: "info-tab-" + index,
13446
- "aria-controls": "info-tabpanel-" + index,
13447
- sx: {
13448
- position: "relative",
13449
- fontSize: "13px",
13450
- fontWeight: 700,
13451
- padding: "12px 16px",
13452
- color: grey[500],
13453
- mx: "8px",
13454
- "&::after": {
13455
- content: "''",
13456
- position: "absolute",
13457
- bottom: 0,
13458
- left: 0,
13459
- width: "100%",
13460
- height: "1px",
13461
- backgroundColor: grey[500]
13462
- }
13463
- }
13464
- };
13465
- };
13466
- var subtractTime = function subtractTime(time1, time2, t) {
13467
- var _time1$split$map = time1.split(":").map(Number),
13468
- hours1 = _time1$split$map[0],
13469
- minutes1 = _time1$split$map[1];
13470
- var _time2$split$map = time2.split(":").map(Number),
13471
- hours2 = _time2$split$map[0],
13472
- minutes2 = _time2$split$map[1];
13473
- var totalMinutes1 = hours1 * 60 + minutes1;
13474
- var totalMinutes2 = hours2 * 60 + minutes2;
13475
- var diffMinutes = Math.abs(totalMinutes1 - totalMinutes2);
13476
- var hoursDiff = Math.floor(diffMinutes / 60);
13477
- var minutesDiff = diffMinutes % 60;
13478
- if (hoursDiff < 0) {
13479
- hoursDiff += 24;
13480
- }
13481
- if (minutesDiff < 0) {
13482
- minutesDiff += 60;
13483
- }
13484
- if (hoursDiff === 0) {
13485
- return minutesDiff + " " + t("minute");
13486
- }
13487
- if (minutesDiff === 0) {
13488
- return "" + (hoursDiff > 1 ? t("hours") : t("hour"));
13489
- }
13490
- return hoursDiff + " " + (hoursDiff > 1 ? t("hours") : t("hour")) + " " + minutesDiff + " " + t("minute");
13491
- };
13492
- var formatTimeHHmm = function formatTimeHHmm(time) {
13493
- var res = time.split(":");
13494
- return res[0] + ":" + res[1];
13495
- };
13496
-
13497
13867
  var DrawerHeader = function DrawerHeader(_ref) {
13498
13868
  var _BRIEF_GRADE_OPTIONS$;
13499
13869
  var isLoading = _ref.isLoading,
@@ -14464,7 +14834,7 @@ var defaultSeries = function defaultSeries(t) {
14464
14834
  }];
14465
14835
  };
14466
14836
 
14467
- 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"};
14837
+ 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"};
14468
14838
 
14469
14839
  var iconCloseDialog = function iconCloseDialog(_ref) {
14470
14840
  var _ref$width = _ref.width,
@@ -14505,7 +14875,7 @@ var NoteTinyEditor = function NoteTinyEditor(_ref) {
14505
14875
  external_plugins: {
14506
14876
  tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
14507
14877
  },
14508
- plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'textcolor', 'wordcount'],
14878
+ plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'wordcount'],
14509
14879
  toolbar: 'undo redo | blocks fontfamily fontsize forecolor backcolor | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat | tiny_mce_wiris_formulaEditor | tiny_mce_wiris_formulaEditorChemistry',
14510
14880
  branding: false,
14511
14881
  extended_valid_elements: '*[.*]',
@@ -14530,9 +14900,7 @@ var schema$1 = yup.object().shape({
14530
14900
  content: yup.string().required()
14531
14901
  });
14532
14902
  var ClassNoteDialog = function ClassNoteDialog(_ref) {
14533
- var _ref$id = _ref.id,
14534
- id = _ref$id === void 0 ? "class-note-dialog" : _ref$id,
14535
- open = _ref.open,
14903
+ var open = _ref.open,
14536
14904
  studentName = _ref.studentName,
14537
14905
  selectedNote = _ref.selectedNote,
14538
14906
  tip = _ref.tip,
@@ -14544,26 +14912,14 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14544
14912
  var handleSaveNote = function handleSaveNote(content) {
14545
14913
  onSaveNote(content);
14546
14914
  };
14547
- React.useEffect(function () {
14548
- if (open) {
14549
- var _document$getElementB;
14550
- (_document$getElementB = document.getElementById(id)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.setAttribute("inert", "true");
14551
- } else {
14552
- var _document$getElementB2;
14553
- (_document$getElementB2 = document.getElementById(id)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.removeAttribute("inert");
14554
- }
14555
- return function () {
14556
- var _document$getElementB3;
14557
- (_document$getElementB3 = document.getElementById(id)) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.removeAttribute("inert");
14558
- };
14559
- }, [open, id]);
14560
14915
  return React__default.createElement(material.Dialog, {
14561
14916
  onClose: onClose,
14562
14917
  open: open,
14563
14918
  maxWidth: "md",
14564
14919
  scroll: "body",
14565
14920
  fullWidth: true,
14566
- id: id
14921
+ disableEnforceFocus: true,
14922
+ disableAutoFocus: true
14567
14923
  }, React__default.createElement(DialogTitle, {
14568
14924
  id: "customized-dialog-title"
14569
14925
  }, React__default.createElement(Typography, {
@@ -14606,7 +14962,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14606
14962
  padding: "24px 24px 40px 24px"
14607
14963
  }, (selectedNote || studentName) && React__default.createElement(material.Stack, null, React__default.createElement("label", {
14608
14964
  htmlFor: "questions",
14609
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
14965
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14610
14966
  }, t("student_name")), React__default.createElement(Typography, {
14611
14967
  sx: {
14612
14968
  fontWeight: 700,
@@ -14615,7 +14971,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14615
14971
  }
14616
14972
  }, selectedNote ? selectedNote.fullName : studentName)), React__default.createElement(material.Stack, null, React__default.createElement("label", {
14617
14973
  htmlFor: "content-question",
14618
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
14974
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14619
14975
  }, t("incorrect_answer_note_contents")), React__default.createElement(material.Box, {
14620
14976
  position: "relative",
14621
14977
  display: "flex",
@@ -14649,7 +15005,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14649
15005
  borderTop: "1px solid #CED2DA"
14650
15006
  }
14651
15007
  }, React__default.createElement(MButton, {
14652
- className: styles$3["btn-cancel"],
15008
+ className: styles$4["btn-cancel"],
14653
15009
  onClick: onClose
14654
15010
  }, React__default.createElement(Typography, {
14655
15011
  sx: {
@@ -14663,7 +15019,7 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14663
15019
  sx: {
14664
15020
  bgcolor: styles.dark
14665
15021
  },
14666
- className: styles$3["btn-register"],
15022
+ className: styles$4["btn-register"],
14667
15023
  type: "submit",
14668
15024
  disabled: !values.content.trim().length
14669
15025
  }, React__default.createElement(Typography, {
@@ -14772,7 +15128,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14772
15128
  padding: "24px 24px 40px 24px"
14773
15129
  }, React__default.createElement(material.Stack, null, React__default.createElement("label", {
14774
15130
  htmlFor: "questions",
14775
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
15131
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14776
15132
  }, t("problem_number")), selectedQuestion || selectedNote ? React__default.createElement(Typography, {
14777
15133
  sx: {
14778
15134
  fontWeight: 700,
@@ -14799,7 +15155,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14799
15155
  }
14800
15156
  })), React__default.createElement(material.Stack, null, React__default.createElement("label", {
14801
15157
  htmlFor: "content-question",
14802
- className: styles["form-label"] + " " + styles$3["form-label-dialog"]
15158
+ className: styles["form-label"] + " " + styles$4["form-label-dialog"]
14803
15159
  }, t("incorrect_answer_note_contents")), React__default.createElement(material.Box, {
14804
15160
  position: "relative",
14805
15161
  display: "flex",
@@ -14828,7 +15184,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14828
15184
  borderTop: "1px solid #CED2DA"
14829
15185
  }
14830
15186
  }, React__default.createElement(MButton, {
14831
- className: styles$3["btn-cancel"],
15187
+ className: styles$4["btn-cancel"],
14832
15188
  onClick: onClose
14833
15189
  }, React__default.createElement(Typography, {
14834
15190
  sx: {
@@ -14842,7 +15198,7 @@ var ExamNoteDialog = function ExamNoteDialog(_ref) {
14842
15198
  sx: {
14843
15199
  bgcolor: styles.dark
14844
15200
  },
14845
- className: styles$3["btn-register"],
15201
+ className: styles$4["btn-register"],
14846
15202
  type: "submit",
14847
15203
  disabled: !values.content.trim().length
14848
15204
  }, React__default.createElement(Typography, {
@@ -15204,8 +15560,28 @@ var NotesContainer = function NotesContainer(_ref) {
15204
15560
  });
15205
15561
  };
15206
15562
 
15563
+ var NoteContent = function NoteContent(_ref) {
15564
+ var content = _ref.content;
15565
+ React.useEffect(function () {
15566
+ if (window.MathJax) {
15567
+ var _window$MathJax;
15568
+ (_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
15569
+ }
15570
+ }, [content]);
15571
+ return React__default.createElement(material.Box, {
15572
+ sx: {
15573
+ fontSize: "14px",
15574
+ fontWeight: "300",
15575
+ color: "#414E62"
15576
+ },
15577
+ dangerouslySetInnerHTML: {
15578
+ __html: content
15579
+ }
15580
+ });
15581
+ };
15582
+
15207
15583
  var NoteDrawer = function NoteDrawer(props) {
15208
- var _BRIEF_GRADE_OPTIONS$;
15584
+ var _BRIEF_GRADE_OPTIONS$, _data$content;
15209
15585
  var anchor = props.anchor,
15210
15586
  open = props.open,
15211
15587
  student = props.student,
@@ -15224,12 +15600,6 @@ var NoteDrawer = function NoteDrawer(props) {
15224
15600
  var _state$common2;
15225
15601
  return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
15226
15602
  });
15227
- React.useEffect(function () {
15228
- if (window.MathJax) {
15229
- var _window$MathJax;
15230
- (_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
15231
- }
15232
- }, [data === null || data === void 0 ? void 0 : data.content]);
15233
15603
  return React__default.createElement(material.Drawer, {
15234
15604
  anchor: anchor,
15235
15605
  open: open,
@@ -15345,15 +15715,8 @@ var NoteDrawer = function NoteDrawer(props) {
15345
15715
  color: "#97A1AF",
15346
15716
  textAlign: "end"
15347
15717
  }
15348
- }, academy === null || academy === void 0 ? void 0 : academy.name))), React__default.createElement(material.Box, {
15349
- sx: {
15350
- fontSize: "14px",
15351
- fontWeight: "300",
15352
- color: "#414E62"
15353
- },
15354
- dangerouslySetInnerHTML: {
15355
- __html: (data === null || data === void 0 ? void 0 : data.content) || ""
15356
- }
15718
+ }, academy === null || academy === void 0 ? void 0 : academy.name))), React__default.createElement(NoteContent, {
15719
+ content: (_data$content = data === null || data === void 0 ? void 0 : data.content) != null ? _data$content : ""
15357
15720
  })));
15358
15721
  };
15359
15722
 
@@ -15999,7 +16362,6 @@ var TEXTBOOK_DEFAULT_FILTER = {
15999
16362
  sortColumnName: "Name",
16000
16363
  preparedFilterType: "RecentlySolvedQuestions"
16001
16364
  };
16002
- var FormatDate = "YYYY-MM-DD HH:mm:ss";
16003
16365
 
16004
16366
  var EXAM_SESSION_URL$1 = BASE_URL + "/api/examSession";
16005
16367
  var getExamSessionListApi = function getExamSessionListApi(query) {
@@ -17258,7 +17620,7 @@ Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==t
17258
17620
 
17259
17621
  var ReactApexChart = unwrapExports(reactApexcharts_min);
17260
17622
 
17261
- 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"};
17623
+ 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"};
17262
17624
 
17263
17625
  var printStyles = {"page-break":"_35kyG","print-exact-color":"_1PFgl","avoid-break-inside":"_3rPGh"};
17264
17626
 
@@ -17427,7 +17789,7 @@ var AnswerItem = function AnswerItem(_ref) {
17427
17789
  },
17428
17790
  key: data.id
17429
17791
  }, React__default.createElement("div", {
17430
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
17792
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
17431
17793
  }, React__default.createElement("div", {
17432
17794
  className: styles["custom-col-2"],
17433
17795
  style: {
@@ -17437,7 +17799,7 @@ var AnswerItem = function AnswerItem(_ref) {
17437
17799
  padding: "5px 8px"
17438
17800
  }
17439
17801
  }, data.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
17440
- className: styles$4["questionOrder"]
17802
+ className: styles$5["questionOrder"]
17441
17803
  }, t("number_question", {
17442
17804
  number: data.questionOrder + 1
17443
17805
  }))), React__default.createElement("div", {
@@ -17448,11 +17810,11 @@ var AnswerItem = function AnswerItem(_ref) {
17448
17810
  gap: "4px"
17449
17811
  }
17450
17812
  }, data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
17451
- className: styles$4["answerCorrect"]
17813
+ className: styles$5["answerCorrect"]
17452
17814
  }, t("correct"))), !data.isCorrect && data.selectedAnswers !== "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
17453
- className: styles$4["answerIncorrect"]
17815
+ className: styles$5["answerIncorrect"]
17454
17816
  }, t("incorrect"))), data.selectedAnswers === "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
17455
- className: styles$4["answerNograss"]
17817
+ className: styles$5["answerNograss"]
17456
17818
  }, t("no_solution")))), React__default.createElement("div", {
17457
17819
  className: styles["custom-col-2"],
17458
17820
  style: {
@@ -17463,12 +17825,12 @@ var AnswerItem = function AnswerItem(_ref) {
17463
17825
  style: {
17464
17826
  margin: 0
17465
17827
  },
17466
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
17828
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
17467
17829
  }, formatTimeSecond(Math.round(data.duration), t)) : React__default.createElement("p", {
17468
17830
  style: {
17469
17831
  margin: 0
17470
17832
  },
17471
- className: styles$4["answerNoTime"]
17833
+ className: styles$5["answerNoTime"]
17472
17834
  }, t("no_time"))), React__default.createElement("div", {
17473
17835
  className: styles["custom-col-2"],
17474
17836
  style: {
@@ -17479,13 +17841,13 @@ var AnswerItem = function AnswerItem(_ref) {
17479
17841
  style: {
17480
17842
  margin: 0
17481
17843
  },
17482
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
17844
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
17483
17845
  }, formatTimeDiff(data.duration, data.topDuration, t)) : React__default.createElement("p", {
17484
17846
  style: {
17485
17847
  margin: 0,
17486
17848
  textAlign: "center"
17487
17849
  },
17488
- className: styles$4["answerNoTime"]
17850
+ className: styles$5["answerNoTime"]
17489
17851
  }, "-")), React__default.createElement("div", {
17490
17852
  className: styles["custom-col-2"],
17491
17853
  style: {
@@ -17496,12 +17858,12 @@ var AnswerItem = function AnswerItem(_ref) {
17496
17858
  style: {
17497
17859
  margin: 0
17498
17860
  },
17499
- className: styles$4["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$4)
17861
+ className: styles$5["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$5)
17500
17862
  }, data.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
17501
17863
  style: {
17502
17864
  margin: 0
17503
17865
  },
17504
- className: styles$4["answerNoTime"]
17866
+ className: styles$5["answerNoTime"]
17505
17867
  }, t("no_time"))), isStudent && !isLearningSpace && React__default.createElement(material.Box, {
17506
17868
  className: styles["custom-col-2"]
17507
17869
  }, openContextMenu ? React__default.createElement(material.ClickAwayListener, {
@@ -17568,7 +17930,7 @@ var MyAnswer = function MyAnswer(_ref) {
17568
17930
  }));
17569
17931
  };
17570
17932
  return React__default.createElement("div", {
17571
- className: "" + styles$4["myanswer"]
17933
+ className: "" + styles$5["myanswer"]
17572
17934
  }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
17573
17935
  return React__default.createElement("div", {
17574
17936
  key: item.category.id
@@ -17578,7 +17940,7 @@ var MyAnswer = function MyAnswer(_ref) {
17578
17940
  bgcolor: "#F9FAFB",
17579
17941
  flexDirection: "row",
17580
17942
  padding: "12px",
17581
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
17943
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
17582
17944
  }, React__default.createElement("div", {
17583
17945
  className: styles["custom-col-2"],
17584
17946
  style: {
@@ -17657,7 +18019,7 @@ var MyAnswer = function MyAnswer(_ref) {
17657
18019
  alignItems: "center"
17658
18020
  }
17659
18021
  }, t("total_correct_rate")))), React__default.createElement("div", {
17660
- className: styles$4["titleMyAnswer2"]
18022
+ className: styles$5["titleMyAnswer2"]
17661
18023
  }, React__default.createElement(material.Typography, {
17662
18024
  sx: {
17663
18025
  color: "#97A1AF",
@@ -17670,7 +18032,7 @@ var MyAnswer = function MyAnswer(_ref) {
17670
18032
  fontWeight: 700
17671
18033
  }
17672
18034
  }, item.category.name))), React__default.createElement("div", {
17673
- className: styles$4["contentMyAnswer"]
18035
+ className: styles$5["contentMyAnswer"]
17674
18036
  }, React__default.createElement(ListView, {
17675
18037
  data: item.questions,
17676
18038
  render: function render(question, index) {
@@ -17786,7 +18148,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17786
18148
  borderTop: index < effectSize.length - 1 ? "1px solid transparent" : undefined
17787
18149
  }
17788
18150
  }, React__default.createElement("td", {
17789
- className: styles$4["tdcolumn1"]
18151
+ className: styles$5["tdcolumn1"]
17790
18152
  }, t("problem"), " ", item.questionOrder + 1), React__default.createElement("td", {
17791
18153
  style: {
17792
18154
  textAlign: "center",
@@ -17794,9 +18156,9 @@ var CompareGrass = function CompareGrass(_ref2) {
17794
18156
  maxWidth: "30%"
17795
18157
  }
17796
18158
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
17797
- className: styles$4["tdcolumn3"],
18159
+ className: styles$5["tdcolumn3"],
17798
18160
  style: {
17799
- color: item.isCorrect ? styles$4.green_support_900 : styles$4.red_900,
18161
+ color: item.isCorrect ? styles$5.green_support_900 : styles$5.red_900,
17800
18162
  maxWidth: "30%"
17801
18163
  }
17802
18164
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
@@ -17807,7 +18169,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17807
18169
  }, renderAnswer(item.questionAnswerType, item.mostSelectedAnswers)), React__default.createElement("td", {
17808
18170
  className: "" + printStyles["avoid-break-inside"]
17809
18171
  }, React__default.createElement("div", {
17810
- className: styles$4["classification"] + " " + printStyles["avoid-break-inside"]
18172
+ className: styles$5["classification"] + " " + printStyles["avoid-break-inside"]
17811
18173
  }, item.problemCategories.map(function (problem, index) {
17812
18174
  return React__default.createElement(material.Stack, {
17813
18175
  flexDirection: "row",
@@ -17850,11 +18212,11 @@ var CompareGrass = function CompareGrass(_ref2) {
17850
18212
  });
17851
18213
  };
17852
18214
  return React__default.createElement("div", {
17853
- className: "" + styles$4["compareGrass"]
18215
+ className: "" + styles$5["compareGrass"]
17854
18216
  }, React__default.createElement("div", {
17855
- className: styles$4["tableCompareGrass"]
18217
+ className: styles$5["tableCompareGrass"]
17856
18218
  }, React__default.createElement("div", {
17857
- className: styles$4["table-responsive"]
18219
+ className: styles$5["table-responsive"]
17858
18220
  }, React__default.createElement(material.Table, {
17859
18221
  style: {
17860
18222
  width: "100%"
@@ -17866,7 +18228,7 @@ var CompareGrass = function CompareGrass(_ref2) {
17866
18228
  },
17867
18229
  className: "" + printStyles["avoid-break-inside"]
17868
18230
  }, React__default.createElement("tr", null, React__default.createElement("th", {
17869
- className: styles$4["thcolumn1"]
18231
+ className: styles$5["thcolumn1"]
17870
18232
  }, t("problem_number")), React__default.createElement("th", {
17871
18233
  style: {
17872
18234
  textAlign: "center"
@@ -17947,37 +18309,37 @@ var TrickyProblem = function TrickyProblem(_ref) {
17947
18309
  });
17948
18310
  var renderProblems = function renderProblems() {
17949
18311
  return React__default.createElement(React.Fragment, null, React__default.createElement("div", {
17950
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
18312
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
17951
18313
  }, React__default.createElement(iconX, null), React__default.createElement("span", null, t("incorrect_problem_among_the_starred_problems"))), React__default.createElement("div", {
17952
- className: styles$4["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
18314
+ className: styles$5["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
17953
18315
  }, !!(inCorrectQuestions !== null && inCorrectQuestions !== void 0 && inCorrectQuestions.length) && inCorrectQuestions.map(function (question) {
17954
18316
  return React__default.createElement("span", {
17955
18317
  key: question.id,
17956
- className: styles$4["question"]
18318
+ className: styles$5["question"]
17957
18319
  }, t("number_question", {
17958
18320
  number: question.questionOrder + 1
17959
18321
  }));
17960
18322
  }), !(data !== null && data !== void 0 && data.questions.length) && React__default.createElement("div", {
17961
- className: styles$4["noData"]
18323
+ className: styles$5["noData"]
17962
18324
  }, t("no_data"))), React__default.createElement("div", {
17963
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
18325
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
17964
18326
  }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, t("correct_problem_among_the_starred_problems"))), React__default.createElement("div", {
17965
- className: styles$4["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
18327
+ className: styles$5["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
17966
18328
  }, !!(correctQuestions !== null && correctQuestions !== void 0 && correctQuestions.length) && correctQuestions.map(function (question) {
17967
18329
  return React__default.createElement("div", {
17968
18330
  key: question.id,
17969
- className: styles$4["question"]
18331
+ className: styles$5["question"]
17970
18332
  }, t("number_question", {
17971
18333
  number: question.questionOrder + 1
17972
18334
  }));
17973
18335
  }), !(data !== null && data !== void 0 && data.questions.length) && React__default.createElement("div", {
17974
- className: styles$4["noData"]
18336
+ className: styles$5["noData"]
17975
18337
  }, t("no_data"))));
17976
18338
  };
17977
18339
  return React__default.createElement("div", {
17978
- className: "" + styles$4["wrapperProblem"]
18340
+ className: "" + styles$5["wrapperProblem"]
17979
18341
  }, React__default.createElement("div", {
17980
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18342
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
17981
18343
  onClick: function onClick() {
17982
18344
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
17983
18345
  }
@@ -17989,10 +18351,10 @@ var TrickyProblem = function TrickyProblem(_ref) {
17989
18351
  }
17990
18352
  }, t("tricky_problems")), isOpen ? React__default.createElement(io5.IoChevronUp, {
17991
18353
  size: 24,
17992
- color: styles$4.gray_300
18354
+ color: styles$5.gray_300
17993
18355
  }) : React__default.createElement(io5.IoChevronDown, {
17994
18356
  size: 24,
17995
- color: styles$4.gray_300
18357
+ color: styles$5.gray_300
17996
18358
  })), isOpen && React__default.createElement(React.Fragment, null, renderProblems()));
17997
18359
  };
17998
18360
 
@@ -18018,9 +18380,9 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18018
18380
  borderBottom: "1px solid #e4e7ec"
18019
18381
  } : {}
18020
18382
  }, React__default.createElement("td", {
18021
- className: styles$4["tdcolumn1"],
18383
+ className: styles$5["tdcolumn1"],
18022
18384
  style: {
18023
- color: styles$4.gray_900,
18385
+ color: styles$5.gray_900,
18024
18386
  fontSize: "13px",
18025
18387
  fontWeight: 500
18026
18388
  }
@@ -18029,22 +18391,22 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18029
18391
  })), React__default.createElement("td", {
18030
18392
  style: {
18031
18393
  textAlign: "center",
18032
- color: styles$4.gray_700,
18394
+ color: styles$5.gray_700,
18033
18395
  fontSize: "13px",
18034
18396
  fontWeight: 500
18035
18397
  }
18036
18398
  }, item.duration ? formatTimeSecond(item.duration, t) : ""), React__default.createElement("td", {
18037
- className: styles$4["tdcolumn3"],
18399
+ className: styles$5["tdcolumn3"],
18038
18400
  style: {
18039
18401
  textAlign: "center",
18040
- color: styles$4.gray_700,
18402
+ color: styles$5.gray_700,
18041
18403
  fontSize: "13px",
18042
18404
  fontWeight: 500
18043
18405
  }
18044
18406
  }, item.topDuration ? formatTimeSecond(item.topDuration, t) : ""), React__default.createElement("td", {
18045
18407
  style: {
18046
18408
  textAlign: "center",
18047
- color: isBetter ? styles$4.dark : styles$4.red_900,
18409
+ color: isBetter ? styles$5.dark : styles$5.red_900,
18048
18410
  fontSize: "13px",
18049
18411
  fontWeight: 600
18050
18412
  }
@@ -18060,15 +18422,15 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18060
18422
  return React__default.createElement(material.Stack, {
18061
18423
  direction: "row",
18062
18424
  flexWrap: "nowrap",
18063
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
18425
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
18064
18426
  key: item.id
18065
18427
  }, React__default.createElement(material.Box, {
18066
18428
  width: "160px",
18067
- className: styles$4["contentColumn1"]
18429
+ className: styles$5["contentColumn1"]
18068
18430
  }, React__default.createElement(material.Stack, null, React__default.createElement("div", null, React__default.createElement("span", {
18069
- className: styles$4["span1"]
18431
+ className: styles$5["span1"]
18070
18432
  }, t("problem")), React__default.createElement("span", {
18071
- className: styles$4["span2"]
18433
+ className: styles$5["span2"]
18072
18434
  }, t("number_question", {
18073
18435
  number: item.questionOrder + 1
18074
18436
  }))), (category === null || category === void 0 ? void 0 : category.name) && React__default.createElement(material.Typography, {
@@ -18079,22 +18441,22 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18079
18441
  textAlign: "center"
18080
18442
  }
18081
18443
  }, category.name))), React__default.createElement(material.Box, {
18082
- className: styles$4["contentColumn2"]
18444
+ className: styles$5["contentColumn2"]
18083
18445
  }, React__default.createElement("div", null, React__default.createElement("span", {
18084
- className: styles$4["span1"]
18446
+ className: styles$5["span1"]
18085
18447
  }, t("my_time")), React__default.createElement("span", {
18086
- className: styles$4["span2"]
18448
+ className: styles$5["span2"]
18087
18449
  }, t("top_time"))), React__default.createElement("div", null, React__default.createElement("span", {
18088
- className: styles$4["duration"]
18450
+ className: styles$5["duration"]
18089
18451
  }, formatTimeSecond(item.duration, t)), React__default.createElement("span", {
18090
- className: styles$4["topDuration"]
18452
+ className: styles$5["topDuration"]
18091
18453
  }, formatTimeSecond(item.topDuration, t)))));
18092
18454
  });
18093
18455
  };
18094
18456
  return React__default.createElement("div", {
18095
- className: "" + styles$4["wrapperProblem"]
18457
+ className: "" + styles$5["wrapperProblem"]
18096
18458
  }, React__default.createElement("div", {
18097
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18459
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
18098
18460
  onClick: function onClick() {
18099
18461
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
18100
18462
  }
@@ -18110,20 +18472,20 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18110
18472
  }
18111
18473
  }, t("problems_that_took_a_long_time")), React__default.createElement(material.Typography, {
18112
18474
  sx: {
18113
- color: styles$4.gray_300,
18475
+ color: styles$5.gray_300,
18114
18476
  fontSize: "11px",
18115
18477
  fontWeight: 500
18116
18478
  }
18117
18479
  }, t("protracted_problem_detail"))), isOpen ? React__default.createElement(io5.IoChevronUp, {
18118
18480
  size: 24,
18119
- color: styles$4.gray_300
18481
+ color: styles$5.gray_300
18120
18482
  }) : React__default.createElement(io5.IoChevronDown, {
18121
18483
  size: 24,
18122
- color: styles$4.gray_300
18484
+ color: styles$5.gray_300
18123
18485
  })), isOpen && React__default.createElement(React.Fragment, null, data.length ? React__default.createElement("div", {
18124
- className: styles$4["tableCompareGrass"]
18486
+ className: styles$5["tableCompareGrass"]
18125
18487
  }, React__default.createElement("div", {
18126
- className: styles$4["table-responsive"]
18488
+ className: styles$5["table-responsive"]
18127
18489
  }, React__default.createElement(material.Table, {
18128
18490
  style: {
18129
18491
  width: "100%",
@@ -18135,7 +18497,7 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18135
18497
  },
18136
18498
  className: "" + printStyles["avoid-break-inside"]
18137
18499
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18138
- className: styles$4["thcolumn1"]
18500
+ className: styles$5["thcolumn1"]
18139
18501
  }, t("problem_number")), React__default.createElement("th", {
18140
18502
  style: {
18141
18503
  textAlign: "center"
@@ -18149,7 +18511,7 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
18149
18511
  textAlign: "center"
18150
18512
  }
18151
18513
  }, t("time_comparison")))), React__default.createElement("tbody", null, isMyStoryStudent ? renderTableBody(data) : renderQuestions(data))))) : React__default.createElement("div", {
18152
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18514
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18153
18515
  }, t("no_data"))));
18154
18516
  };
18155
18517
 
@@ -18221,39 +18583,39 @@ var Vulnerable = function Vulnerable(_ref) {
18221
18583
  borderBottom: index < data.length - 1 ? "1px solid #e4e7ec" : undefined
18222
18584
  }
18223
18585
  }, React__default.createElement("td", {
18224
- className: styles$4["tdcolumn1"],
18586
+ className: styles$5["tdcolumn1"],
18225
18587
  style: {
18226
- color: styles$4.gray_900,
18588
+ color: styles$5.gray_900,
18227
18589
  fontSize: "13px",
18228
18590
  fontWeight: 600
18229
18591
  }
18230
18592
  }, React__default.createElement(material.Typography, {
18231
- color: styles$4.gray_900,
18593
+ color: styles$5.gray_900,
18232
18594
  fontSize: "13px",
18233
18595
  fontWeight: 600
18234
18596
  }, t("problem") + " " + (item.questionOrder + 1))), React__default.createElement("td", {
18235
18597
  style: {
18236
18598
  textAlign: "center",
18237
- color: styles$4.dark,
18599
+ color: styles$5.dark,
18238
18600
  fontSize: "13px",
18239
18601
  fontWeight: 600
18240
18602
  }
18241
18603
  }, item.overallCorrectRate.toFixed(2) ? item.overallCorrectRate.toFixed(2) + "%" : ""), React__default.createElement("td", {
18242
- className: styles$4["tdcolumn3"],
18604
+ className: styles$5["tdcolumn3"],
18243
18605
  style: {
18244
- color: styles$4.red_900,
18606
+ color: styles$5.red_900,
18245
18607
  fontSize: "13px",
18246
18608
  fontWeight: 500
18247
18609
  }
18248
18610
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
18249
18611
  style: {
18250
18612
  textAlign: "center",
18251
- color: styles$4.gray_700
18613
+ color: styles$5.gray_700
18252
18614
  }
18253
18615
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
18254
18616
  style: {
18255
18617
  textAlign: "center",
18256
- color: styles$4.gray_700
18618
+ color: styles$5.gray_700
18257
18619
  }
18258
18620
  }, item.category.name ? item.category.name : ""));
18259
18621
  });
@@ -18264,18 +18626,18 @@ var Vulnerable = function Vulnerable(_ref) {
18264
18626
  return React__default.createElement(material.Stack, {
18265
18627
  direction: "row",
18266
18628
  flexWrap: "nowrap",
18267
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
18629
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
18268
18630
  key: question.id
18269
18631
  }, React__default.createElement(material.Box, {
18270
18632
  width: "160px",
18271
- className: styles$4["contentColumn1"]
18633
+ className: styles$5["contentColumn1"]
18272
18634
  }, React__default.createElement(material.Stack, {
18273
18635
  direction: "column",
18274
18636
  gap: 1
18275
18637
  }, React__default.createElement("div", null, React__default.createElement("span", {
18276
- className: styles$4["span1"]
18638
+ className: styles$5["span1"]
18277
18639
  }, t("problem_number")), React__default.createElement("span", {
18278
- className: styles$4["span2"]
18640
+ className: styles$5["span2"]
18279
18641
  }, t("number_question", {
18280
18642
  number: question.questionOrder + 1
18281
18643
  }))), ((_question$category = question.category) === null || _question$category === void 0 ? void 0 : _question$category.name) && React__default.createElement(material.Typography, {
@@ -18286,18 +18648,18 @@ var Vulnerable = function Vulnerable(_ref) {
18286
18648
  textAlign: "center"
18287
18649
  }
18288
18650
  }, question.category.name))), React__default.createElement(material.Box, {
18289
- className: styles$4["contentColumn2"],
18651
+ className: styles$5["contentColumn2"],
18290
18652
  sx: {
18291
18653
  alignItems: "center"
18292
18654
  }
18293
18655
  }, React__default.createElement("div", null, React__default.createElement("span", {
18294
- className: styles$4["span1"]
18656
+ className: styles$5["span1"]
18295
18657
  }, t("total_correct_rate")), React__default.createElement("span", {
18296
- className: styles$4["span2"]
18658
+ className: styles$5["span2"]
18297
18659
  }, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
18298
- className: styles$4["overallCorrectRate"]
18660
+ className: styles$5["overallCorrectRate"]
18299
18661
  }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
18300
- className: styles$4["answer"]
18662
+ className: styles$5["answer"]
18301
18663
  }, 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)))));
18302
18664
  });
18303
18665
  };
@@ -18305,9 +18667,9 @@ var Vulnerable = function Vulnerable(_ref) {
18305
18667
  changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
18306
18668
  };
18307
18669
  return React__default.createElement("div", {
18308
- className: "" + styles$4["wrapperProblem"]
18670
+ className: "" + styles$5["wrapperProblem"]
18309
18671
  }, React__default.createElement("div", {
18310
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18672
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
18311
18673
  onClick: handleToggle
18312
18674
  }, React__default.createElement(material.Stack, {
18313
18675
  flexDirection: "row",
@@ -18321,20 +18683,20 @@ var Vulnerable = function Vulnerable(_ref) {
18321
18683
  }
18322
18684
  }, t("issues_vulnerable")), React__default.createElement(material.Typography, {
18323
18685
  sx: {
18324
- color: styles$4.gray_300,
18686
+ color: styles$5.gray_300,
18325
18687
  fontSize: "11px",
18326
18688
  fontWeight: 500
18327
18689
  }
18328
18690
  }, t("vulnerable_detail"))), isOpen ? React__default.createElement(io5.IoChevronUp, {
18329
18691
  size: 24,
18330
- color: styles$4.gray_300
18692
+ color: styles$5.gray_300
18331
18693
  }) : React__default.createElement(io5.IoChevronDown, {
18332
18694
  size: 24,
18333
- color: styles$4.gray_300
18695
+ color: styles$5.gray_300
18334
18696
  })), isOpen && React__default.createElement(React.Fragment, null, incorrectQuestions.length ? React__default.createElement("div", {
18335
- className: styles$4["tableCompareGrass"]
18697
+ className: styles$5["tableCompareGrass"]
18336
18698
  }, React__default.createElement("div", {
18337
- className: styles$4["table-responsive"]
18699
+ className: styles$5["table-responsive"]
18338
18700
  }, isMyStoryStudent && React__default.createElement(material.Table, {
18339
18701
  style: {
18340
18702
  width: "100%",
@@ -18346,7 +18708,7 @@ var Vulnerable = function Vulnerable(_ref) {
18346
18708
  },
18347
18709
  className: "" + printStyles["avoid-break-inside"]
18348
18710
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18349
- className: styles$4["thcolumn1"]
18711
+ className: styles$5["thcolumn1"]
18350
18712
  }, t("problem_number")), React__default.createElement("th", {
18351
18713
  style: {
18352
18714
  textAlign: "center"
@@ -18364,7 +18726,7 @@ var Vulnerable = function Vulnerable(_ref) {
18364
18726
  textAlign: "center"
18365
18727
  }
18366
18728
  }, t("_category")))), React__default.createElement("tbody", null, renderTableBody(incorrectQuestions))), !isMyStoryStudent && renderQuestions(incorrectQuestions))) : React__default.createElement("div", {
18367
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18729
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18368
18730
  }, t("no_data"))));
18369
18731
  };
18370
18732
 
@@ -18415,24 +18777,24 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18415
18777
  borderBottom: index < data.length - 1 ? "1px solid #e4e7ec" : undefined
18416
18778
  }
18417
18779
  }, React__default.createElement("td", {
18418
- className: styles$4["tdcolumn1"],
18780
+ className: styles$5["tdcolumn1"],
18419
18781
  style: {
18420
- color: styles$4.gray_900,
18782
+ color: styles$5.gray_900,
18421
18783
  fontSize: "13px",
18422
18784
  fontWeight: 600
18423
18785
  }
18424
18786
  }, item.name), React__default.createElement("td", {
18425
18787
  style: {
18426
18788
  textAlign: "center",
18427
- color: styles$4.gray_900,
18789
+ color: styles$5.gray_900,
18428
18790
  fontSize: "13px",
18429
18791
  fontWeight: 600
18430
18792
  }
18431
18793
  }, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("td", {
18432
- className: styles$4["tdcolumn3"],
18794
+ className: styles$5["tdcolumn3"],
18433
18795
  style: {
18434
18796
  textAlign: "center",
18435
- color: styles$4.gray_700,
18797
+ color: styles$5.gray_700,
18436
18798
  fontSize: "13px",
18437
18799
  fontWeight: 500
18438
18800
  }
@@ -18441,7 +18803,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18441
18803
  }) : ""), React__default.createElement("td", {
18442
18804
  style: {
18443
18805
  textAlign: "center",
18444
- color: styles$4.gray_700,
18806
+ color: styles$5.gray_700,
18445
18807
  fontSize: "13px",
18446
18808
  fontWeight: 500
18447
18809
  }
@@ -18450,7 +18812,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18450
18812
  }) : ""), React__default.createElement("td", {
18451
18813
  style: {
18452
18814
  textAlign: "center",
18453
- color: styles$4.gray_700,
18815
+ color: styles$5.gray_700,
18454
18816
  fontSize: "13px",
18455
18817
  fontWeight: 500
18456
18818
  }
@@ -18463,26 +18825,26 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18463
18825
  left: item.percentageAmongStudents + "%"
18464
18826
  };
18465
18827
  return React__default.createElement("div", {
18466
- className: styles$4["contentProblem"] + " " + printStyles["avoid-break-inside"],
18828
+ className: styles$5["contentProblem"] + " " + printStyles["avoid-break-inside"],
18467
18829
  key: item.id
18468
18830
  }, React__default.createElement("div", {
18469
- className: styles$4["labelProblem"]
18831
+ className: styles$5["labelProblem"]
18470
18832
  }, React__default.createElement("span", {
18471
- className: styles$4["name"]
18833
+ className: styles$5["name"]
18472
18834
  }, item.name), React__default.createElement("div", {
18473
- className: styles$4["percent"]
18835
+ className: styles$5["percent"]
18474
18836
  }, React__default.createElement("span", null, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("span", null, item.totalCorrectQuestions, "/", item.totalQuestions, t("problems")))), React__default.createElement("div", {
18475
- className: styles$4["slider"]
18837
+ className: styles$5["slider"]
18476
18838
  }, React__default.createElement("div", null, React__default.createElement("span", {
18477
- className: styles$4["track"],
18839
+ className: styles$5["track"],
18478
18840
  style: trackStyle
18479
18841
  }))));
18480
18842
  });
18481
18843
  };
18482
18844
  return React__default.createElement("div", {
18483
- className: "" + styles$4["wrapperProblem"]
18845
+ className: "" + styles$5["wrapperProblem"]
18484
18846
  }, React__default.createElement("div", {
18485
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
18847
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
18486
18848
  onClick: function onClick() {
18487
18849
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : ProblemKey.GradesByTerritory);
18488
18850
  }
@@ -18494,14 +18856,14 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18494
18856
  }
18495
18857
  }, t("grades_by_area")), isOpen ? React__default.createElement(io5.IoChevronUp, {
18496
18858
  size: 24,
18497
- color: styles$4.gray_300
18859
+ color: styles$5.gray_300
18498
18860
  }) : React__default.createElement(io5.IoChevronDown, {
18499
18861
  size: 24,
18500
- color: styles$4.gray_300
18862
+ color: styles$5.gray_300
18501
18863
  })), isOpen && React__default.createElement(React.Fragment, null, formattedData.length ? React__default.createElement("div", {
18502
- className: styles$4["tableCompareGrass"]
18864
+ className: styles$5["tableCompareGrass"]
18503
18865
  }, React__default.createElement("div", {
18504
- className: styles$4["table-responsive"]
18866
+ className: styles$5["table-responsive"]
18505
18867
  }, isMyStoryStudent && React__default.createElement(material.Table, {
18506
18868
  style: {
18507
18869
  width: "100%",
@@ -18513,7 +18875,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18513
18875
  },
18514
18876
  className: "" + printStyles["avoid-break-inside"]
18515
18877
  }, React__default.createElement("tr", null, React__default.createElement("th", {
18516
- className: styles$4["thcolumn1"]
18878
+ className: styles$5["thcolumn1"]
18517
18879
  }, t("categories")), React__default.createElement("th", {
18518
18880
  style: {
18519
18881
  textAlign: "center"
@@ -18531,7 +18893,7 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
18531
18893
  textAlign: "center"
18532
18894
  }
18533
18895
  }, t("total_solve_time")))), React__default.createElement("tbody", null, renderTableBody(formattedData))), !isMyStoryStudent && renderCategories(formattedData))) : React__default.createElement("div", {
18534
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
18896
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
18535
18897
  }, t("no_data"))));
18536
18898
  };
18537
18899
 
@@ -18641,7 +19003,7 @@ function CreateNewQuestionDialog(_ref) {
18641
19003
  padding: "24px 24px 40px 24px"
18642
19004
  }, React__default.createElement(material.Stack, null, React__default.createElement("label", {
18643
19005
  htmlFor: "questions",
18644
- className: styles["form-label"] + " " + styles$4["form-label-dialog"]
19006
+ className: styles["form-label"] + " " + styles$5["form-label-dialog"]
18645
19007
  }, t("questions_to_ask")), React__default.createElement(formik.Field, {
18646
19008
  id: "questions",
18647
19009
  name: "questionId",
@@ -18660,7 +19022,7 @@ function CreateNewQuestionDialog(_ref) {
18660
19022
  }
18661
19023
  })), React__default.createElement(material.Stack, null, React__default.createElement("label", {
18662
19024
  htmlFor: "content-question",
18663
- className: styles["form-label"] + " " + styles$4["form-label-dialog"]
19025
+ className: styles["form-label"] + " " + styles$5["form-label-dialog"]
18664
19026
  }, t("question_content")), React__default.createElement(material.Box, {
18665
19027
  position: "relative",
18666
19028
  display: "flex",
@@ -18688,7 +19050,7 @@ function CreateNewQuestionDialog(_ref) {
18688
19050
  fontWeight: 500,
18689
19051
  fontSize: "10px",
18690
19052
  lineHeight: "11.93px",
18691
- color: !(errors !== null && errors !== void 0 && errors.content) ? "#97A1AF" : styles$4.red_900
19053
+ color: !(errors !== null && errors !== void 0 && errors.content) ? "#97A1AF" : styles$5.red_900
18692
19054
  }, !(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, {
18693
19055
  sx: {
18694
19056
  display: "flex",
@@ -18698,7 +19060,7 @@ function CreateNewQuestionDialog(_ref) {
18698
19060
  borderTop: "1px solid #CED2DA"
18699
19061
  }
18700
19062
  }, React__default.createElement(MButton, {
18701
- className: styles$4["btn-cancel"],
19063
+ className: styles$5["btn-cancel"],
18702
19064
  onClick: onCloseCreateQuestion
18703
19065
  }, React__default.createElement(Typography, {
18704
19066
  sx: {
@@ -18712,7 +19074,7 @@ function CreateNewQuestionDialog(_ref) {
18712
19074
  sx: {
18713
19075
  bgcolor: styles.dark
18714
19076
  },
18715
- className: styles$4["btn-register"],
19077
+ className: styles$5["btn-register"],
18716
19078
  type: "submit",
18717
19079
  disabled: !values.content.trim().length
18718
19080
  }, React__default.createElement(Typography, {
@@ -18768,18 +19130,18 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
18768
19130
  color: "#414E62"
18769
19131
  }
18770
19132
  }, t("article_number"), " ", timelyOrderQuestion.article), React__default.createElement("div", {
18771
- className: styles$4["compareChart"] + " " + printStyles["avoid-break-inside"]
19133
+ className: styles$5["compareChart"] + " " + printStyles["avoid-break-inside"]
18772
19134
  }, React__default.createElement("div", {
18773
- className: "" + styles$4["prevChart"]
19135
+ className: "" + styles$5["prevChart"]
18774
19136
  }), React__default.createElement("div", {
18775
- className: styles$4["chart"] + " sr-line-chart"
19137
+ className: styles$5["chart"] + " sr-line-chart"
18776
19138
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18777
19139
  ref: chartRef,
18778
19140
  height: 389,
18779
19141
  options: chartOptions,
18780
19142
  series: series
18781
19143
  }))), React__default.createElement("div", {
18782
- className: "" + styles$4["nextChart"]
19144
+ className: "" + styles$5["nextChart"]
18783
19145
  })));
18784
19146
  };
18785
19147
 
@@ -18818,7 +19180,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18818
19180
  },
18819
19181
  key: data.id
18820
19182
  }, React__default.createElement("div", {
18821
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
19183
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
18822
19184
  }, React__default.createElement("div", {
18823
19185
  className: styles["custom-col-2"],
18824
19186
  style: {
@@ -18828,7 +19190,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18828
19190
  padding: "5px 8px"
18829
19191
  }
18830
19192
  }, data.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
18831
- className: styles$4["questionOrder"]
19193
+ className: styles$5["questionOrder"]
18832
19194
  }, t("number_question", {
18833
19195
  number: data.questionOrder + 1
18834
19196
  }))), React__default.createElement("div", {
@@ -18839,11 +19201,11 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18839
19201
  gap: "4px"
18840
19202
  }
18841
19203
  }, 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(React.Fragment, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
18842
- className: styles$4["answerCorrect"]
19204
+ className: styles$5["answerCorrect"]
18843
19205
  }, 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(React.Fragment, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
18844
- className: styles$4["answerIncorrect"]
19206
+ className: styles$5["answerIncorrect"]
18845
19207
  }, 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(React.Fragment, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
18846
- className: styles$4["answerNograss"]
19208
+ className: styles$5["answerNograss"]
18847
19209
  }, t("no_solution")))), React__default.createElement("div", {
18848
19210
  className: styles["custom-col-2"],
18849
19211
  style: {
@@ -18854,12 +19216,12 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18854
19216
  style: {
18855
19217
  margin: 0
18856
19218
  },
18857
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
19219
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
18858
19220
  }, formatTimeSecond(Math.round(data.duration), t)) : React__default.createElement("p", {
18859
19221
  style: {
18860
19222
  margin: 0
18861
19223
  },
18862
- className: styles$4["answerNoTime"]
19224
+ className: styles$5["answerNoTime"]
18863
19225
  }, t("no_time"))), React__default.createElement("div", {
18864
19226
  className: styles["custom-col-2"],
18865
19227
  style: {
@@ -18870,13 +19232,13 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18870
19232
  style: {
18871
19233
  margin: 0
18872
19234
  },
18873
- className: styles$4["answer-response"] + " " + styles$4["answer-response-" + data.answerResponseSignal]
19235
+ className: styles$5["answer-response"] + " " + styles$5["answer-response-" + data.answerResponseSignal]
18874
19236
  }, formatTimeDiff(data.duration, data.topDuration, t)) : React__default.createElement("p", {
18875
19237
  style: {
18876
19238
  margin: 0,
18877
19239
  textAlign: "center"
18878
19240
  },
18879
- className: styles$4["answerNoTime"]
19241
+ className: styles$5["answerNoTime"]
18880
19242
  }, "-")), React__default.createElement("div", {
18881
19243
  className: styles["custom-col-2"],
18882
19244
  style: {
@@ -18887,12 +19249,12 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
18887
19249
  style: {
18888
19250
  margin: 0
18889
19251
  },
18890
- className: styles$4["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$4)
19252
+ className: styles$5["answer-response"] + " " + getOverallColorClassName(data.overallCorrectRate, styles$5)
18891
19253
  }, data.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
18892
19254
  style: {
18893
19255
  margin: 0
18894
19256
  },
18895
- className: styles$4["answerNoTime"]
19257
+ className: styles$5["answerNoTime"]
18896
19258
  }, t("no_time"))), isStudent && !isLearningSpace && React__default.createElement(material.Box, {
18897
19259
  className: styles["custom-col-2"]
18898
19260
  }, openContextMenu ? React__default.createElement(material.ClickAwayListener, {
@@ -18964,7 +19326,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
18964
19326
  }));
18965
19327
  };
18966
19328
  return React__default.createElement("div", {
18967
- className: "" + styles$4["myanswer"]
19329
+ className: "" + styles$5["myanswer"]
18968
19330
  }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
18969
19331
  var _item$categories;
18970
19332
  return React__default.createElement("div", {
@@ -18975,7 +19337,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
18975
19337
  bgcolor: "#F9FAFB",
18976
19338
  flexDirection: "row",
18977
19339
  padding: "12px",
18978
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
19340
+ className: styles$5["myAnswerItem"] + " " + styles["noGutters"]
18979
19341
  }, React__default.createElement("div", {
18980
19342
  className: styles["custom-col-2"],
18981
19343
  style: {
@@ -19054,7 +19416,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
19054
19416
  alignItems: "center"
19055
19417
  }
19056
19418
  }, t("total_correct_rate")))), React__default.createElement("div", {
19057
- className: styles$4["titleMyAnswer2"]
19419
+ className: styles$5["titleMyAnswer2"]
19058
19420
  }, React__default.createElement(material.Typography, {
19059
19421
  sx: {
19060
19422
  color: "#97A1AF",
@@ -19069,7 +19431,7 @@ var TextbookMyAnswer = function TextbookMyAnswer(_ref) {
19069
19431
  }, (_item$categories = item.categories) === null || _item$categories === void 0 ? void 0 : _item$categories.map(function (i) {
19070
19432
  return i.name;
19071
19433
  }).join(" / ")))), React__default.createElement("div", {
19072
- className: styles$4["contentMyAnswer"]
19434
+ className: styles$5["contentMyAnswer"]
19073
19435
  }, React__default.createElement(ListView, {
19074
19436
  data: item.questions,
19075
19437
  render: function render(question, index) {
@@ -19099,24 +19461,24 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19099
19461
  borderBottom: index < (data === null || data === void 0 ? void 0 : data.length) - 1 ? "1px solid #e4e7ec" : undefined
19100
19462
  }
19101
19463
  }, React__default.createElement("td", {
19102
- className: styles$4["tdcolumn1"],
19464
+ className: styles$5["tdcolumn1"],
19103
19465
  style: {
19104
- color: styles$4.gray_900,
19466
+ color: styles$5.gray_900,
19105
19467
  fontSize: "13px",
19106
19468
  fontWeight: 600
19107
19469
  }
19108
19470
  }, item.name), React__default.createElement("td", {
19109
19471
  style: {
19110
19472
  textAlign: "center",
19111
- color: styles$4.gray_900,
19473
+ color: styles$5.gray_900,
19112
19474
  fontSize: "13px",
19113
19475
  fontWeight: 600
19114
19476
  }
19115
19477
  }, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("td", {
19116
- className: styles$4["tdcolumn3"],
19478
+ className: styles$5["tdcolumn3"],
19117
19479
  style: {
19118
19480
  textAlign: "center",
19119
- color: styles$4.gray_700,
19481
+ color: styles$5.gray_700,
19120
19482
  fontSize: "13px",
19121
19483
  fontWeight: 500
19122
19484
  }
@@ -19125,7 +19487,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19125
19487
  }) : ""), React__default.createElement("td", {
19126
19488
  style: {
19127
19489
  textAlign: "center",
19128
- color: styles$4.gray_700,
19490
+ color: styles$5.gray_700,
19129
19491
  fontSize: "13px",
19130
19492
  fontWeight: 500
19131
19493
  }
@@ -19134,7 +19496,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19134
19496
  }) : ""), React__default.createElement("td", {
19135
19497
  style: {
19136
19498
  textAlign: "center",
19137
- color: styles$4.gray_700,
19499
+ color: styles$5.gray_700,
19138
19500
  fontSize: "13px",
19139
19501
  fontWeight: 500
19140
19502
  }
@@ -19148,26 +19510,26 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19148
19510
  left: item.percentageAmongStudents + "%"
19149
19511
  };
19150
19512
  return React__default.createElement("div", {
19151
- className: styles$4["contentProblem"] + " " + printStyles["avoid-break-inside"],
19513
+ className: styles$5["contentProblem"] + " " + printStyles["avoid-break-inside"],
19152
19514
  key: item.id
19153
19515
  }, React__default.createElement("div", {
19154
- className: styles$4["labelProblem"]
19516
+ className: styles$5["labelProblem"]
19155
19517
  }, React__default.createElement("span", {
19156
- className: styles$4["name"]
19518
+ className: styles$5["name"]
19157
19519
  }, item.name), React__default.createElement("div", {
19158
- className: styles$4["percent"]
19520
+ className: styles$5["percent"]
19159
19521
  }, 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", {
19160
- className: styles$4["slider"]
19522
+ className: styles$5["slider"]
19161
19523
  }, React__default.createElement("div", null, React__default.createElement("span", {
19162
- className: styles$4["track"],
19524
+ className: styles$5["track"],
19163
19525
  style: trackStyle
19164
19526
  }))));
19165
19527
  });
19166
19528
  };
19167
19529
  return React__default.createElement("div", {
19168
- className: "" + styles$4["wrapperProblem"]
19530
+ className: "" + styles$5["wrapperProblem"]
19169
19531
  }, React__default.createElement("div", {
19170
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
19532
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
19171
19533
  onClick: function onClick() {
19172
19534
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : ProblemKey.GradesByTerritory);
19173
19535
  }
@@ -19179,14 +19541,14 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19179
19541
  }
19180
19542
  }, t("grades_by_area")), isOpen ? React__default.createElement(io5.IoChevronUp, {
19181
19543
  size: 24,
19182
- color: styles$4.gray_300
19544
+ color: styles$5.gray_300
19183
19545
  }) : React__default.createElement(io5.IoChevronDown, {
19184
19546
  size: 24,
19185
- color: styles$4.gray_300
19547
+ color: styles$5.gray_300
19186
19548
  })), isOpen && React__default.createElement(React.Fragment, null, formattedData.length ? React__default.createElement("div", {
19187
- className: styles$4["tableCompareGrass"]
19549
+ className: styles$5["tableCompareGrass"]
19188
19550
  }, React__default.createElement("div", {
19189
- className: styles$4["table-responsive"]
19551
+ className: styles$5["table-responsive"]
19190
19552
  }, isMyStoryStudent && React__default.createElement(material.Table, {
19191
19553
  style: {
19192
19554
  width: "100%",
@@ -19198,7 +19560,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19198
19560
  },
19199
19561
  className: "" + printStyles["avoid-break-inside"]
19200
19562
  }, React__default.createElement("tr", null, React__default.createElement("th", {
19201
- className: styles$4["thcolumn1"]
19563
+ className: styles$5["thcolumn1"]
19202
19564
  }, t("categories")), React__default.createElement("th", {
19203
19565
  style: {
19204
19566
  textAlign: "center"
@@ -19216,7 +19578,7 @@ var TextbookGradesByTerritory = function TextbookGradesByTerritory(_ref) {
19216
19578
  textAlign: "center"
19217
19579
  }
19218
19580
  }, t("total_solve_time")))), React__default.createElement("tbody", null, renderTableBody(formattedData))), !isMyStoryStudent && renderCategories(formattedData))) : React__default.createElement("div", {
19219
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
19581
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
19220
19582
  }, t("no_data"))));
19221
19583
  };
19222
19584
 
@@ -19289,39 +19651,39 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19289
19651
  borderBottom: index < (data === null || data === void 0 ? void 0 : data.length) - 1 ? "1px solid #e4e7ec" : undefined
19290
19652
  }
19291
19653
  }, React__default.createElement("td", {
19292
- className: styles$4["tdcolumn1"],
19654
+ className: styles$5["tdcolumn1"],
19293
19655
  style: {
19294
- color: styles$4.gray_900,
19656
+ color: styles$5.gray_900,
19295
19657
  fontSize: "13px",
19296
19658
  fontWeight: 600
19297
19659
  }
19298
19660
  }, React__default.createElement(material.Typography, {
19299
- color: styles$4.gray_900,
19661
+ color: styles$5.gray_900,
19300
19662
  fontSize: "13px",
19301
19663
  fontWeight: 600
19302
19664
  }, t("problem") + " " + (item.questionOrder + 1))), React__default.createElement("td", {
19303
19665
  style: {
19304
19666
  textAlign: "center",
19305
- color: styles$4.dark,
19667
+ color: styles$5.dark,
19306
19668
  fontSize: "13px",
19307
19669
  fontWeight: 600
19308
19670
  }
19309
19671
  }, item.overallCorrectRate.toFixed(2) ? item.overallCorrectRate.toFixed(2) + "%" : ""), React__default.createElement("td", {
19310
- className: styles$4["tdcolumn3"],
19672
+ className: styles$5["tdcolumn3"],
19311
19673
  style: {
19312
- color: styles$4.red_900,
19674
+ color: styles$5.red_900,
19313
19675
  fontSize: "13px",
19314
19676
  fontWeight: 500
19315
19677
  }
19316
19678
  }, typeof item.selectedAnswers === "string" ? renderAnswer(item.questionAnswerType, item.selectedAnswers) : renderTextbookAnswer(item.questionAnswerType, item.selectedAnswers, item.textualAnswers)), React__default.createElement("td", {
19317
19679
  style: {
19318
19680
  textAlign: "center",
19319
- color: styles$4.gray_700
19681
+ color: styles$5.gray_700
19320
19682
  }
19321
19683
  }, typeof item.correctAnswers === "string" ? renderAnswer(item.questionAnswerType, item.correctAnswers) : renderTextbookAnswer(item.questionAnswerType, item.correctAnswers, item.correctTextualAnswers, true)), React__default.createElement("td", {
19322
19684
  style: {
19323
19685
  textAlign: "center",
19324
- color: styles$4.gray_700
19686
+ color: styles$5.gray_700
19325
19687
  }
19326
19688
  }, item.categories ? item.categories.map(function (i) {
19327
19689
  return i.name;
@@ -19333,31 +19695,31 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19333
19695
  return React__default.createElement(material.Grid, {
19334
19696
  container: true,
19335
19697
  flexWrap: "nowrap",
19336
- className: styles$4["content"] + " " + printStyles["avoid-break-inside"],
19698
+ className: styles$5["content"] + " " + printStyles["avoid-break-inside"],
19337
19699
  key: question.id
19338
19700
  }, React__default.createElement(material.Grid, {
19339
19701
  item: true,
19340
19702
  xs: 1.5,
19341
19703
  minWidth: "120px",
19342
- className: styles$4["contentColumn1"]
19704
+ className: styles$5["contentColumn1"]
19343
19705
  }, React__default.createElement("div", null, React__default.createElement("span", {
19344
- className: styles$4["span1"]
19706
+ className: styles$5["span1"]
19345
19707
  }, t("problem_number")), React__default.createElement("span", {
19346
- className: styles$4["span2"]
19708
+ className: styles$5["span2"]
19347
19709
  }, t("number_question", {
19348
19710
  number: question.questionOrder + 1
19349
19711
  })))), React__default.createElement(material.Grid, {
19350
19712
  item: true,
19351
19713
  xs: 10.5,
19352
- className: styles$4["contentColumn2"]
19714
+ className: styles$5["contentColumn2"]
19353
19715
  }, React__default.createElement("div", null, React__default.createElement("span", {
19354
- className: styles$4["span1"]
19716
+ className: styles$5["span1"]
19355
19717
  }, t("total_correct_rate")), React__default.createElement("span", {
19356
- className: styles$4["span2"]
19718
+ className: styles$5["span2"]
19357
19719
  }, t("my_wrong_answer"))), React__default.createElement("div", null, React__default.createElement("span", {
19358
- className: styles$4["overallCorrectRate"]
19720
+ className: styles$5["overallCorrectRate"]
19359
19721
  }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
19360
- className: styles$4["answer"]
19722
+ className: styles$5["answer"]
19361
19723
  }, 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)))));
19362
19724
  });
19363
19725
  };
@@ -19365,9 +19727,9 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19365
19727
  changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
19366
19728
  };
19367
19729
  return React__default.createElement("div", {
19368
- className: "" + styles$4["wrapperProblem"]
19730
+ className: "" + styles$5["wrapperProblem"]
19369
19731
  }, React__default.createElement("div", {
19370
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
19732
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
19371
19733
  onClick: handleToggle
19372
19734
  }, React__default.createElement(material.Stack, {
19373
19735
  flexDirection: "row",
@@ -19381,20 +19743,20 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19381
19743
  }
19382
19744
  }, t("issues_vulnerable")), React__default.createElement(material.Typography, {
19383
19745
  sx: {
19384
- color: styles$4.gray_300,
19746
+ color: styles$5.gray_300,
19385
19747
  fontSize: "11px",
19386
19748
  fontWeight: 500
19387
19749
  }
19388
19750
  }, t("vulnerable_detail"))), isOpen ? React__default.createElement(io5.IoChevronUp, {
19389
19751
  size: 24,
19390
- color: styles$4.gray_300
19752
+ color: styles$5.gray_300
19391
19753
  }) : React__default.createElement(io5.IoChevronDown, {
19392
19754
  size: 24,
19393
- color: styles$4.gray_300
19755
+ color: styles$5.gray_300
19394
19756
  })), isOpen && React__default.createElement(React.Fragment, null, incorrectQuestions !== null && incorrectQuestions !== void 0 && incorrectQuestions.length ? React__default.createElement("div", {
19395
- className: styles$4["tableCompareGrass"]
19757
+ className: styles$5["tableCompareGrass"]
19396
19758
  }, React__default.createElement("div", {
19397
- className: styles$4["table-responsive"]
19759
+ className: styles$5["table-responsive"]
19398
19760
  }, isMyStoryStudent && React__default.createElement(material.Table, {
19399
19761
  style: {
19400
19762
  width: "100%",
@@ -19406,7 +19768,7 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19406
19768
  },
19407
19769
  className: "" + printStyles["avoid-break-inside"]
19408
19770
  }, React__default.createElement("tr", null, React__default.createElement("th", {
19409
- className: styles$4["thcolumn1"]
19771
+ className: styles$5["thcolumn1"]
19410
19772
  }, t("problem_number")), React__default.createElement("th", {
19411
19773
  style: {
19412
19774
  textAlign: "center"
@@ -19424,7 +19786,7 @@ var TextbookVulnerable = function TextbookVulnerable(_ref) {
19424
19786
  textAlign: "center"
19425
19787
  }
19426
19788
  }, t("_category")))), React__default.createElement("tbody", null, renderTableBody(incorrectQuestions))), !isMyStoryStudent && renderQuestions(incorrectQuestions))) : React__default.createElement("div", {
19427
- className: styles$4["noData"] + " " + printStyles["avoid-break-inside"]
19789
+ className: styles$5["noData"] + " " + printStyles["avoid-break-inside"]
19428
19790
  }, t("no_data"))));
19429
19791
  };
19430
19792
 
@@ -19444,37 +19806,37 @@ var TextbookTrickyProblem = function TextbookTrickyProblem(_ref) {
19444
19806
  });
19445
19807
  var renderProblems = function renderProblems() {
19446
19808
  return React__default.createElement(React.Fragment, null, React__default.createElement("div", {
19447
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19809
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19448
19810
  }, React__default.createElement(iconX, null), React__default.createElement("span", null, t("incorrect_problem_among_the_starred_problems"))), React__default.createElement("div", {
19449
- className: styles$4["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
19811
+ className: styles$5["wrongQuestions"] + " " + printStyles["avoid-break-inside"]
19450
19812
  }, !!(inCorrectQuestions !== null && inCorrectQuestions !== void 0 && inCorrectQuestions.length) && (inCorrectQuestions === null || inCorrectQuestions === void 0 ? void 0 : inCorrectQuestions.map(function (question) {
19451
19813
  return React__default.createElement("span", {
19452
19814
  key: question.id,
19453
- className: styles$4["question"]
19815
+ className: styles$5["question"]
19454
19816
  }, t("number_question", {
19455
19817
  number: question.questionOrder + 1
19456
19818
  }));
19457
19819
  })), !(data !== null && data !== void 0 && data.studentQuestionResults.length) && React__default.createElement("div", {
19458
- className: styles$4["noData"]
19820
+ className: styles$5["noData"]
19459
19821
  }, t("no_data"))), React__default.createElement("div", {
19460
- className: styles$4["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19822
+ className: styles$5["titleTrickyProblem"] + " " + printStyles["avoid-break-inside"]
19461
19823
  }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, t("correct_problem_among_the_starred_problems"))), React__default.createElement("div", {
19462
- className: styles$4["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
19824
+ className: styles$5["assignedQuestions"] + " " + printStyles["avoid-break-inside"]
19463
19825
  }, !!(correctQuestions !== null && correctQuestions !== void 0 && correctQuestions.length) && (correctQuestions === null || correctQuestions === void 0 ? void 0 : correctQuestions.map(function (question) {
19464
19826
  return React__default.createElement("div", {
19465
19827
  key: question.id,
19466
- className: styles$4["question"]
19828
+ className: styles$5["question"]
19467
19829
  }, t("number_question", {
19468
19830
  number: question.questionOrder + 1
19469
19831
  }));
19470
19832
  })), !(data !== null && data !== void 0 && data.studentQuestionResults.length) && React__default.createElement("div", {
19471
- className: styles$4["noData"]
19833
+ className: styles$5["noData"]
19472
19834
  }, t("no_data"))));
19473
19835
  };
19474
19836
  return React__default.createElement("div", {
19475
- className: "" + styles$4["wrapperProblem"]
19837
+ className: "" + styles$5["wrapperProblem"]
19476
19838
  }, React__default.createElement("div", {
19477
- className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
19839
+ className: printStyles["avoid-break-inside"] + " " + (!isOpen ? styles$5["titleProblemClose"] : styles$5["titleProblem"]),
19478
19840
  onClick: function onClick() {
19479
19841
  return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
19480
19842
  }
@@ -19486,10 +19848,10 @@ var TextbookTrickyProblem = function TextbookTrickyProblem(_ref) {
19486
19848
  }
19487
19849
  }, t("tricky_problems")), isOpen ? React__default.createElement(io5.IoChevronUp, {
19488
19850
  size: 24,
19489
- color: styles$4.gray_300
19851
+ color: styles$5.gray_300
19490
19852
  }) : React__default.createElement(io5.IoChevronDown, {
19491
19853
  size: 24,
19492
- color: styles$4.gray_300
19854
+ color: styles$5.gray_300
19493
19855
  })), isOpen && React__default.createElement(React.Fragment, null, renderProblems()));
19494
19856
  };
19495
19857
 
@@ -19911,7 +20273,8 @@ var useExamResultData = function useExamResultData(props) {
19911
20273
  handleChangeTab = props.handleChangeTab,
19912
20274
  selectedTab = props.selectedTab,
19913
20275
  isPrint = props.isPrint,
19914
- chapterId = props.chapterId;
20276
+ chapterId = props.chapterId,
20277
+ onLoadingChange = props.onLoadingChange;
19915
20278
  var query = new URLSearchParams(searchParams);
19916
20279
  var user = reactRedux.useSelector(function (state) {
19917
20280
  var _state$common;
@@ -19968,9 +20331,11 @@ var useExamResultData = function useExamResultData(props) {
19968
20331
  try {
19969
20332
  var _temp2 = function _temp2() {
19970
20333
  setIsLoading(false);
20334
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
19971
20335
  };
19972
20336
  if (!examCode) return Promise.resolve();
19973
20337
  setIsLoading(true);
20338
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
19974
20339
  var _temp = _catch(function () {
19975
20340
  return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
19976
20341
  var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
@@ -19996,9 +20361,11 @@ var useExamResultData = function useExamResultData(props) {
19996
20361
  try {
19997
20362
  var _temp5 = function _temp5() {
19998
20363
  setIsLoading(false);
20364
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
19999
20365
  };
20000
20366
  if (!examSessionId || !studentId) return Promise.resolve();
20001
20367
  setIsLoading(true);
20368
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
20002
20369
  var _temp4 = _catch(function () {
20003
20370
  return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
20004
20371
  var _result$0$data2, _result$1$data2, _result$2$data2, _result$3$data2, _result$4$data2;
@@ -20038,10 +20405,12 @@ var useExamResultData = function useExamResultData(props) {
20038
20405
  try {
20039
20406
  var _temp7 = function _temp7() {
20040
20407
  setIsLoading(false);
20408
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(false);
20041
20409
  };
20042
20410
  if (!chapterId) return Promise.resolve();
20043
20411
  if (!isStudent && !studentId) return Promise.resolve();
20044
20412
  setIsLoading(true);
20413
+ onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(true);
20045
20414
  var _temp6 = _catch(function () {
20046
20415
  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) {
20047
20416
  var _result$0$data3, _result$1$data3, _result$2$data3, _result$3$data3, _result$4$data3;
@@ -20207,7 +20576,7 @@ var useExamResultData = function useExamResultData(props) {
20207
20576
  }
20208
20577
  }
20209
20578
  }),
20210
- colors: [styles$4.dark, styles$4.purple_900],
20579
+ colors: [styles$5.dark, styles$5.purple_900],
20211
20580
  xaxis: _extends({}, DEFAULT_LINE_CHART_OPTIONS.xaxis, {
20212
20581
  categories: ["s"].concat(Array.from({
20213
20582
  length: questionLength
@@ -20667,7 +21036,8 @@ var useExamResult = function useExamResult(props) {
20667
21036
  studentId = _props$studentId === void 0 ? 0 : _props$studentId,
20668
21037
  code = props.code,
20669
21038
  chapterId = props.chapterId,
20670
- onViewQA = props.onViewQA;
21039
+ onViewQA = props.onViewQA,
21040
+ onLoadingChange = props.onLoadingChange;
20671
21041
  var _useTranslation = reactI18next.useTranslation(),
20672
21042
  t = _useTranslation.t;
20673
21043
  var _useTab = useTab(),
@@ -20681,7 +21051,8 @@ var useExamResult = function useExamResult(props) {
20681
21051
  code: code,
20682
21052
  chapterId: chapterId,
20683
21053
  handleChangeTab: handleChangeTab,
20684
- selectedTab: selected
21054
+ selectedTab: selected,
21055
+ onLoadingChange: onLoadingChange
20685
21056
  });
20686
21057
  var isLoading = examResultData.isLoading,
20687
21058
  timelyOrderQuestions = examResultData.timelyOrderQuestions,
@@ -20748,7 +21119,9 @@ var ExamResultV2 = function ExamResultV2(props) {
20748
21119
  isMyStoryStudent = props.isMyStoryStudent,
20749
21120
  onViewQA = props.onViewQA,
20750
21121
  chapterId = props.chapterId,
20751
- studentId = props.studentId;
21122
+ studentId = props.studentId,
21123
+ _props$showLoading = props.showLoading,
21124
+ showLoading = _props$showLoading === void 0 ? true : _props$showLoading;
20752
21125
  var isAdminSite = role === exports.Role.Admin;
20753
21126
  var _useExamResult = useExamResult(props),
20754
21127
  t = _useExamResult.t,
@@ -20901,7 +21274,7 @@ var ExamResultV2 = function ExamResultV2(props) {
20901
21274
  onViewQA === null || onViewQA === void 0 ? void 0 : onViewQA(resultData.student.id, resultData.examSessionId);
20902
21275
  };
20903
21276
  return React__default.createElement(React.Fragment, null, React__default.createElement(LoadingComponent, {
20904
- isLoading: !!isLoading
21277
+ isLoading: showLoading && !!isLoading
20905
21278
  }), timelyOrderQuestions[dataChartIndex] && longTimeSpend && effectSize ? React__default.createElement("div", {
20906
21279
  style: {
20907
21280
  width: "100%"
@@ -21214,18 +21587,18 @@ var ExamResultV2 = function ExamResultV2(props) {
21214
21587
  value: selected,
21215
21588
  index: 1
21216
21589
  }, React__default.createElement("div", {
21217
- className: styles$4["compareChart"]
21590
+ className: styles$5["compareChart"]
21218
21591
  }, React__default.createElement("div", {
21219
- className: styles$4["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
21592
+ className: styles$5["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
21220
21593
  onClick: handlePrevChart
21221
21594
  }, React__default.createElement(iconBtnPrevChart, null)), React__default.createElement("div", {
21222
- className: styles$4["chart"] + " sr-line-chart"
21595
+ className: styles$5["chart"] + " sr-line-chart"
21223
21596
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
21224
21597
  height: 389,
21225
21598
  options: chartOptions,
21226
21599
  series: series
21227
21600
  }))), React__default.createElement("div", {
21228
- className: styles$4["nextChart"] + " " + (dataChartIndex < timelyOrderQuestions.length - 1 && "pointer"),
21601
+ className: styles$5["nextChart"] + " " + (dataChartIndex < timelyOrderQuestions.length - 1 && "pointer"),
21229
21602
  onClick: handleNextChart
21230
21603
  }, React__default.createElement(iconBtnNextChart, null)))), React__default.createElement(CustomTabPanel, {
21231
21604
  value: selected,
@@ -21419,13 +21792,13 @@ var LoadingDots = function LoadingDots(_ref) {
21419
21792
  color: "#FFF",
21420
21793
  fontSize: 20
21421
21794
  }, text), React__default.createElement("div", {
21422
- className: styles$4["loader"]
21795
+ className: styles$5["loader"]
21423
21796
  }, React__default.createElement("div", {
21424
- className: styles$4["dot"]
21797
+ className: styles$5["dot"]
21425
21798
  }), React__default.createElement("div", {
21426
- className: styles$4["dot"]
21799
+ className: styles$5["dot"]
21427
21800
  }), React__default.createElement("div", {
21428
- className: styles$4["dot"]
21801
+ className: styles$5["dot"]
21429
21802
  })));
21430
21803
  };
21431
21804
 
@@ -22267,7 +22640,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
22267
22640
  };
22268
22641
  };
22269
22642
 
22270
- 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"};
22643
+ 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"};
22271
22644
 
22272
22645
  var ResetFilterDialog = function ResetFilterDialog(_ref) {
22273
22646
  var t = _ref.t,
@@ -22331,7 +22704,7 @@ var ResetFilterDialog = function ResetFilterDialog(_ref) {
22331
22704
  borderTop: "1px solid #CED2DA"
22332
22705
  }
22333
22706
  }, React__default.createElement(material.Button, {
22334
- className: styles$5["btn-cancel"],
22707
+ className: styles$6["btn-cancel"],
22335
22708
  onClick: onClose
22336
22709
  }, React__default.createElement(material.Typography, {
22337
22710
  sx: {
@@ -22342,7 +22715,7 @@ var ResetFilterDialog = function ResetFilterDialog(_ref) {
22342
22715
  lineHeight: "16.71px"
22343
22716
  }, t("close"))), React__default.createElement(material.Button, {
22344
22717
  variant: "contained",
22345
- className: styles$5["btn-register"],
22718
+ className: styles$6["btn-register"],
22346
22719
  type: "submit",
22347
22720
  sx: {
22348
22721
  padding: "12px 47px"
@@ -22761,7 +23134,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
22761
23134
  borderTop: "1px solid #CED2DA"
22762
23135
  }
22763
23136
  }, React__default.createElement(material.Button, {
22764
- className: styles$5["btn-cancel"],
23137
+ className: styles$6["btn-cancel"],
22765
23138
  onClick: onClose
22766
23139
  }, React__default.createElement(material.Typography, {
22767
23140
  sx: {
@@ -22852,7 +23225,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
22852
23225
  borderTop: "1px solid #CED2DA"
22853
23226
  }
22854
23227
  }, React__default.createElement(material.Button, {
22855
- className: styles$5["btn-cancel"],
23228
+ className: styles$6["btn-cancel"],
22856
23229
  onClick: onClose
22857
23230
  }, React__default.createElement(material.Typography, {
22858
23231
  sx: {
@@ -22863,7 +23236,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
22863
23236
  lineHeight: "16.71px"
22864
23237
  }, t("cancel"))), React__default.createElement(material.Button, {
22865
23238
  variant: "contained",
22866
- className: styles$5["btn-register"],
23239
+ className: styles$6["btn-register"],
22867
23240
  type: "submit",
22868
23241
  sx: {
22869
23242
  padding: "12px 47px"
@@ -23440,7 +23813,7 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
23440
23813
  borderTop: "1px solid #CED2DA"
23441
23814
  }
23442
23815
  }, React__default.createElement(material.Button, {
23443
- className: styles$5["btn-cancel"],
23816
+ className: styles$6["btn-cancel"],
23444
23817
  onClick: onClose
23445
23818
  }, React__default.createElement(material.Typography, {
23446
23819
  sx: {
@@ -23451,7 +23824,7 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
23451
23824
  lineHeight: "16.71px"
23452
23825
  }, t("cancel"))), React__default.createElement(material.Button, {
23453
23826
  variant: "contained",
23454
- className: styles$5["btn-register"],
23827
+ className: styles$6["btn-register"],
23455
23828
  type: "submit",
23456
23829
  sx: {
23457
23830
  padding: "12px 47px"
@@ -23563,13 +23936,13 @@ var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
23563
23936
  var theme = material.useTheme();
23564
23937
  var isTabletUp = material.useMediaQuery(theme.breakpoints.up("lg"));
23565
23938
  return React__default.createElement("div", null, React__default.createElement("div", {
23566
- className: styles$5["drawer-overlay"] + " " + (isOpen && styles$5["open"]),
23939
+ className: styles$6["drawer-overlay"] + " " + (isOpen && styles$6["open"]),
23567
23940
  onClick: function onClick() {
23568
23941
  return onClose();
23569
23942
  }
23570
23943
  }), React__default.createElement(material.Stack, {
23571
23944
  width: isTabletUp ? "50vw" : "100%",
23572
- className: styles$5["drawer"] + " bg-white " + (isOpen && styles$5["open"])
23945
+ className: styles$6["drawer"] + " bg-white " + (isOpen && styles$6["open"])
23573
23946
  }, React__default.createElement(material.Stack, {
23574
23947
  bgcolor: styles.gray_50,
23575
23948
  borderBottom: "1px solid " + styles.gray_100,
@@ -24539,188 +24912,6 @@ var AlertCircleFill = function AlertCircleFill(_ref) {
24539
24912
  }));
24540
24913
  };
24541
24914
 
24542
- var CalendarFill = function CalendarFill(_ref) {
24543
- var _ref$width = _ref.width,
24544
- width = _ref$width === void 0 ? "16" : _ref$width,
24545
- _ref$height = _ref.height,
24546
- height = _ref$height === void 0 ? "16" : _ref$height,
24547
- color = _ref.color;
24548
- return React__default.createElement("svg", {
24549
- width: width,
24550
- height: height,
24551
- fill: color,
24552
- viewBox: "0 0 16 16",
24553
- xmlns: "http://www.w3.org/2000/svg"
24554
- }, React__default.createElement("path", {
24555
- 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",
24556
- fill: "#97A1AF"
24557
- }), React__default.createElement("path", {
24558
- 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",
24559
- fill: "#97A1AF"
24560
- }));
24561
- };
24562
-
24563
- var ClockFill = function ClockFill(_ref) {
24564
- var _ref$width = _ref.width,
24565
- width = _ref$width === void 0 ? "16" : _ref$width,
24566
- _ref$height = _ref.height,
24567
- height = _ref$height === void 0 ? "16" : _ref$height,
24568
- color = _ref.color;
24569
- return React__default.createElement("svg", {
24570
- width: width,
24571
- height: height,
24572
- fill: color,
24573
- viewBox: "0 0 14 14",
24574
- xmlns: "http://www.w3.org/2000/svg"
24575
- }, React__default.createElement("path", {
24576
- 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",
24577
- fill: "#97A1AF"
24578
- }));
24579
- };
24580
-
24581
- var CheckedCircleFill = function CheckedCircleFill(_ref) {
24582
- var _ref$width = _ref.width,
24583
- width = _ref$width === void 0 ? "16" : _ref$width,
24584
- _ref$height = _ref.height,
24585
- height = _ref$height === void 0 ? "17" : _ref$height,
24586
- color = _ref.color;
24587
- return React__default.createElement("svg", {
24588
- width: width,
24589
- height: height,
24590
- fill: color,
24591
- viewBox: "0 0 16 17",
24592
- xmlns: "http://www.w3.org/2000/svg"
24593
- }, React__default.createElement("path", {
24594
- 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",
24595
- fill: "#97A1AF"
24596
- }));
24597
- };
24598
-
24599
- var IconPerson = function IconPerson(_ref) {
24600
- var _ref$width = _ref.width,
24601
- width = _ref$width === void 0 ? "16" : _ref$width,
24602
- _ref$height = _ref.height,
24603
- height = _ref$height === void 0 ? "16" : _ref$height,
24604
- color = _ref.color;
24605
- return React__default.createElement("svg", {
24606
- width: width,
24607
- height: height,
24608
- fill: color,
24609
- viewBox: "0 0 16 16",
24610
- xmlns: "http://www.w3.org/2000/svg"
24611
- }, React__default.createElement("path", {
24612
- 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",
24613
- fill: "#97A1AF"
24614
- }), React__default.createElement("path", {
24615
- 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",
24616
- fill: "#97A1AF"
24617
- }));
24618
- };
24619
-
24620
- var LessonTooltip = function LessonTooltip(_ref) {
24621
- var lesson = _ref.lesson,
24622
- lessonAttendance = _ref.lessonAttendance;
24623
- var _useTranslation = reactI18next.useTranslation(),
24624
- t = _useTranslation.t;
24625
- return React__default.createElement(material.Stack, {
24626
- padding: "16px"
24627
- }, React__default.createElement(material.Stack, {
24628
- gap: "20px"
24629
- }, React__default.createElement(material.Typography, {
24630
- sx: {
24631
- color: grey[700]
24632
- }
24633
- }, lesson.courseName), React__default.createElement(material.Stack, {
24634
- display: "flex",
24635
- flexDirection: "row",
24636
- justifyContent: "space-between",
24637
- gap: "20px"
24638
- }, React__default.createElement(material.Box, {
24639
- display: "flex",
24640
- flexDirection: "row",
24641
- gap: "4px"
24642
- }, React__default.createElement(CalendarFill, null), React__default.createElement(material.Typography, {
24643
- sx: {
24644
- color: grey[500],
24645
- fontSize: "13px",
24646
- fontWeight: "600",
24647
- whiteSpace: "nowrap"
24648
- }
24649
- }, t("class_date"))), React__default.createElement(material.Typography, {
24650
- sx: {
24651
- color: grey[700],
24652
- fontSize: "14px",
24653
- fontWeight: "600"
24654
- }
24655
- }, t("" + moment(lesson === null || lesson === void 0 ? void 0 : lesson.date).format(t("date_format"))))), React__default.createElement(material.Stack, {
24656
- display: "flex",
24657
- flexDirection: "row",
24658
- justifyContent: "space-between",
24659
- gap: "20px"
24660
- }, React__default.createElement(material.Stack, {
24661
- display: "flex",
24662
- flexDirection: "row",
24663
- gap: "4px"
24664
- }, React__default.createElement(ClockFill, null), React__default.createElement(material.Typography, {
24665
- sx: {
24666
- color: grey[500],
24667
- fontSize: "13px",
24668
- fontWeight: "600",
24669
- whiteSpace: "nowrap"
24670
- }
24671
- }, t("class_time"))), React__default.createElement(material.Typography, {
24672
- sx: {
24673
- color: grey[700],
24674
- fontSize: "14px",
24675
- fontWeight: "600"
24676
- }
24677
- }, 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(material.Stack, {
24678
- display: "flex",
24679
- flexDirection: "row",
24680
- justifyContent: "space-between",
24681
- gap: "20px"
24682
- }, React__default.createElement(material.Stack, {
24683
- display: "flex",
24684
- flexDirection: "row",
24685
- gap: "4px"
24686
- }, React__default.createElement(CheckedCircleFill, null), React__default.createElement(material.Typography, {
24687
- sx: {
24688
- color: grey[500],
24689
- fontSize: "13px",
24690
- fontWeight: "600",
24691
- whiteSpace: "nowrap"
24692
- }
24693
- }, t("attendance"))), React__default.createElement(material.Typography, {
24694
- sx: {
24695
- color: grey[700],
24696
- fontSize: "14px",
24697
- fontWeight: "600"
24698
- }
24699
- }, (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(material.Stack, {
24700
- display: "flex",
24701
- flexDirection: "row",
24702
- justifyContent: "space-between",
24703
- gap: "20px"
24704
- }, React__default.createElement(material.Stack, {
24705
- display: "flex",
24706
- flexDirection: "row",
24707
- gap: "4px"
24708
- }, React__default.createElement(IconPerson, null), React__default.createElement(material.Typography, {
24709
- sx: {
24710
- color: grey[500],
24711
- fontSize: "13px",
24712
- fontWeight: "600",
24713
- whiteSpace: "nowrap"
24714
- }
24715
- }, t("teacher_in_charge"))), React__default.createElement(material.Typography, {
24716
- sx: {
24717
- color: grey[700],
24718
- fontSize: "14px",
24719
- fontWeight: "600"
24720
- }
24721
- }, lesson === null || lesson === void 0 ? void 0 : lesson.mainTeacherName))));
24722
- };
24723
-
24724
24915
  var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24725
24916
  var data = _ref.data,
24726
24917
  containerProps = _ref.containerProps,
@@ -24729,23 +24920,17 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24729
24920
  mainTeacherName = _ref.mainTeacherName,
24730
24921
  courseName = _ref.courseName,
24731
24922
  courseId = _ref.courseId,
24732
- studentId = _ref.studentId,
24733
24923
  onCheckInLesson = _ref.onCheckInLesson;
24734
24924
  var _useTranslation = reactI18next.useTranslation(),
24735
24925
  t = _useTranslation.t;
24736
- var isAdmin = reactRedux.useSelector(function (state) {
24737
- var _state$common, _state$common$user, _state$common$user$ro;
24738
- 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(exports.Role.Admin);
24739
- });
24740
24926
  var language = reactRedux.useSelector(function (state) {
24741
- var _state$common2;
24742
- return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
24927
+ var _state$common;
24928
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
24743
24929
  });
24744
24930
  var dataString = JSON.stringify(data);
24745
24931
  var containerRef = React.useRef(null);
24746
- var handleCheckInLesson = function handleCheckInLesson(lesson, studentId) {
24747
- if (isAdmin) return;
24748
- onCheckInLesson(lesson, studentId);
24932
+ var handleCheckInLesson = function handleCheckInLesson(lesson, attendance) {
24933
+ onCheckInLesson(lesson, attendance);
24749
24934
  };
24750
24935
  var renderItem = function renderItem(rowIndex, columnIndex, _) {
24751
24936
  if (rowIndex === 0) return React__default.createElement(material.Box, {
@@ -24789,9 +24974,8 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24789
24974
  }, React__default.createElement(material.IconButton, {
24790
24975
  size: "small",
24791
24976
  className: "d-flex align-items-center ",
24792
- disabled: isAdmin,
24793
24977
  onClick: function onClick() {
24794
- return handleCheckInLesson(lesson, studentId);
24978
+ return handleCheckInLesson(lesson, attendance);
24795
24979
  },
24796
24980
  sx: {
24797
24981
  width: "26px",
@@ -24841,8 +25025,7 @@ var AttendanceCourseTable = function AttendanceCourseTable(_ref) {
24841
25025
  };
24842
25026
 
24843
25027
  var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24844
- var studentId = _ref.studentId,
24845
- data = _ref.data,
25028
+ var data = _ref.data,
24846
25029
  onCheckInLesson = _ref.onCheckInLesson,
24847
25030
  onLoad = _ref.onLoad;
24848
25031
  var _useTranslation = reactI18next.useTranslation(),
@@ -24927,7 +25110,6 @@ var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24927
25110
  data: data.lessons,
24928
25111
  courseId: data.id,
24929
25112
  courseName: data.name,
24930
- studentId: studentId,
24931
25113
  mainTeacherName: data.mainTeacherName,
24932
25114
  onCheckInLesson: onCheckInLesson,
24933
25115
  listWidth: 0,
@@ -24947,8 +25129,7 @@ var CourseAttendanceItem = function CourseAttendanceItem(_ref) {
24947
25129
  };
24948
25130
 
24949
25131
  var CourseAttendanceList = function CourseAttendanceList(_ref) {
24950
- var studentId = _ref.studentId,
24951
- data = _ref.data,
25132
+ var data = _ref.data,
24952
25133
  isLoading = _ref.isLoading,
24953
25134
  listHeight = _ref.listHeight,
24954
25135
  containerProps = _ref.containerProps,
@@ -24957,7 +25138,6 @@ var CourseAttendanceList = function CourseAttendanceList(_ref) {
24957
25138
  var renderItem = function renderItem(item, _, measure) {
24958
25139
  return React__default.createElement(CourseAttendanceItem, {
24959
25140
  key: item.id,
24960
- studentId: studentId,
24961
25141
  data: item,
24962
25142
  onCheckInLesson: onCheckInLesson,
24963
25143
  onLoad: measure
@@ -24980,13 +25160,11 @@ var getAttendanceByStudentIdApi = function getAttendanceByStudentIdApi(studentId
24980
25160
  params: query
24981
25161
  });
24982
25162
  };
24983
- var getCheckInLessonsApi = function getCheckInLessonsApi(lessonId, studentId) {
24984
- return api.post(LESSON_URL + "/" + lessonId + "/teacher", {
24985
- studentId: studentId
24986
- });
25163
+ var getCheckInLessonsApi = function getCheckInLessonsApi(lessonId, attendanceRequest) {
25164
+ return api.post(LESSON_URL + "/" + lessonId + "/teacher", attendanceRequest);
24987
25165
  };
24988
25166
 
24989
- var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25167
+ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId, onUpdatedAttendance) {
24990
25168
  var dispatch = reactRedux.useDispatch();
24991
25169
  var _useTranslation = reactI18next.useTranslation(),
24992
25170
  t = _useTranslation.t;
@@ -25013,15 +25191,46 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25013
25191
  isLoading = _useVirtualList.isLoading,
25014
25192
  handleLoadMore = _useVirtualList.handleLoadMore,
25015
25193
  setItems = _useVirtualList.setItems;
25016
- var handleCheckInLesson = function handleCheckInLesson(lesson, studentId) {
25194
+ var _useState = React.useState(),
25195
+ openAttendanceDalog = _useState[0],
25196
+ setOpenAttendanceDialog = _useState[1];
25197
+ var handleOpenAttendanceDialog = function handleOpenAttendanceDialog(lesson, attendance) {
25198
+ setOpenAttendanceDialog({
25199
+ lesson: lesson,
25200
+ attendance: attendance
25201
+ });
25202
+ };
25203
+ var handleCloseAttendanceDialog = function handleCloseAttendanceDialog() {
25204
+ setOpenAttendanceDialog(undefined);
25205
+ };
25206
+ var handleCheckInLesson = function handleCheckInLesson(lesson, attendance) {
25207
+ if (!!attendance && attendance.status !== StudentAttendanceStatus.Absent) handleUpdateStudentAttendance(lesson, {
25208
+ studentId: studentId,
25209
+ attendanceTime: attendance.attendanceTime,
25210
+ status: attendance.status === StudentAttendanceStatus.Attended ? StudentAttendanceStatus.Late : StudentAttendanceStatus.Absent
25211
+ });else handleOpenAttendanceDialog(lesson, attendance);
25212
+ };
25213
+ var handleUpdateStudentAttendance = function handleUpdateStudentAttendance(lesson, attendanceRequest) {
25017
25214
  try {
25018
25215
  var _temp2 = function _temp2() {
25019
25216
  dispatch(setLoading(false));
25020
25217
  };
25021
25218
  dispatch(setLoading(true));
25022
25219
  var _temp = _catch(function () {
25023
- return Promise.resolve(getCheckInLessonsApi(lesson.id, studentId)).then(function () {
25220
+ return Promise.resolve(getCheckInLessonsApi(lesson.id, attendanceRequest)).then(function () {
25221
+ var attendance = {
25222
+ lessonId: lesson.id,
25223
+ attendanceTime: attendanceRequest.attendanceTime,
25224
+ status: attendanceRequest.status
25225
+ };
25226
+ onUpdatedAttendance === null || onUpdatedAttendance === void 0 ? void 0 : onUpdatedAttendance(attendance, studentId);
25227
+ updateAttendanceData({
25228
+ lessonId: lesson.id,
25229
+ attendanceTime: attendanceRequest.attendanceTime,
25230
+ status: attendanceRequest.status
25231
+ }, lesson.courseId);
25024
25232
  reactToastify.toast.success(t("update_attendance_status_successfully"));
25233
+ handleCloseAttendanceDialog();
25025
25234
  });
25026
25235
  }, function (error) {
25027
25236
  reactToastify.toast.error(getErrorMessage(t, error));
@@ -25037,12 +25246,15 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25037
25246
  var item = JSON.parse(data);
25038
25247
  var lessonAttendance = {
25039
25248
  lessonId: item === null || item === void 0 ? void 0 : (_item$attendance = item.attendance) === null || _item$attendance === void 0 ? void 0 : _item$attendance.lessonId,
25040
- 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),
25249
+ attendanceTime: item === null || item === void 0 ? void 0 : (_item$attendance2 = item.attendance) === null || _item$attendance2 === void 0 ? void 0 : _item$attendance2.attendanceTime,
25041
25250
  status: item === null || item === void 0 ? void 0 : (_item$attendance3 = item.attendance) === null || _item$attendance3 === void 0 ? void 0 : _item$attendance3.status
25042
25251
  };
25252
+ updateAttendanceData(lessonAttendance, item.courseId);
25253
+ };
25254
+ var updateAttendanceData = function updateAttendanceData(lessonAttendance, courseId) {
25043
25255
  setItems(function (prev) {
25044
25256
  var newData = prev.map(function (course) {
25045
- if (item.courseId !== course.id) return course;
25257
+ if (courseId !== course.id) return course;
25046
25258
  return _extends({}, course, {
25047
25259
  lessons: course.lessons.map(function (lesson) {
25048
25260
  if (lesson.id != lessonAttendance.lessonId) return lesson;
@@ -25074,20 +25286,27 @@ var useDrawerAttendanceTab = function useDrawerAttendanceTab(studentId) {
25074
25286
  return {
25075
25287
  items: items,
25076
25288
  isLoading: isLoading,
25289
+ openAttendanceDalog: openAttendanceDalog,
25077
25290
  handleLoadMore: handleLoadMore,
25078
- handleCheckInLesson: handleCheckInLesson
25291
+ handleCheckInLesson: handleCheckInLesson,
25292
+ handleCloseAttendanceDialog: handleCloseAttendanceDialog,
25293
+ handleUpdateStudentAttendance: handleUpdateStudentAttendance
25079
25294
  };
25080
25295
  };
25081
25296
 
25082
25297
  var DrawerAttendanceTab = function DrawerAttendanceTab(_ref) {
25083
25298
  var studentId = _ref.studentId,
25084
25299
  selectedTab = _ref.selectedTab,
25085
- value = _ref.value;
25086
- var _useDrawerAttendanceT = useDrawerAttendanceTab(studentId),
25300
+ value = _ref.value,
25301
+ onUpdatedAttendance = _ref.onUpdatedAttendance;
25302
+ var _useDrawerAttendanceT = useDrawerAttendanceTab(studentId, onUpdatedAttendance),
25087
25303
  items = _useDrawerAttendanceT.items,
25088
25304
  isLoading = _useDrawerAttendanceT.isLoading,
25305
+ openAttendanceDalog = _useDrawerAttendanceT.openAttendanceDalog,
25089
25306
  handleLoadMore = _useDrawerAttendanceT.handleLoadMore,
25090
- handleCheckInLesson = _useDrawerAttendanceT.handleCheckInLesson;
25307
+ handleCheckInLesson = _useDrawerAttendanceT.handleCheckInLesson,
25308
+ handleCloseAttendanceDialog = _useDrawerAttendanceT.handleCloseAttendanceDialog,
25309
+ handleUpdateStudentAttendance = _useDrawerAttendanceT.handleUpdateStudentAttendance;
25091
25310
  return React__default.createElement(DrawerTabContent, {
25092
25311
  value: value,
25093
25312
  isSelected: selectedTab === value
@@ -25105,10 +25324,16 @@ var DrawerAttendanceTab = function DrawerAttendanceTab(_ref) {
25105
25324
  data: items,
25106
25325
  onLoadMore: handleLoadMore,
25107
25326
  isLoading: isLoading,
25108
- studentId: studentId,
25109
25327
  onCheckInLesson: handleCheckInLesson,
25110
25328
  listHeight: 0
25111
- })));
25329
+ })), React__default.createElement(AttendanceFormDialog, {
25330
+ open: !!openAttendanceDalog,
25331
+ onClose: handleCloseAttendanceDialog,
25332
+ attendance: openAttendanceDalog === null || openAttendanceDalog === void 0 ? void 0 : openAttendanceDalog.attendance,
25333
+ lesson: openAttendanceDalog === null || openAttendanceDalog === void 0 ? void 0 : openAttendanceDalog.lesson,
25334
+ studentId: studentId,
25335
+ onSubmit: handleUpdateStudentAttendance
25336
+ }));
25112
25337
  };
25113
25338
 
25114
25339
  var StudentInfoDrawer = function StudentInfoDrawer(props) {
@@ -25118,7 +25343,8 @@ var StudentInfoDrawer = function StudentInfoDrawer(props) {
25118
25343
  width = props.width,
25119
25344
  history = props.history,
25120
25345
  role = props.role,
25121
- onViewQA = props.onViewQA;
25346
+ onViewQA = props.onViewQA,
25347
+ onUpdatedAttendance = props.onUpdatedAttendance;
25122
25348
  var _useStudentInfoDrawer = useStudentInfoDrawer(props),
25123
25349
  loadedTabs = _useStudentInfoDrawer.loadedTabs,
25124
25350
  isLoading = _useStudentInfoDrawer.isLoading,
@@ -25149,7 +25375,8 @@ var StudentInfoDrawer = function StudentInfoDrawer(props) {
25149
25375
  }), studentId && React__default.createElement(React.Fragment, null, loadedTabs[DrawerTab.Attendance] && React__default.createElement(DrawerAttendanceTab, {
25150
25376
  value: DrawerTab.Attendance,
25151
25377
  selectedTab: selectedTab,
25152
- studentId: studentId
25378
+ studentId: studentId,
25379
+ onUpdatedAttendance: onUpdatedAttendance
25153
25380
  }), loadedTabs[DrawerTab.Note] && React__default.createElement(DrawerNoteTab, {
25154
25381
  value: DrawerTab.Note,
25155
25382
  selectedTab: selectedTab,
@@ -27537,7 +27764,7 @@ var RECENT_USER_ACTION_HEADERS = [{
27537
27764
  }];
27538
27765
  var CSV_PREFIX = "data:text/csv;charset=utf-8,";
27539
27766
 
27540
- var styles$6 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
27767
+ var styles$7 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
27541
27768
 
27542
27769
  var _excluded$c = ["text", "isRequired", "className"];
27543
27770
  var LabelRequired = function LabelRequired(_ref) {
@@ -28662,7 +28889,7 @@ var DeleteUserCsvDialog = function DeleteUserCsvDialog(_ref) {
28662
28889
  size: "xs",
28663
28890
  title: t('delete_users_csv')
28664
28891
  }, React__default.createElement(material.DialogContent, null, React__default.createElement("div", {
28665
- className: "" + styles$6["drop-area"],
28892
+ className: "" + styles$7["drop-area"],
28666
28893
  onDrop: handleDrop,
28667
28894
  onDragOver: handleDragOver,
28668
28895
  onClick: handleChooseFile
@@ -28791,10 +29018,10 @@ var UserRow = function UserRow(_ref) {
28791
29018
  className: "d-flex"
28792
29019
  }, isAdmin || isSuperAdmin ? React__default.createElement(material.IconButton, {
28793
29020
  color: "default",
28794
- className: styles$6["action-btn"] + " bg-warning text-white me-2",
29021
+ className: styles$7["action-btn"] + " bg-warning text-white me-2",
28795
29022
  onClick: handleViewOrUpdate
28796
29023
  }, React__default.createElement(hi.HiOutlinePencilAlt, {
28797
- className: styles$6["action-btn--pencil"],
29024
+ className: styles$7["action-btn--pencil"],
28798
29025
  size: 16
28799
29026
  })) : React__default.createElement(material.IconButton, {
28800
29027
  color: "default",
@@ -28805,7 +29032,7 @@ var UserRow = function UserRow(_ref) {
28805
29032
  })), (isAdmin || isSuperAdmin) && React__default.createElement(material.IconButton, {
28806
29033
  onClick: handleDelete,
28807
29034
  color: "default",
28808
- className: styles$6["action-btn"] + " bg-danger text-white"
29035
+ className: styles$7["action-btn"] + " bg-danger text-white"
28809
29036
  }, React__default.createElement(fa6.FaTrashCan, {
28810
29037
  size: 12
28811
29038
  })))));
@@ -28891,7 +29118,7 @@ var UserList = function UserList(_ref) {
28891
29118
  bgcolor: theme.palette.primary.main
28892
29119
  },
28893
29120
  startIcon: React__default.createElement(md.MdDownload, {
28894
- className: "" + styles$6["icon-rotate-180"],
29121
+ className: "" + styles$7["icon-rotate-180"],
28895
29122
  size: 14
28896
29123
  }),
28897
29124
  onClick: handleChooseFile
@@ -28902,7 +29129,7 @@ var UserList = function UserList(_ref) {
28902
29129
  bgcolor: theme.palette.error.main
28903
29130
  },
28904
29131
  startIcon: React__default.createElement(md.MdDownload, {
28905
- className: "" + styles$6["icon-rotate-180"],
29132
+ className: "" + styles$7["icon-rotate-180"],
28906
29133
  size: 14
28907
29134
  }),
28908
29135
  onClick: handleToggleDeleteUserCsv
@@ -29038,7 +29265,7 @@ var UserList = function UserList(_ref) {
29038
29265
  })));
29039
29266
  };
29040
29267
 
29041
- var styles$7 = {"question":"_2uc_W","question-article":"_2p7kY","question-title":"_2tHmc","question-label":"_26ATj","question-input":"_3R8PR","question-btn":"_1VZac"};
29268
+ var styles$8 = {"question":"_2uc_W","question-article":"_2p7kY","question-title":"_2tHmc","question-label":"_26ATj","question-input":"_3R8PR","question-btn":"_1VZac"};
29042
29269
 
29043
29270
  var BpIcon = material.styled("span")(function (_ref) {
29044
29271
  var theme = _ref.theme;
@@ -29111,7 +29338,7 @@ var QuestionView = function QuestionView(_ref2) {
29111
29338
  mb: "16px"
29112
29339
  }, React__default.createElement(material.Stack, null, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29113
29340
  htmlFor: "textual_answer",
29114
- className: styles$7["question-label"] + " form-label"
29341
+ className: styles$8["question-label"] + " form-label"
29115
29342
  }, t("textual_answer")), React__default.createElement(material.TextField, {
29116
29343
  sx: {
29117
29344
  "& .MuiInputBase-input": {
@@ -29139,7 +29366,7 @@ var QuestionView = function QuestionView(_ref2) {
29139
29366
  }).map(function (i) {
29140
29367
  return React__default.createElement(material.FormControlLabel, {
29141
29368
  key: i,
29142
- className: styles$7["question-label"] + " w-fit",
29369
+ className: styles$8["question-label"] + " w-fit",
29143
29370
  labelPlacement: "top",
29144
29371
  value: i,
29145
29372
  onChange: function onChange(e) {
@@ -29170,7 +29397,7 @@ var QuestionView = function QuestionView(_ref2) {
29170
29397
  }).map(function (i) {
29171
29398
  return React__default.createElement(material.FormControlLabel, {
29172
29399
  key: i,
29173
- className: styles$7["question-label"] + " w-fit",
29400
+ className: styles$8["question-label"] + " w-fit",
29174
29401
  labelPlacement: "top",
29175
29402
  value: i,
29176
29403
  onChange: function onChange(e) {
@@ -29213,7 +29440,7 @@ var QuestionView = function QuestionView(_ref2) {
29213
29440
  }, React__default.createElement(material.Grid, {
29214
29441
  container: true
29215
29442
  }, React__default.createElement("div", {
29216
- className: styles$7["question-title"] + " me-2 text-nowrap"
29443
+ className: styles$8["question-title"] + " me-2 text-nowrap"
29217
29444
  }, t("problem_number_question", {
29218
29445
  number: question.questionOrder + 1
29219
29446
  }))), React__default.createElement(material.Grid, {
@@ -29226,7 +29453,7 @@ var QuestionView = function QuestionView(_ref2) {
29226
29453
  mb: "16px"
29227
29454
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29228
29455
  htmlFor: "title",
29229
- className: styles$7["question-label"] + " form-label"
29456
+ className: styles$8["question-label"] + " form-label"
29230
29457
  }, t("title")), React__default.createElement(material.TextField, {
29231
29458
  fullWidth: true,
29232
29459
  value: question.title,
@@ -29241,7 +29468,7 @@ var QuestionView = function QuestionView(_ref2) {
29241
29468
  mb: "16px"
29242
29469
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29243
29470
  htmlFor: "author",
29244
- className: styles$7["question-label"] + " form-label"
29471
+ className: styles$8["question-label"] + " form-label"
29245
29472
  }, t("author")), React__default.createElement(material.TextField, {
29246
29473
  fullWidth: true,
29247
29474
  value: question.author,
@@ -29256,7 +29483,7 @@ var QuestionView = function QuestionView(_ref2) {
29256
29483
  mb: "16px"
29257
29484
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29258
29485
  htmlFor: "subject",
29259
- className: styles$7["question-label"] + " form-label"
29486
+ className: styles$8["question-label"] + " form-label"
29260
29487
  }, t("subject")), React__default.createElement(material.TextField, {
29261
29488
  fullWidth: true,
29262
29489
  value: question.subject,
@@ -29275,7 +29502,7 @@ var QuestionView = function QuestionView(_ref2) {
29275
29502
  mb: "16px"
29276
29503
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29277
29504
  htmlFor: "type",
29278
- className: styles$7["question-label"] + " form-label"
29505
+ className: styles$8["question-label"] + " form-label"
29279
29506
  }, t("type")), React__default.createElement(CustomSelectOption, {
29280
29507
  isTextbook: true,
29281
29508
  valueById: question.type,
@@ -29289,7 +29516,7 @@ var QuestionView = function QuestionView(_ref2) {
29289
29516
  lg: 3
29290
29517
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29291
29518
  htmlFor: "question_answer_type",
29292
- className: styles$7["question-label"] + " form-label"
29519
+ className: styles$8["question-label"] + " form-label"
29293
29520
  }, t("question_answer_type")), React__default.createElement(CustomSelect, {
29294
29521
  isDisabled: isDisabled,
29295
29522
  value: question.questionAnswerType,
@@ -29309,7 +29536,7 @@ var QuestionView = function QuestionView(_ref2) {
29309
29536
  xs: 4,
29310
29537
  lg: 4
29311
29538
  }, React__default.createElement("div", {
29312
- className: styles$7["question-title"] + " me-2 text-nowrap"
29539
+ className: styles$8["question-title"] + " me-2 text-nowrap"
29313
29540
  }, t("problem_number_question", {
29314
29541
  number: question.questionOrder + 1
29315
29542
  }))), !isTextbook && React__default.createElement(material.Grid, {
@@ -29322,7 +29549,7 @@ var QuestionView = function QuestionView(_ref2) {
29322
29549
  lg: 4
29323
29550
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29324
29551
  htmlFor: "question_answer_type",
29325
- className: styles$7["question-label"] + " form-label"
29552
+ className: styles$8["question-label"] + " form-label"
29326
29553
  }, t("question_answer_type")), React__default.createElement(CustomSelect, {
29327
29554
  isDisabled: isDisabled,
29328
29555
  value: question.questionAnswerType,
@@ -29456,7 +29683,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29456
29683
  onDelete === null || onDelete === void 0 ? void 0 : onDelete(article);
29457
29684
  };
29458
29685
  return React__default.createElement("div", {
29459
- className: "d-flex " + styles$7["question"] + " " + (isActive ? styles$7["question--active"] : "")
29686
+ className: "d-flex " + styles$8["question"] + " " + (isActive ? styles$8["question--active"] : "")
29460
29687
  }, React__default.createElement("div", {
29461
29688
  className: "py-1"
29462
29689
  }, React__default.createElement(pi.PiDotsNineLight, {
@@ -29464,9 +29691,9 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29464
29691
  })), React__default.createElement("div", {
29465
29692
  className: "px-2"
29466
29693
  }, React__default.createElement("p", {
29467
- className: "mb-0 " + styles$7["question-article"]
29694
+ className: "mb-0 " + styles$8["question-article"]
29468
29695
  }, t("article_number")), React__default.createElement("p", {
29469
- className: "text-center " + styles$7["question-article"]
29696
+ className: "text-center " + styles$8["question-article"]
29470
29697
  }, article)), React__default.createElement("div", {
29471
29698
  className: "flex-grow-1"
29472
29699
  }, React__default.createElement(material.Grid, {
@@ -29487,7 +29714,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29487
29714
  lg: 3
29488
29715
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29489
29716
  htmlFor: "question_count",
29490
- className: styles$7["question-label"] + " form-label"
29717
+ className: styles$8["question-label"] + " form-label"
29491
29718
  }, t("questions")), React__default.createElement(QuestionCountSelector, {
29492
29719
  id: "question_count",
29493
29720
  value: questionCount,
@@ -29506,7 +29733,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29506
29733
  }
29507
29734
  }, React__default.createElement(material.FormLabel, {
29508
29735
  htmlFor: "category",
29509
- className: styles$7["question-label"] + " form-label"
29736
+ className: styles$8["question-label"] + " form-label"
29510
29737
  }, t("category")), React__default.createElement(ArticleCategorySelector, {
29511
29738
  style: {
29512
29739
  "div:has(&)": {
@@ -29526,7 +29753,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
29526
29753
  lg: 3
29527
29754
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
29528
29755
  htmlFor: "answer_count",
29529
- className: styles$7["question-label"] + " form-label"
29756
+ className: styles$8["question-label"] + " form-label"
29530
29757
  }, t("answer_count")), React__default.createElement(AnswerCountSelector, {
29531
29758
  id: "answer_count",
29532
29759
  value: answerCount,
@@ -30051,7 +30278,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30051
30278
  xs: 5,
30052
30279
  className: 'mb-2'
30053
30280
  }, React__default.createElement("label", {
30054
- className: styles["form-label"] + " " + styles$7["question-label"],
30281
+ className: styles["form-label"] + " " + styles$8["question-label"],
30055
30282
  htmlFor: "title"
30056
30283
  }, t("exam_name")), React__default.createElement("input", {
30057
30284
  disabled: isDisabled,
@@ -30065,7 +30292,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30065
30292
  xs: 3,
30066
30293
  className: 'mb-2'
30067
30294
  }, React__default.createElement("label", {
30068
- className: styles["form-label"] + " " + styles$7["question-label"],
30295
+ className: styles["form-label"] + " " + styles$8["question-label"],
30069
30296
  htmlFor: "duration"
30070
30297
  }, t("exam_duration")), React__default.createElement(CustomSelect, {
30071
30298
  inputId: "duration",
@@ -30078,7 +30305,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30078
30305
  xs: 3,
30079
30306
  className: 'mb-2'
30080
30307
  }, React__default.createElement("label", {
30081
- className: styles["form-label"] + " " + styles$7["question-label"],
30308
+ className: styles["form-label"] + " " + styles$8["question-label"],
30082
30309
  htmlFor: "subject"
30083
30310
  }, t("subject")), React__default.createElement(CustomSelect, {
30084
30311
  inputId: "subject",
@@ -30121,7 +30348,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
30121
30348
  }
30122
30349
  },
30123
30350
  disabled: isDisabled,
30124
- className: "w-100 d-flex justify-content-center align-items-center " + styles$7["question-btn"] + " mt-3",
30351
+ className: "w-100 d-flex justify-content-center align-items-center " + styles$8["question-btn"] + " mt-3",
30125
30352
  onClick: handleAddArticle
30126
30353
  }, React__default.createElement(fa.FaPlusCircle, {
30127
30354
  className: "me-2"
@@ -31706,7 +31933,7 @@ var ArticleDialog = function ArticleDialog(_ref) {
31706
31933
  }, t("add")))));
31707
31934
  };
31708
31935
 
31709
- 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"};
31936
+ 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"};
31710
31937
 
31711
31938
  var _excluded$e = ["isOpen", "onClose", "handleSaveExam"];
31712
31939
  var CreateExamDrawer = function CreateExamDrawer(props) {
@@ -31719,17 +31946,17 @@ var CreateExamDrawer = function CreateExamDrawer(props) {
31719
31946
  var theme = material.useTheme();
31720
31947
  var isTabletUp = material.useMediaQuery(theme.breakpoints.up('lg'));
31721
31948
  return React__default.createElement("div", null, React__default.createElement("div", {
31722
- className: styles$8["drawer-overlay"] + " " + (isOpen && styles$8["open"]),
31949
+ className: styles$9["drawer-overlay"] + " " + (isOpen && styles$9["open"]),
31723
31950
  onClick: function onClick() {
31724
31951
  return onClose();
31725
31952
  }
31726
31953
  }), React__default.createElement("div", {
31727
- className: styles$8["drawer"] + " bg-white " + (isOpen && styles$8["open"]),
31954
+ className: styles$9["drawer"] + " bg-white " + (isOpen && styles$9["open"]),
31728
31955
  style: {
31729
31956
  width: "" + (isTabletUp ? "70vw" : "100vw")
31730
31957
  }
31731
31958
  }, React__default.createElement("div", {
31732
- className: styles$8["drawer-header"] + " d-flex justify-content-between align-items-center"
31959
+ className: styles$9["drawer-header"] + " d-flex justify-content-between align-items-center"
31733
31960
  }, React__default.createElement(material.Button, {
31734
31961
  variant: "outlined",
31735
31962
  sx: {
@@ -31748,7 +31975,7 @@ var CreateExamDrawer = function CreateExamDrawer(props) {
31748
31975
  }, React__default.createElement(fa.FaTimes, {
31749
31976
  size: 18
31750
31977
  }))), React__default.createElement("div", {
31751
- className: "" + styles$8["drawer-form"]
31978
+ className: "" + styles$9["drawer-form"]
31752
31979
  }, React__default.createElement(ExamDetailView, Object.assign({}, examDetailViewProps)))));
31753
31980
  };
31754
31981
 
@@ -32864,7 +33091,7 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
32864
33091
  };
32865
33092
  };
32866
33093
 
32867
- var styles$9 = {"avatar":"_8niRT"};
33094
+ var styles$a = {"avatar":"_8niRT"};
32868
33095
 
32869
33096
  var _excluded$f = ["value", "disabled", "optionTypeNotification"];
32870
33097
  var TypeSelector = function TypeSelector(_ref) {
@@ -32989,7 +33216,7 @@ var NotificationForm = function NotificationForm(_ref) {
32989
33216
  className: "fw-bold mb-2",
32990
33217
  htmlFor: "main-teacher"
32991
33218
  }, t('content')), React__default.createElement("div", {
32992
- className: "" + styles$9["teacher-selector-wrapper"]
33219
+ className: "" + styles$a["teacher-selector-wrapper"]
32993
33220
  }, React__default.createElement(TinyEditor, {
32994
33221
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
32995
33222
  initValue: formikProp.values.content,
@@ -33008,7 +33235,7 @@ var NotificationForm = function NotificationForm(_ref) {
33008
33235
  }, t('type'), " ", React__default.createElement("span", {
33009
33236
  className: "text-danger"
33010
33237
  }, "*")), React__default.createElement("div", {
33011
- className: "" + styles$9["teacher-selector-wrapper"]
33238
+ className: "" + styles$a["teacher-selector-wrapper"]
33012
33239
  }, React__default.createElement(TypeSelector, {
33013
33240
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33014
33241
  optionTypeNotification: notificationTypes,
@@ -33026,7 +33253,7 @@ var NotificationForm = function NotificationForm(_ref) {
33026
33253
  className: "fw-bold mb-2",
33027
33254
  htmlFor: "main-teacher"
33028
33255
  }, t('classes')), React__default.createElement("div", {
33029
- className: "" + styles$9["teacher-selector-wrapper"]
33256
+ className: "" + styles$a["teacher-selector-wrapper"]
33030
33257
  }, React__default.createElement(ClassSelector, {
33031
33258
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33032
33259
  value: classOptions,
@@ -33035,7 +33262,7 @@ var NotificationForm = function NotificationForm(_ref) {
33035
33262
  className: "fw-bold mb-2",
33036
33263
  htmlFor: "main-teacher"
33037
33264
  }, t('students')), React__default.createElement("div", {
33038
- className: "" + styles$9["teacher-selector-wrapper"]
33265
+ className: "" + styles$a["teacher-selector-wrapper"]
33039
33266
  }, React__default.createElement(StudentSelector, {
33040
33267
  disabled: !isAdmin && (!!id && !(data !== null && data !== void 0 && data.isOwned) || isTeacherAdmin),
33041
33268
  value: studentOptions,
@@ -33916,7 +34143,6 @@ var CompareTypeOptions = [{
33916
34143
  label: "synonym_processing",
33917
34144
  value: exports.QuestionAnswerType.SynonymProcessing
33918
34145
  }];
33919
- var MAX_QUESTIONS_IN_QUESTION_GROUP = 20;
33920
34146
 
33921
34147
  var CustomTextbookTab = function CustomTextbookTab(props) {
33922
34148
  var children = props.children,
@@ -34380,7 +34606,7 @@ var isEqual = function isEqual(prev, next) {
34380
34606
  };
34381
34607
  var ArticleBlock$1 = React.memo(ArticleBlock, isEqual);
34382
34608
 
34383
- var styles$a = {"question":"_1_ONI","question-article":"_2FdrR","question-title":"_3mgRf","question-label":"_2h0kA","question-input":"_exAl-","question-btn":"_2ksp8"};
34609
+ var styles$b = {"question":"_1_ONI","question-article":"_2FdrR","question-title":"_3mgRf","question-label":"_2h0kA","question-input":"_exAl-","question-btn":"_2ksp8"};
34384
34610
 
34385
34611
  var labelStyle = {
34386
34612
  textOverflow: "ellipsis",
@@ -34406,7 +34632,7 @@ var QuestionCompareType = function QuestionCompareType(_ref) {
34406
34632
  }
34407
34633
  }, React__default.createElement(material.FormLabel, {
34408
34634
  htmlFor: "compare-type",
34409
- className: "" + styles$a["question-label"],
34635
+ className: "" + styles$b["question-label"],
34410
34636
  sx: _extends({}, labelStyle, {
34411
34637
  width: "unset"
34412
34638
  })
@@ -34450,7 +34676,7 @@ var QuestionOrderName = function QuestionOrderName(_ref) {
34450
34676
  var _useTranslation = reactI18next.useTranslation(),
34451
34677
  t = _useTranslation.t;
34452
34678
  return React__default.createElement(material.Box, {
34453
- className: styles$a["question-title"] + " me-2 text-nowrap",
34679
+ className: styles$b["question-title"] + " me-2 text-nowrap",
34454
34680
  sx: questionTitleStyle
34455
34681
  }, isMath ? t("problem_number_question", {
34456
34682
  number: questionOrder + 1
@@ -34675,7 +34901,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34675
34901
  var _data$correctAnswers2;
34676
34902
  return React__default.createElement(material.FormControlLabel, {
34677
34903
  key: i,
34678
- className: styles$a["question-label"] + " w-fit",
34904
+ className: styles$b["question-label"] + " w-fit",
34679
34905
  labelPlacement: "top",
34680
34906
  value: i,
34681
34907
  disabled: disabled,
@@ -34709,7 +34935,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34709
34935
  var _data$correctAnswers4;
34710
34936
  return React__default.createElement(material.FormControlLabel, {
34711
34937
  key: i,
34712
- className: styles$a["question-label"] + " w-fit",
34938
+ className: styles$b["question-label"] + " w-fit",
34713
34939
  labelPlacement: "top",
34714
34940
  value: i,
34715
34941
  onChange: function onChange(e) {
@@ -34775,7 +35001,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34775
35001
  direction: "row",
34776
35002
  gap: 2
34777
35003
  }, isTextAnswerType && React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
34778
- className: styles$a["question-label"] + " form-label",
35004
+ className: styles$b["question-label"] + " form-label",
34779
35005
  sx: _extends({}, labelStyle, {
34780
35006
  visibility: "hidden"
34781
35007
  })
@@ -34810,7 +35036,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34810
35036
  }
34811
35037
  }, React__default.createElement(material.FormLabel, {
34812
35038
  htmlFor: "score",
34813
- className: styles$a["question-label"] + " form-label",
35039
+ className: styles$b["question-label"] + " form-label",
34814
35040
  sx: labelStyle
34815
35041
  }, t("score")), React__default.createElement(formik.Field, {
34816
35042
  name: path + ".score",
@@ -34830,7 +35056,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34830
35056
  }
34831
35057
  }, React__default.createElement(material.FormLabel, {
34832
35058
  htmlFor: "type",
34833
- className: styles$a["question-label"] + " form-label",
35059
+ className: styles$b["question-label"] + " form-label",
34834
35060
  sx: labelStyle
34835
35061
  }, t("type")), React__default.createElement(formik.Field, {
34836
35062
  name: path + ".questionTypeId",
@@ -34855,7 +35081,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
34855
35081
  }
34856
35082
  }, React__default.createElement(material.FormLabel, {
34857
35083
  htmlFor: "question_answer_type",
34858
- className: styles$a["question-label"] + " form-label",
35084
+ className: styles$b["question-label"] + " form-label",
34859
35085
  sx: labelStyle
34860
35086
  }, t("question_answer_type")), React__default.createElement(formik.Field, {
34861
35087
  name: path + ".questionAnswerType",
@@ -35251,8 +35477,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
35251
35477
  var field = _ref2.field;
35252
35478
  return React__default.createElement(QuestionCountSelector, Object.assign({}, field, {
35253
35479
  onChange: handleChangeQuestionCount,
35254
- isDisabled: disabled,
35255
- totalQuestions: MAX_QUESTIONS_IN_QUESTION_GROUP
35480
+ isDisabled: disabled
35256
35481
  }));
35257
35482
  }
35258
35483
  }))), isMath && React__default.createElement(material.Grid, {
@@ -37491,7 +37716,7 @@ var useTextbookList$1 = function useTextbookList() {
37491
37716
  };
37492
37717
  };
37493
37718
 
37494
- var styles$b = {"action-btn":"_2Kt_g","action-btn--pencil":"_3T_TG","btn-cancel":"_3j6Kd","btn-register":"_XA4vl"};
37719
+ var styles$c = {"action-btn":"_2Kt_g","action-btn--pencil":"_3T_TG","btn-cancel":"_3j6Kd","btn-register":"_XA4vl"};
37495
37720
 
37496
37721
  var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37497
37722
  var t = _ref.t,
@@ -37555,7 +37780,7 @@ var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37555
37780
  borderTop: "1px solid #CED2DA"
37556
37781
  }
37557
37782
  }, React__default.createElement(material.Button, {
37558
- className: styles$b["btn-cancel"],
37783
+ className: styles$c["btn-cancel"],
37559
37784
  onClick: onClose
37560
37785
  }, React__default.createElement(material.Typography, {
37561
37786
  sx: {
@@ -37566,7 +37791,7 @@ var DeleteTextbookDialog$1 = function DeleteTextbookDialog(_ref) {
37566
37791
  lineHeight: "16.71px"
37567
37792
  }, t("cancel"))), React__default.createElement(material.Button, {
37568
37793
  variant: "contained",
37569
- className: styles$b["btn-register"],
37794
+ className: styles$c["btn-register"],
37570
37795
  type: "submit",
37571
37796
  sx: {
37572
37797
  padding: "12px 47px"
@@ -37653,12 +37878,12 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
37653
37878
  title: t("edit")
37654
37879
  }, React__default.createElement(material.IconButton, {
37655
37880
  color: "default",
37656
- className: styles$b["action-btn"] + " bg-warning text-white me-2",
37881
+ className: styles$c["action-btn"] + " bg-warning text-white me-2",
37657
37882
  onClick: function onClick() {
37658
37883
  return onNavigateDetail(i);
37659
37884
  }
37660
37885
  }, React__default.createElement(hi.HiOutlinePencilAlt, {
37661
- className: styles$b["action-btn--pencil"],
37886
+ className: styles$c["action-btn--pencil"],
37662
37887
  size: 16
37663
37888
  }))), React__default.createElement(material.Tooltip, {
37664
37889
  title: t("edit")
@@ -37667,7 +37892,7 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
37667
37892
  return handleOpenConfirmDialog(i);
37668
37893
  },
37669
37894
  color: "default",
37670
- className: styles$b["action-btn"] + " bg-danger text-white",
37895
+ className: styles$c["action-btn"] + " bg-danger text-white",
37671
37896
  title: t("delete")
37672
37897
  }, React__default.createElement(fa6.FaTrashCan, {
37673
37898
  size: 12
@@ -38466,8 +38691,8 @@ var Header = function Header(_ref) {
38466
38691
  justifyContent: "center",
38467
38692
  alignItems: "center"
38468
38693
  }, React__default.createElement(TheAcademyDropdown, {
38469
- homeAcademyUrl: academyListRoute.path,
38470
- homeUrl: homeRoute.path,
38694
+ homeAcademyUrl: homeRoute.path,
38695
+ homeUrl: academyListRoute.path,
38471
38696
  registerUrl: registerRoute === null || registerRoute === void 0 ? void 0 : registerRoute.path,
38472
38697
  role: role,
38473
38698
  history: history,
@@ -38842,6 +39067,7 @@ exports.AnswerCountSelector = AnswerCountSelector;
38842
39067
  exports.ArticleCategorySelector = ArticleCategorySelector;
38843
39068
  exports.ArticleDialog = ArticleDialog;
38844
39069
  exports.ArticleGroupView = ArticleGroupView;
39070
+ exports.AttendanceFormDialog = AttendanceFormDialog;
38845
39071
  exports.BASE_URL = BASE_URL;
38846
39072
  exports.BRIEF_GRADE_OPTIONS = BRIEF_GRADE_OPTIONS;
38847
39073
  exports.ChapterBox = _ChapterBox;
@@ -38880,6 +39106,7 @@ exports.LANGUAGE = LANGUAGE;
38880
39106
  exports.LEARNING_SPACE = LEARNING_SPACE;
38881
39107
  exports.LanguageHeaders = LanguageHeaders;
38882
39108
  exports.LayoutContext = LayoutContext;
39109
+ exports.LessonTooltip = LessonTooltip;
38883
39110
  exports.ListView = ListView;
38884
39111
  exports.Loading = Loading;
38885
39112
  exports.LoadingComponent = LoadingComponent;