touchstudy-core 0.1.31 → 0.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -138,7 +138,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
138
138
  return target;
139
139
  }
140
140
 
141
- var stylesGlobal = {"btn-login-google":"_2HqmH","block-login":"_wWIyO","box-login":"_38Lo1","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","dropdown-academy":"_3CMVp","image-academy":"_2ibYC","academy-btn":"_1JMRU","switch-icon":"_N4FNf","dropdown-content-academy":"_31Dr0","dropdown-academy-item":"_3bjcz","noGutters":"_31ZQk","custom-col-2":"_3yXyK","custom-col-3":"_1RsJQ","custom-col-5":"_L42CP","custom-col-10":"_2u6eL","custom-row":"_8x7OP","custom-col":"_1JmTh","custom-col-4":"_3HO1e","custom-col-8":"_Oy31M","custom-col-12":"_3aUKo","custom-container":"_39LRs","form-label":"__Ut-u","form-control":"_2k4dX","btn-outline-primary":"_2PWdX","sort-icons":"_mQvLF","active":"_3oAH-","form-select":"_3W3aw"};
141
+ var styleGlobal = {"btn-login-google":"_2HqmH","block-login":"_wWIyO","box-login":"_38Lo1","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","dropdown-academy":"_3CMVp","image-academy":"_2ibYC","academy-btn":"_1JMRU","switch-icon":"_N4FNf","dropdown-content-academy":"_31Dr0","dropdown-academy-item":"_3bjcz","noGutters":"_31ZQk","custom-col-2":"_3yXyK","custom-col-3":"_1RsJQ","custom-col-5":"_L42CP","custom-col-10":"_2u6eL","custom-row":"_8x7OP","custom-col":"_1JmTh","custom-col-4":"_3HO1e","custom-col-8":"_Oy31M","custom-col-12":"_3aUKo","custom-container":"_39LRs","form-label":"__Ut-u","form-control":"_2k4dX","btn-outline-primary":"_2PWdX","sort-icons":"_mQvLF","active":"_3oAH-","form-select":"_3W3aw","truncate":"_3NJzN"};
142
142
 
143
143
  var AuthenticationMessage;
144
144
  (function (AuthenticationMessage) {
@@ -464,18 +464,18 @@ var BlockLogin = function BlockLogin(_ref) {
464
464
  var handleSubmit = formikProps.handleSubmit;
465
465
  return React__default.createElement(material.Grid, {
466
466
  container: true,
467
- className: "" + stylesGlobal["box-login"]
467
+ className: "" + styleGlobal["box-login"]
468
468
  }, React__default.createElement(material.Grid, {
469
469
  item: true,
470
470
  className: "p-0 d-flex justify-content-center"
471
471
  }, React__default.createElement("form", {
472
- className: "" + stylesGlobal["block-login"],
472
+ className: "" + styleGlobal["block-login"],
473
473
  onSubmit: handleSubmit
474
474
  }, React__default.createElement("div", {
475
- className: "" + stylesGlobal["block-form"]
475
+ className: "" + styleGlobal["block-form"]
476
476
  }, React__default.createElement("img", {
477
477
  src: "/images/logo.jpeg",
478
- className: "" + stylesGlobal["img-login-rectangle"]
478
+ className: "" + styleGlobal["img-login-rectangle"]
479
479
  }), React__default.createElement("div", {
480
480
  className: "p-0 mt-1 mb-4"
481
481
  }, React__default.createElement(GoogleLogin__default, {
@@ -484,7 +484,7 @@ var BlockLogin = function BlockLogin(_ref) {
484
484
  onSuccess: onSuccessGoogle,
485
485
  onFailure: onFailureGoogle,
486
486
  cookiePolicy: "single_host_origin",
487
- className: "" + stylesGlobal["btn-login-google"],
487
+ className: "" + styleGlobal["btn-login-google"],
488
488
  isSignedIn: true
489
489
  }))))));
490
490
  });
@@ -548,7 +548,7 @@ var Login = function Login(_ref) {
548
548
  var _useLogin = useLogin$1(onNavigate),
549
549
  defaultInfo = _useLogin.defaultInfo;
550
550
  return React__default.createElement("div", {
551
- className: stylesGlobal["login"] + " container-fluid font-family-lato"
551
+ className: styleGlobal["login"] + " container-fluid font-family-lato"
552
552
  }, React__default.createElement(material.Grid, {
553
553
  container: true,
554
554
  spacing: 3,
@@ -1355,6 +1355,7 @@ var duration = "시험 시간";
1355
1355
  var answer_count = "답변 수";
1356
1356
  var question_count = "문제 갯수";
1357
1357
  var category = "문항 카테고리";
1358
+ var _category = "카테고리";
1358
1359
  var save_and_exit = "저장 및 종료";
1359
1360
  var update_exam = "시험 업데이트";
1360
1361
  var create_exam = "새 시험 만들기";
@@ -1571,6 +1572,12 @@ var my_classes_calendar = "내 수업 캘린더";
1571
1572
  var enter_exam_code = "시험 코드 입력";
1572
1573
  var my_score = "내 점수";
1573
1574
  var exam_date = "시험 날짜";
1575
+ var my_problem_solving_order = "내 순서";
1576
+ var top_rankings_problem_solving_order = "상위권 학생의 순서";
1577
+ var comparison_of_top_rankings_and_problem_solving_order = "상위권과 문제 푸는 순서 비교";
1578
+ var my_answers = "내 해답";
1579
+ var request_for_consultation = "상담요청";
1580
+ var ask_a_question_with_a_problem = "문제로 질문하기";
1574
1581
  var lang_ko = {
1575
1582
  problem_solving: problem_solving,
1576
1583
  my_story: my_story,
@@ -1641,6 +1648,7 @@ var lang_ko = {
1641
1648
  answer_count: answer_count,
1642
1649
  question_count: question_count,
1643
1650
  category: category,
1651
+ _category: _category,
1644
1652
  save_and_exit: save_and_exit,
1645
1653
  update_exam: update_exam,
1646
1654
  create_exam: create_exam,
@@ -1853,7 +1861,13 @@ var lang_ko = {
1853
1861
  my_classes_calendar: my_classes_calendar,
1854
1862
  enter_exam_code: enter_exam_code,
1855
1863
  my_score: my_score,
1856
- exam_date: exam_date
1864
+ exam_date: exam_date,
1865
+ my_problem_solving_order: my_problem_solving_order,
1866
+ top_rankings_problem_solving_order: top_rankings_problem_solving_order,
1867
+ comparison_of_top_rankings_and_problem_solving_order: comparison_of_top_rankings_and_problem_solving_order,
1868
+ my_answers: my_answers,
1869
+ request_for_consultation: request_for_consultation,
1870
+ ask_a_question_with_a_problem: ask_a_question_with_a_problem
1857
1871
  };
1858
1872
 
1859
1873
  var problem_solving$1 = "Problem Solving";
@@ -1945,6 +1959,7 @@ var update_question_success = "Question is updated successfully";
1945
1959
  var number_of_answers = "Number of answers";
1946
1960
  var correct_answers = "Correct answers";
1947
1961
  var category$1 = "Category";
1962
+ var _category$1 = "Category";
1948
1963
  var score = "Score";
1949
1964
  var enter_title$1 = "Enter title";
1950
1965
  var enter_score = "Enter score";
@@ -2174,6 +2189,12 @@ var my_classes_calendar$1 = "My classes calendar";
2174
2189
  var enter_exam_code$1 = "Enter exam code";
2175
2190
  var my_score$1 = "My score";
2176
2191
  var exam_date$1 = "Exam date";
2192
+ var my_problem_solving_order$1 = "My problem solving order";
2193
+ var top_rankings_problem_solving_order$1 = "Top rankings problem solving order";
2194
+ var comparison_of_top_rankings_and_problem_solving_order$1 = "Comparison of top rankings and problem-solving order";
2195
+ var my_answers$1 = "My answers";
2196
+ var request_for_consultation$1 = "Request for consultation";
2197
+ var ask_a_question_with_a_problem$1 = "Ask a question with a problem";
2177
2198
  var lang_en = {
2178
2199
  problem_solving: problem_solving$1,
2179
2200
  my_story: my_story$1,
@@ -2267,6 +2288,7 @@ var lang_en = {
2267
2288
  number_of_answers: number_of_answers,
2268
2289
  correct_answers: correct_answers,
2269
2290
  category: category$1,
2291
+ _category: _category$1,
2270
2292
  score: score,
2271
2293
  enter_title: enter_title$1,
2272
2294
  enter_score: enter_score,
@@ -2491,7 +2513,13 @@ var lang_en = {
2491
2513
  my_classes_calendar: my_classes_calendar$1,
2492
2514
  enter_exam_code: enter_exam_code$1,
2493
2515
  my_score: my_score$1,
2494
- exam_date: exam_date$1
2516
+ exam_date: exam_date$1,
2517
+ my_problem_solving_order: my_problem_solving_order$1,
2518
+ top_rankings_problem_solving_order: top_rankings_problem_solving_order$1,
2519
+ comparison_of_top_rankings_and_problem_solving_order: comparison_of_top_rankings_and_problem_solving_order$1,
2520
+ my_answers: my_answers$1,
2521
+ request_for_consultation: request_for_consultation$1,
2522
+ ask_a_question_with_a_problem: ask_a_question_with_a_problem$1
2495
2523
  };
2496
2524
 
2497
2525
  i18n.use(reactI18next.initReactI18next).init({
@@ -2806,10 +2834,10 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2806
2834
  };
2807
2835
  return React__default.createElement(React.Fragment, null, React__default.createElement(material.Button, {
2808
2836
  onClick: handleOpen,
2809
- className: "" + stylesGlobal["academy-btn"],
2837
+ className: "" + styleGlobal["academy-btn"],
2810
2838
  sx: _extends({}, popoverStyle)
2811
2839
  }, React__default.createElement("div", {
2812
- className: "" + stylesGlobal["image-academy"]
2840
+ className: "" + styleGlobal["image-academy"]
2813
2841
  }, selectedAcademy !== null && selectedAcademy !== void 0 && selectedAcademy.image ? React__default.createElement("img", {
2814
2842
  src: selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.image,
2815
2843
  alt: selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.name
@@ -2822,7 +2850,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2822
2850
  minWidth: 150
2823
2851
  }
2824
2852
  }, (selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.name) || t(role === exports.Role.Admin ? "switch_academy_admin" : "switch_academy")), React__default.createElement("div", {
2825
- className: "" + stylesGlobal["switch-icon"]
2853
+ className: "" + styleGlobal["switch-icon"]
2826
2854
  }, React__default.createElement(go.GoArrowSwitch, {
2827
2855
  size: 14
2828
2856
  }))), (isSuperAdmin || !isAdmin) && React__default.createElement(Popover, {
@@ -2864,7 +2892,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2864
2892
  fontWeight: 600
2865
2893
  }
2866
2894
  }, React__default.createElement("div", {
2867
- className: "" + stylesGlobal["image-academy"]
2895
+ className: "" + styleGlobal["image-academy"]
2868
2896
  }, option.image ? React__default.createElement(Box, {
2869
2897
  component: "img",
2870
2898
  alt: option.name,
@@ -3908,6 +3936,36 @@ var iconChecked = function iconChecked(_ref) {
3908
3936
  }));
3909
3937
  };
3910
3938
 
3939
+ var ellipsisText = function ellipsisText(text, maxLength) {
3940
+ return text.length > maxLength ? text.slice(0, maxLength) + " ..." : text;
3941
+ };
3942
+ var formatDataMyAnswer = function formatDataMyAnswer(inputData, categories) {
3943
+ var uniqueCategories = new Set();
3944
+ var filterCategories = categories.filter(function (category) {
3945
+ if (!uniqueCategories.has(category.name)) {
3946
+ uniqueCategories.add(category.name);
3947
+ return true;
3948
+ }
3949
+ return false;
3950
+ });
3951
+ var questionsByCategory = filterCategories.map(function (category) {
3952
+ return {
3953
+ category: category,
3954
+ questions: inputData.questions.filter(function (question) {
3955
+ return question.category.name === category.name;
3956
+ })
3957
+ };
3958
+ });
3959
+ return questionsByCategory;
3960
+ };
3961
+ var formatTimeSecond = function formatTimeSecond(duration, t) {
3962
+ duration = Math.round(duration);
3963
+ return "" + (duration < 60 ? "" + duration + t("seconds") : t("mins_mins_seconds_seconds", {
3964
+ mins: Math.floor(duration / 60),
3965
+ seconds: duration % 60
3966
+ }));
3967
+ };
3968
+
3911
3969
  var ChatHeader = function ChatHeader(_ref) {
3912
3970
  var fullName = _ref.fullName,
3913
3971
  examTitle = _ref.examTitle,
@@ -3928,6 +3986,7 @@ var ChatHeader = function ChatHeader(_ref) {
3928
3986
  handleConfirm = _useDialog.handleConfirm;
3929
3987
  var _useTranslation = reactI18next.useTranslation(),
3930
3988
  t = _useTranslation.t;
3989
+ var isTabletUp = material.useMediaQuery('(min-width:900px)');
3931
3990
  var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Roles$1.Student);
3932
3991
  var filterDurationExam = React.useMemo(function () {
3933
3992
  if (!durationExam) return;
@@ -3956,7 +4015,7 @@ var ChatHeader = function ChatHeader(_ref) {
3956
4015
  alignItems: "center",
3957
4016
  flexDirection: "row",
3958
4017
  gap: "8px"
3959
- }, React__default.createElement(iconPersonNoActive, null), React__default.createElement(material.Typography, {
4018
+ }, React__default.createElement(iconPersonNoActive, null), isTabletUp && React__default.createElement(material.Typography, {
3960
4019
  fontWeight: 500,
3961
4020
  fontSize: "14px",
3962
4021
  lineHeight: "16.71px",
@@ -3966,7 +4025,7 @@ var ChatHeader = function ChatHeader(_ref) {
3966
4025
  fontSize: "14px",
3967
4026
  lineHeight: "16.71px",
3968
4027
  color: "#5458D5"
3969
- }, teacherName)), !!examTitle && React__default.createElement(material.Box, {
4028
+ }, ellipsisText(teacherName || "", 15))), !!examTitle && React__default.createElement(material.Box, {
3970
4029
  display: "flex",
3971
4030
  alignItems: "start",
3972
4031
  color: "#5458D5",
@@ -3976,7 +4035,7 @@ var ChatHeader = function ChatHeader(_ref) {
3976
4035
  fontWeight: 600,
3977
4036
  fontSize: "12px",
3978
4037
  lineHeight: "14.32px"
3979
- }, examTitle), React__default.createElement(material.Box, {
4038
+ }, ellipsisText(examTitle, 15)), React__default.createElement(material.Box, {
3980
4039
  display: "flex",
3981
4040
  flexDirection: "row",
3982
4041
  gap: "4px"
@@ -6555,9 +6614,9 @@ var SubjectSelector = function SubjectSelector(_ref) {
6555
6614
  !minimumTextSearchLength && defaultValueAtFirst && options.length && onChange(options[0], subjects[0]);
6556
6615
  }, [JSON.stringify(options), JSON.stringify(subjects), defaultValueAtFirst, minimumTextSearchLength]);
6557
6616
  return React__default.createElement(material.FormGroup, {
6558
- className: "" + stylesGlobal["filter-item"]
6617
+ className: "" + styleGlobal["filter-item"]
6559
6618
  }, !!title && React__default.createElement("label", {
6560
- className: "" + stylesGlobal["title-form"]
6619
+ className: "" + styleGlobal["title-form"]
6561
6620
  }, title), React__default.createElement(CustomSelectOption, {
6562
6621
  options: options,
6563
6622
  inputValue: searchString,
@@ -7026,12 +7085,12 @@ var SortIcon = function SortIcon(_ref) {
7026
7085
  var isAscending = _ref.isAscending,
7027
7086
  onClick = _ref.onClick;
7028
7087
  return React__default.createElement("div", {
7029
- className: "d-flex flex-column " + stylesGlobal["sort-icons"],
7088
+ className: "d-flex flex-column " + styleGlobal["sort-icons"],
7030
7089
  onClick: onClick
7031
7090
  }, React__default.createElement(fa.FaSortUp, {
7032
- className: isAscending === true ? stylesGlobal["active"] : ""
7091
+ className: isAscending === true ? styleGlobal["active"] : ""
7033
7092
  }), React__default.createElement(fa.FaSortDown, {
7034
- className: isAscending === false ? stylesGlobal["active"] : ""
7093
+ className: isAscending === false ? styleGlobal["active"] : ""
7035
7094
  }));
7036
7095
  };
7037
7096
 
@@ -7534,17 +7593,17 @@ var ExamDetailView = function ExamDetailView(_ref) {
7534
7593
  return React__default.createElement(material.Grid, {
7535
7594
  container: true,
7536
7595
  spacing: 3,
7537
- className: className + " " + stylesGlobal["custom-row"]
7596
+ className: className + " " + styleGlobal["custom-row"]
7538
7597
  }, React__default.createElement(material.Grid, {
7539
7598
  item: true,
7540
7599
  xs: 5,
7541
7600
  className: 'mb-2'
7542
7601
  }, React__default.createElement("label", {
7543
- className: stylesGlobal["form-label"] + " " + styles$1["question-label"],
7602
+ className: styleGlobal["form-label"] + " " + styles$1["question-label"],
7544
7603
  htmlFor: "title"
7545
7604
  }, t("title")), React__default.createElement("input", {
7546
7605
  disabled: isDisabled,
7547
- className: "" + stylesGlobal["form-control"],
7606
+ className: "" + styleGlobal["form-control"],
7548
7607
  value: exam.title,
7549
7608
  id: "title",
7550
7609
  placeholder: t("enter_title"),
@@ -7554,7 +7613,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
7554
7613
  xs: 3,
7555
7614
  className: 'mb-2'
7556
7615
  }, React__default.createElement("label", {
7557
- className: stylesGlobal["form-label"] + " " + styles$1["question-label"],
7616
+ className: styleGlobal["form-label"] + " " + styles$1["question-label"],
7558
7617
  htmlFor: "duration"
7559
7618
  }, t("duration")), React__default.createElement(CustomSelect, {
7560
7619
  inputId: "duration",
@@ -7567,7 +7626,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
7567
7626
  xs: 3,
7568
7627
  className: 'mb-2'
7569
7628
  }, React__default.createElement("label", {
7570
- className: stylesGlobal["form-label"] + " " + styles$1["question-label"],
7629
+ className: styleGlobal["form-label"] + " " + styles$1["question-label"],
7571
7630
  htmlFor: "duration"
7572
7631
  }, t("subject"), " ", selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.name), React__default.createElement(CustomSelect, {
7573
7632
  inputId: "subject",
@@ -7598,7 +7657,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
7598
7657
  xs: 12
7599
7658
  }, React__default.createElement("button", {
7600
7659
  disabled: isDisabled,
7601
- className: stylesGlobal["btn-outline-primary"] + " w-100 d-flex justify-content-center align-items-center " + styles$1["question-btn"] + " mt-3",
7660
+ className: styleGlobal["btn-outline-primary"] + " w-100 d-flex justify-content-center align-items-center " + styles$1["question-btn"] + " mt-3",
7602
7661
  onClick: handleAddArticle
7603
7662
  }, React__default.createElement(fa.FaPlusCircle, {
7604
7663
  className: "me-2"
@@ -8524,10 +8583,15 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8524
8583
  enabled: true,
8525
8584
  hideEmptySeries: true,
8526
8585
  y: {
8527
- formatter: function formatter(value, _ref) {
8586
+ formatter: function formatter(val, _ref) {
8528
8587
  var dataPointIndex = _ref.dataPointIndex;
8529
8588
  if (dataPointIndex > 0) {
8530
- return value != null ? "\uBB38\uC81C " + (timelyOrderQuestion[dataChartIndex] ? timelyOrderQuestion[dataChartIndex].questions.length - value + 1 : value) + "\uBC88" : "데이터 없음";
8589
+ var _timelyOrderQuestion$, _questions$length, _questions;
8590
+ var questions = ((_timelyOrderQuestion$ = timelyOrderQuestion[dataChartIndex]) === null || _timelyOrderQuestion$ === void 0 ? void 0 : _timelyOrderQuestion$.questions) || null;
8591
+ var questionLength = (_questions$length = questions === null || questions === void 0 ? void 0 : questions.length) != null ? _questions$length : 0;
8592
+ return val != null ? t("problem_number_question", {
8593
+ number: questions !== null ? ((_questions = questions[questionLength - val]) === null || _questions === void 0 ? void 0 : _questions.questionOrder) + 1 : val
8594
+ }) : t("no_data");
8531
8595
  }
8532
8596
  return null;
8533
8597
  }
@@ -8535,7 +8599,7 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8535
8599
  },
8536
8600
  legend: {
8537
8601
  show: true,
8538
- fontSize: '12px',
8602
+ fontSize: "12px",
8539
8603
  fontWeight: 600,
8540
8604
  markers: {
8541
8605
  width: 16,
@@ -8559,11 +8623,11 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8559
8623
  }), ["."]),
8560
8624
  axisBorder: {
8561
8625
  show: true,
8562
- color: '#E4E7EC'
8626
+ color: "#E4E7EC"
8563
8627
  },
8564
8628
  labels: {
8565
8629
  style: {
8566
- fontSize: '10px'
8630
+ fontSize: "10px"
8567
8631
  }
8568
8632
  }
8569
8633
  },
@@ -8585,25 +8649,30 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8585
8649
  max: timelyOrderQuestion[dataChartIndex] ? timelyOrderQuestion[dataChartIndex].questions.length + 1 : 1,
8586
8650
  axisBorder: {
8587
8651
  show: true,
8588
- color: '#E4E7EC'
8652
+ color: "#E4E7EC"
8589
8653
  },
8590
8654
  labels: {
8591
8655
  formatter: function formatter(val) {
8592
- return val != null ? "\uBB38\uC81C " + (timelyOrderQuestion[dataChartIndex] ? timelyOrderQuestion[dataChartIndex].questions.length - val + 1 : val) + "\uBC88" : "데이터 없음";
8656
+ var _timelyOrderQuestion$2, _questions$length2, _questions2;
8657
+ var questions = ((_timelyOrderQuestion$2 = timelyOrderQuestion[dataChartIndex]) === null || _timelyOrderQuestion$2 === void 0 ? void 0 : _timelyOrderQuestion$2.questions) || null;
8658
+ var questionLength = (_questions$length2 = questions === null || questions === void 0 ? void 0 : questions.length) != null ? _questions$length2 : 0;
8659
+ return val != null ? t("problem_number_question", {
8660
+ number: questions !== null ? ((_questions2 = questions[questionLength - val]) === null || _questions2 === void 0 ? void 0 : _questions2.questionOrder) + 1 : val
8661
+ }) : t("no_data");
8593
8662
  },
8594
8663
  style: {
8595
- fontSize: '10px'
8664
+ fontSize: "10px"
8596
8665
  }
8597
8666
  }
8598
8667
  }
8599
8668
  };
8600
- }, [JSON.stringify(timelyOrderQuestion[dataChartIndex]), language]);
8669
+ }, [JSON.stringify(timelyOrderQuestion), dataChartIndex, language]);
8601
8670
  var series = React.useMemo(function () {
8602
8671
  if (!timelyOrderQuestion.length || timelyOrderQuestion.length < dataChartIndex + 1 || dataChartIndex < 0) return [{
8603
- name: "내 순서",
8672
+ name: t("my_problem_solving_order"),
8604
8673
  data: []
8605
8674
  }, {
8606
- name: "상위권 학생의 순서",
8675
+ name: t("top_rankings_problem_solving_order"),
8607
8676
  data: []
8608
8677
  }];
8609
8678
  var data = timelyOrderQuestion[dataChartIndex];
@@ -8617,23 +8686,23 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8617
8686
  });
8618
8687
  });
8619
8688
  var mySeriesData = [null].concat(questionsData.sort(function (a, b) {
8620
- return a.answerOrder > b.answerOrder ? 1 : b.answerOrder > a.answerOrder ? -1 : 0;
8689
+ return b.answerOrder === 0 ? -1 : a.answerOrder > b.answerOrder ? 1 : b.answerOrder > a.answerOrder ? -1 : 0;
8621
8690
  }).map(function (item) {
8622
- return data.questions.length - item.questionOrder;
8691
+ return item.answerOrder === 0 ? null : data.questions.length - item.questionOrder;
8623
8692
  }), [null]);
8624
8693
  var topSeriesData = [null].concat(questionsData.sort(function (a, b) {
8625
- return a.topAnswerOrder > b.topAnswerOrder ? 1 : b.topAnswerOrder > a.topAnswerOrder ? -1 : 0;
8694
+ return b.topAnswerOrder === 0 ? -1 : a.topAnswerOrder > b.topAnswerOrder ? 1 : b.topAnswerOrder > a.topAnswerOrder ? -1 : 0;
8626
8695
  }).map(function (item) {
8627
- return item.topAnswerOrder == null ? null : data.questions.length - item.questionOrder;
8696
+ return item.topAnswerOrder === 0 ? null : data.questions.length - item.questionOrder;
8628
8697
  }), [null]);
8629
8698
  return [{
8630
- name: "내 순서",
8699
+ name: t("my_problem_solving_order"),
8631
8700
  data: mySeriesData
8632
8701
  }, {
8633
- name: "상위권 학생의 순서",
8702
+ name: t("top_rankings_problem_solving_order"),
8634
8703
  data: topSeriesData
8635
8704
  }];
8636
- }, [JSON.stringify(timelyOrderQuestion), dataChartIndex]);
8705
+ }, [JSON.stringify(timelyOrderQuestion), dataChartIndex, language]);
8637
8706
  var handleExportPdf = function handleExportPdf() {
8638
8707
  try {
8639
8708
  var canvas = document.querySelector("#canvas");
@@ -9792,33 +9861,6 @@ var ReactApexChart = unwrapExports(reactApexcharts_min);
9792
9861
 
9793
9862
  var styles$2 = {"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","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","compareGrass":"_1_fJu","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"};
9794
9863
 
9795
- var formatDataMyAnswer = function formatDataMyAnswer(inputData, categories) {
9796
- var uniqueCategories = new Set();
9797
- var filterCategories = categories.filter(function (category) {
9798
- if (!uniqueCategories.has(category.name)) {
9799
- uniqueCategories.add(category.name);
9800
- return true;
9801
- }
9802
- return false;
9803
- });
9804
- var questionsByCategory = filterCategories.map(function (category) {
9805
- return {
9806
- category: category,
9807
- questions: inputData.questions.filter(function (question) {
9808
- return question.category.name === category.name;
9809
- })
9810
- };
9811
- });
9812
- return questionsByCategory;
9813
- };
9814
- var formatTimeSecond = function formatTimeSecond(duration, t) {
9815
- duration = Math.round(duration);
9816
- return "" + (duration < 60 ? "" + duration + t("seconds") : t("mins_mins_seconds_seconds", {
9817
- mins: Math.floor(duration / 60),
9818
- seconds: duration % 60
9819
- }));
9820
- };
9821
-
9822
9864
  var iconStarQuestion = function iconStarQuestion(_ref) {
9823
9865
  var _ref$width = _ref.width,
9824
9866
  width = _ref$width === void 0 ? "15" : _ref$width,
@@ -10108,7 +10150,7 @@ function CreateNewQuestionDialog(_ref) {
10108
10150
  padding: "24px 24px 40px 24px"
10109
10151
  }, React__default.createElement(material.Stack, null, React__default.createElement("label", {
10110
10152
  htmlFor: "questions",
10111
- className: stylesGlobal['form-label'] + " " + styles$2['form-label-dialog']
10153
+ className: styleGlobal['form-label'] + " " + styles$2['form-label-dialog']
10112
10154
  }, "\uC9C8\uBB38\uD560 \uBB38\uC81C"), React__default.createElement(formik.Field, {
10113
10155
  as: "select",
10114
10156
  id: "questions",
@@ -10116,7 +10158,7 @@ function CreateNewQuestionDialog(_ref) {
10116
10158
  style: {
10117
10159
  width: "100%"
10118
10160
  },
10119
- className: "" + stylesGlobal['form-select']
10161
+ className: "" + styleGlobal['form-select']
10120
10162
  }, questions === null || questions === void 0 ? void 0 : questions.map(function (question) {
10121
10163
  return React__default.createElement("option", {
10122
10164
  value: question === null || question === void 0 ? void 0 : question.id
@@ -10125,7 +10167,7 @@ function CreateNewQuestionDialog(_ref) {
10125
10167
  }));
10126
10168
  }))), React__default.createElement(material.Stack, null, React__default.createElement("label", {
10127
10169
  htmlFor: "content-question",
10128
- className: stylesGlobal['form-label'] + " " + styles$2['form-label-dialog']
10170
+ className: styleGlobal['form-label'] + " " + styles$2['form-label-dialog']
10129
10171
  }, "\uC9C8\uBB38 \uB0B4\uC6A9"), React__default.createElement(material.Box, {
10130
10172
  position: 'relative',
10131
10173
  display: 'flex',
@@ -10138,7 +10180,7 @@ function CreateNewQuestionDialog(_ref) {
10138
10180
  },
10139
10181
  name: "content",
10140
10182
  placeholder: "\uBB38\uC81C\uAC00 \uC5B4\uB824\uC6CC\uC694",
10141
- className: stylesGlobal['form-control']
10183
+ className: styleGlobal['form-control']
10142
10184
  }), (errors === null || errors === void 0 ? void 0 : errors.content) && React__default.createElement(material.Box, {
10143
10185
  position: 'absolute',
10144
10186
  right: 0,
@@ -10208,9 +10250,9 @@ function MyAnswer(_ref) {
10208
10250
  bgcolor: "#F9FAFB",
10209
10251
  flexDirection: "row",
10210
10252
  padding: "12px",
10211
- className: styles$2["myAnswerItem"] + " " + stylesGlobal["noGutters"]
10253
+ className: styles$2["myAnswerItem"] + " " + styleGlobal["noGutters"]
10212
10254
  }, React__default.createElement("div", {
10213
- className: stylesGlobal["custom-col-2"],
10255
+ className: styleGlobal["custom-col-2"],
10214
10256
  style: {
10215
10257
  display: "flex",
10216
10258
  gap: "4px"
@@ -10222,7 +10264,7 @@ function MyAnswer(_ref) {
10222
10264
  color: "#97A1AF"
10223
10265
  }
10224
10266
  }, "\uBB38\uC81C \uBC88\uD638")), React__default.createElement("div", {
10225
- className: stylesGlobal["custom-col-2"],
10267
+ className: styleGlobal["custom-col-2"],
10226
10268
  style: {
10227
10269
  display: "flex",
10228
10270
  gap: "4px"
@@ -10234,7 +10276,7 @@ function MyAnswer(_ref) {
10234
10276
  color: "#97A1AF"
10235
10277
  }
10236
10278
  }, "\uC815\uB2F5")), React__default.createElement("div", {
10237
- className: stylesGlobal["custom-col-2"],
10279
+ className: styleGlobal["custom-col-2"],
10238
10280
  style: {
10239
10281
  display: "flex",
10240
10282
  gap: "4px"
@@ -10246,7 +10288,7 @@ function MyAnswer(_ref) {
10246
10288
  color: "#97A1AF"
10247
10289
  }
10248
10290
  }, "\uD480\uC774 \uC2DC\uAC04")), React__default.createElement("div", {
10249
- className: stylesGlobal["custom-col-2"],
10291
+ className: styleGlobal["custom-col-2"],
10250
10292
  style: {
10251
10293
  display: "flex",
10252
10294
  alignItems: "center",
@@ -10259,7 +10301,7 @@ function MyAnswer(_ref) {
10259
10301
  color: "#97A1AF"
10260
10302
  }
10261
10303
  }, "\uC0C1\uC704\uAD8C \uBE44\uAD50")), React__default.createElement("div", {
10262
- className: stylesGlobal["custom-col-2"],
10304
+ className: styleGlobal["custom-col-2"],
10263
10305
  style: {
10264
10306
  display: "flex",
10265
10307
  alignItems: "center",
@@ -10294,9 +10336,9 @@ function MyAnswer(_ref) {
10294
10336
  } : {},
10295
10337
  key: question.id
10296
10338
  }, React__default.createElement("div", {
10297
- className: styles$2["myAnswerItem"] + " " + stylesGlobal["noGutters"]
10339
+ className: styles$2["myAnswerItem"] + " " + styleGlobal["noGutters"]
10298
10340
  }, React__default.createElement("div", {
10299
- className: stylesGlobal["custom-col-2"],
10341
+ className: styleGlobal["custom-col-2"],
10300
10342
  style: {
10301
10343
  display: "flex",
10302
10344
  alignItems: "center",
@@ -10306,7 +10348,7 @@ function MyAnswer(_ref) {
10306
10348
  }, question.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
10307
10349
  className: styles$2["questionOrder"]
10308
10350
  }, question.questionOrder + 1, "\uBC88")), React__default.createElement("div", {
10309
- className: stylesGlobal["custom-col-2"],
10351
+ className: styleGlobal["custom-col-2"],
10310
10352
  style: {
10311
10353
  display: "flex",
10312
10354
  alignItems: "center",
@@ -10319,7 +10361,7 @@ function MyAnswer(_ref) {
10319
10361
  }, "\uC624\uB2F5")), question.selectedAnswers === "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
10320
10362
  className: styles$2["answerNograss"]
10321
10363
  }, "\uD480\uC774 \uC5C6\uC74C"))), React__default.createElement("div", {
10322
- className: stylesGlobal["custom-col-2"],
10364
+ className: styleGlobal["custom-col-2"],
10323
10365
  style: {
10324
10366
  display: "flex",
10325
10367
  alignItems: "center"
@@ -10335,7 +10377,7 @@ function MyAnswer(_ref) {
10335
10377
  },
10336
10378
  className: styles$2["answerNoTime"]
10337
10379
  }, "\uC2DC\uAC04 \uC5C6\uC74C")), React__default.createElement("div", {
10338
- className: stylesGlobal["custom-col-2"],
10380
+ className: styleGlobal["custom-col-2"],
10339
10381
  style: {
10340
10382
  display: "flex",
10341
10383
  alignItems: "center"
@@ -10352,7 +10394,7 @@ function MyAnswer(_ref) {
10352
10394
  },
10353
10395
  className: styles$2["answerNoTime"]
10354
10396
  }, "-")), React__default.createElement("div", {
10355
- className: stylesGlobal["custom-col-2"],
10397
+ className: styleGlobal["custom-col-2"],
10356
10398
  style: {
10357
10399
  display: "flex",
10358
10400
  alignItems: "center"
@@ -10368,7 +10410,7 @@ function MyAnswer(_ref) {
10368
10410
  },
10369
10411
  className: styles$2["answerNoTime"]
10370
10412
  }, "\uC2DC\uAC04 \uC5C6\uC74C")), isStudent && React__default.createElement("div", {
10371
- className: stylesGlobal["custom-col-2"],
10413
+ className: styleGlobal["custom-col-2"],
10372
10414
  style: {
10373
10415
  display: "flex",
10374
10416
  alignItems: "center",
@@ -10892,7 +10934,7 @@ function CreateNewQuestionDialog$1(_ref) {
10892
10934
  var errors = _ref2.errors;
10893
10935
  return React__default.createElement(formik.Form, null, React__default.createElement("label", {
10894
10936
  htmlFor: "content-question",
10895
- className: stylesGlobal['form-label'] + " " + styles$2['form-label-dialog']
10937
+ className: styleGlobal['form-label'] + " " + styles$2['form-label-dialog']
10896
10938
  }, "\uC9C8\uBB38 \uB0B4\uC6A9"), React__default.createElement(material.Box, {
10897
10939
  position: 'relative',
10898
10940
  display: 'flex',
@@ -10905,7 +10947,7 @@ function CreateNewQuestionDialog$1(_ref) {
10905
10947
  },
10906
10948
  name: "content",
10907
10949
  placeholder: "\uBB38\uC81C\uAC00 \uC5B4\uB824\uC6CC\uC694",
10908
- className: stylesGlobal['form-control']
10950
+ className: styleGlobal['form-control']
10909
10951
  }), (errors === null || errors === void 0 ? void 0 : errors.content) && React__default.createElement(material.Box, {
10910
10952
  position: 'absolute',
10911
10953
  right: 0,
@@ -11140,6 +11182,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11140
11182
  var label = _ref2.label,
11141
11183
  value = _ref2.value;
11142
11184
  return React__default.createElement(material.Button, {
11185
+ className: styleGlobal["truncate"],
11143
11186
  disableTouchRipple: true,
11144
11187
  sx: {
11145
11188
  fontSize: "14px",
@@ -11159,7 +11202,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11159
11202
  }, React__default.createElement("div", {
11160
11203
  className: styles$2["pdfBtnBox"]
11161
11204
  }, React__default.createElement("button", {
11162
- className: styles$2["pdfBtn"],
11205
+ className: styles$2["pdfBtn"] + " " + styleGlobal["truncate"],
11163
11206
  onClick: handleExportPdf
11164
11207
  }, React__default.createElement(iconPrintFill, null), React__default.createElement("p", null, t("print"))))))), React__default.createElement(material.Grid, {
11165
11208
  item: true,