touchstudy-core 0.1.32 → 0.1.34

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
@@ -39,6 +39,7 @@ var DialogTitle = _interopDefault(require('@mui/material/DialogTitle'));
39
39
  var DialogContent = _interopDefault(require('@mui/material/DialogContent'));
40
40
  var DialogActions = _interopDefault(require('@mui/material/DialogActions'));
41
41
  var Typography = _interopDefault(require('@mui/material/Typography'));
42
+ var reactRouterDom = require('react-router-dom');
42
43
 
43
44
  var setLoading = toolkit.createAction("common/setLoading");
44
45
  var setAlert = toolkit.createAction("common/setAlert");
@@ -138,7 +139,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
138
139
  return target;
139
140
  }
140
141
 
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"};
142
+ var styles = {"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","image-academy--item":"_3RDWF","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","headers":"_3xnI5","logo-container":"_3YG70","tabBox":"_1CQPn","routerBox":"_3hx2T","tabText":"_3UyhW","router-link-active":"_1TGKA","router-link":"_1AqMh","userImg":"_2RI6G","disabled-link":"_3aVHg"};
142
143
 
143
144
  var AuthenticationMessage;
144
145
  (function (AuthenticationMessage) {
@@ -464,18 +465,18 @@ var BlockLogin = function BlockLogin(_ref) {
464
465
  var handleSubmit = formikProps.handleSubmit;
465
466
  return React__default.createElement(material.Grid, {
466
467
  container: true,
467
- className: "" + stylesGlobal["box-login"]
468
+ className: "" + styles["box-login"]
468
469
  }, React__default.createElement(material.Grid, {
469
470
  item: true,
470
471
  className: "p-0 d-flex justify-content-center"
471
472
  }, React__default.createElement("form", {
472
- className: "" + stylesGlobal["block-login"],
473
+ className: "" + styles["block-login"],
473
474
  onSubmit: handleSubmit
474
475
  }, React__default.createElement("div", {
475
- className: "" + stylesGlobal["block-form"]
476
+ className: "" + styles["block-form"]
476
477
  }, React__default.createElement("img", {
477
478
  src: "/images/logo.jpeg",
478
- className: "" + stylesGlobal["img-login-rectangle"]
479
+ className: "" + styles["img-login-rectangle"]
479
480
  }), React__default.createElement("div", {
480
481
  className: "p-0 mt-1 mb-4"
481
482
  }, React__default.createElement(GoogleLogin__default, {
@@ -484,7 +485,7 @@ var BlockLogin = function BlockLogin(_ref) {
484
485
  onSuccess: onSuccessGoogle,
485
486
  onFailure: onFailureGoogle,
486
487
  cookiePolicy: "single_host_origin",
487
- className: "" + stylesGlobal["btn-login-google"],
488
+ className: "" + styles["btn-login-google"],
488
489
  isSignedIn: true
489
490
  }))))));
490
491
  });
@@ -548,7 +549,7 @@ var Login = function Login(_ref) {
548
549
  var _useLogin = useLogin$1(onNavigate),
549
550
  defaultInfo = _useLogin.defaultInfo;
550
551
  return React__default.createElement("div", {
551
- className: stylesGlobal["login"] + " container-fluid font-family-lato"
552
+ className: styles["login"] + " container-fluid font-family-lato"
552
553
  }, React__default.createElement(material.Grid, {
553
554
  container: true,
554
555
  spacing: 3,
@@ -1576,6 +1577,9 @@ var my_problem_solving_order = "내 순서";
1576
1577
  var top_rankings_problem_solving_order = "상위권 학생의 순서";
1577
1578
  var comparison_of_top_rankings_and_problem_solving_order = "상위권과 문제 푸는 순서 비교";
1578
1579
  var my_answers = "내 해답";
1580
+ var request_for_consultation = "상담요청";
1581
+ var ask_a_question_with_a_problem = "문제로 질문하기";
1582
+ var live = "살다";
1579
1583
  var lang_ko = {
1580
1584
  problem_solving: problem_solving,
1581
1585
  my_story: my_story,
@@ -1863,7 +1867,10 @@ var lang_ko = {
1863
1867
  my_problem_solving_order: my_problem_solving_order,
1864
1868
  top_rankings_problem_solving_order: top_rankings_problem_solving_order,
1865
1869
  comparison_of_top_rankings_and_problem_solving_order: comparison_of_top_rankings_and_problem_solving_order,
1866
- my_answers: my_answers
1870
+ my_answers: my_answers,
1871
+ request_for_consultation: request_for_consultation,
1872
+ ask_a_question_with_a_problem: ask_a_question_with_a_problem,
1873
+ live: live
1867
1874
  };
1868
1875
 
1869
1876
  var problem_solving$1 = "Problem Solving";
@@ -2189,6 +2196,9 @@ var my_problem_solving_order$1 = "My problem solving order";
2189
2196
  var top_rankings_problem_solving_order$1 = "Top rankings problem solving order";
2190
2197
  var comparison_of_top_rankings_and_problem_solving_order$1 = "Comparison of top rankings and problem-solving order";
2191
2198
  var my_answers$1 = "My answers";
2199
+ var request_for_consultation$1 = "Request for consultation";
2200
+ var ask_a_question_with_a_problem$1 = "Ask a question with a problem";
2201
+ var live$1 = "live";
2192
2202
  var lang_en = {
2193
2203
  problem_solving: problem_solving$1,
2194
2204
  my_story: my_story$1,
@@ -2511,7 +2521,10 @@ var lang_en = {
2511
2521
  my_problem_solving_order: my_problem_solving_order$1,
2512
2522
  top_rankings_problem_solving_order: top_rankings_problem_solving_order$1,
2513
2523
  comparison_of_top_rankings_and_problem_solving_order: comparison_of_top_rankings_and_problem_solving_order$1,
2514
- my_answers: my_answers$1
2524
+ my_answers: my_answers$1,
2525
+ request_for_consultation: request_for_consultation$1,
2526
+ ask_a_question_with_a_problem: ask_a_question_with_a_problem$1,
2527
+ live: live$1
2515
2528
  };
2516
2529
 
2517
2530
  i18n.use(reactI18next.initReactI18next).init({
@@ -2792,7 +2805,8 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2792
2805
  var role = _ref.role,
2793
2806
  navigate = _ref.navigate,
2794
2807
  homeAcademyUrl = _ref.homeAcademyUrl,
2795
- homeUrl = _ref.homeUrl;
2808
+ homeUrl = _ref.homeUrl,
2809
+ hideAcademyName = _ref.hideAcademyName;
2796
2810
  var _useSwitchAcademy = useSwitchAcademy(role, navigate, homeAcademyUrl, homeUrl),
2797
2811
  academyList = _useSwitchAcademy.academyList,
2798
2812
  handleSwitchAcademy = _useSwitchAcademy.handleSwitchAcademy,
@@ -2826,15 +2840,15 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2826
2840
  };
2827
2841
  return React__default.createElement(React.Fragment, null, React__default.createElement(material.Button, {
2828
2842
  onClick: handleOpen,
2829
- className: "" + stylesGlobal["academy-btn"],
2843
+ className: "" + styles["academy-btn"],
2830
2844
  sx: _extends({}, popoverStyle)
2831
2845
  }, React__default.createElement("div", {
2832
- className: "" + stylesGlobal["image-academy"]
2846
+ className: styles["image-academy"] + " me-0 me-lg-2"
2833
2847
  }, selectedAcademy !== null && selectedAcademy !== void 0 && selectedAcademy.image ? React__default.createElement("img", {
2834
2848
  src: selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.image,
2835
2849
  alt: selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.name
2836
- }) : React__default.createElement("span", null, firstLetter)), React__default.createElement(material.Typography, {
2837
- className: "text-start",
2850
+ }) : React__default.createElement("span", null, firstLetter)), !hideAcademyName && React__default.createElement(material.Typography, {
2851
+ className: "text-start d-none d-lg-block",
2838
2852
  sx: {
2839
2853
  fontSize: 14,
2840
2854
  fontWeight: 600,
@@ -2842,7 +2856,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2842
2856
  minWidth: 150
2843
2857
  }
2844
2858
  }, (selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.name) || t(role === exports.Role.Admin ? "switch_academy_admin" : "switch_academy")), React__default.createElement("div", {
2845
- className: "" + stylesGlobal["switch-icon"]
2859
+ className: styles["switch-icon"] + " d-none d-lg-flex"
2846
2860
  }, React__default.createElement(go.GoArrowSwitch, {
2847
2861
  size: 14
2848
2862
  }))), (isSuperAdmin || !isAdmin) && React__default.createElement(Popover, {
@@ -2863,7 +2877,10 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2863
2877
  p: 0.5,
2864
2878
  mt: 1,
2865
2879
  ml: 0.75,
2866
- width: 300,
2880
+ width: {
2881
+ xs: 200,
2882
+ lg: 300
2883
+ },
2867
2884
  minWidth: "unset!important"
2868
2885
  }
2869
2886
  }
@@ -2884,7 +2901,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
2884
2901
  fontWeight: 600
2885
2902
  }
2886
2903
  }, React__default.createElement("div", {
2887
- className: "" + stylesGlobal["image-academy"]
2904
+ className: styles["image-academy"] + " " + styles["image-academy--item"]
2888
2905
  }, option.image ? React__default.createElement(Box, {
2889
2906
  component: "img",
2890
2907
  alt: option.name,
@@ -2994,7 +3011,7 @@ var CustomSelect = function CustomSelect(_ref) {
2994
3011
  }, rest));
2995
3012
  };
2996
3013
 
2997
- var styles = {"header__avatar":"_2oGcJ","header__select":"_2y2XV","body":"_ntGyI","list":"_m7Fwt","list__item__header":"_3BM8N","list__item__avatar":"_1ReOK","list__item__avatar-container":"_2qbld","list__item__message":"_3s01i","list__item__message--reply-from":"_2Qxi3","list__item__message--reply-from-right":"_34Vx4","list__item__message--reply":"_3uheq","list__item__message--reply-right":"_2iBr7","reply-text":"_3ZPjO","container-custom":"_38A9k","student-row-col-1":"_Jt5t0","student-row-col-1-active":"_14DKj","row-col-2":"_qHGiR","inputBox":"_2iY67","inputBoxTable":"_3pCw0","background-chat":"_zILbw","wrap-content":"_38gsM","name-sender":"_Lfzyw","content-chat-sender":"_1X73E","content-chat-receiver":"_32V7T","custom-scroll":"_2Uul2","btn-send":"_395lb","btn-chat":"_gDYwm","input-chat":"_22TX5","btn-cancel":"_1u-eg","btn-register":"_22r6_","form-label-dialog":"_jADIA","form-select-width":"_WncPd","padding-content":"_3hz3H","form-label":"_MMQxP","form-control":"_1mJfc"};
3014
+ var styles$1 = {"header__avatar":"_2oGcJ","header__select":"_2y2XV","body":"_ntGyI","list":"_m7Fwt","list__item__header":"_3BM8N","list__item__avatar":"_1ReOK","list__item__avatar-container":"_2qbld","list__item__message":"_3s01i","list__item__message--reply-from":"_2Qxi3","list__item__message--reply-from-right":"_34Vx4","list__item__message--reply":"_3uheq","list__item__message--reply-right":"_2iBr7","reply-text":"_3ZPjO","container-custom":"_38A9k","student-row-col-1":"_Jt5t0","student-row-col-1-active":"_14DKj","row-col-2":"_qHGiR","inputBox":"_2iY67","inputBoxTable":"_3pCw0","background-chat":"_zILbw","wrap-content":"_38gsM","name-sender":"_Lfzyw","content-chat-sender":"_1X73E","content-chat-receiver":"_32V7T","custom-scroll":"_2Uul2","btn-send":"_395lb","btn-chat":"_gDYwm","input-chat":"_22TX5","btn-cancel":"_1u-eg","btn-register":"_22r6_","form-label-dialog":"_jADIA","form-select-width":"_WncPd","padding-content":"_3hz3H","form-label":"_MMQxP","form-control":"_1mJfc"};
2998
3015
 
2999
3016
  var iconPersonNoActive = function iconPersonNoActive(_ref) {
3000
3017
  var _ref$width = _ref.width,
@@ -3140,7 +3157,7 @@ var ChatRightItem = function ChatRightItem(_ref) {
3140
3157
  padding: "4px 0"
3141
3158
  }, React__default.createElement(material.Box, null, showName && isStudent && React__default.createElement(material.Box, {
3142
3159
  gap: "8px",
3143
- className: " " + styles["name-sender"],
3160
+ className: " " + styles$1["name-sender"],
3144
3161
  display: "flex",
3145
3162
  alignItems: "center",
3146
3163
  flexDirection: "row"
@@ -3195,7 +3212,7 @@ var ChatRightItem = function ChatRightItem(_ref) {
3195
3212
  objectFit: "contain"
3196
3213
  }
3197
3214
  })) : React__default.createElement("div", {
3198
- className: styles["wrap-content"] + " " + styles["content-chat-receiver"],
3215
+ className: styles$1["wrap-content"] + " " + styles$1["content-chat-receiver"],
3199
3216
  style: {
3200
3217
  "float": "inline-end"
3201
3218
  }
@@ -3233,7 +3250,7 @@ var ChatLeftItem = function ChatLeftItem(_ref) {
3233
3250
  display: "flex",
3234
3251
  padding: "4px",
3235
3252
  flexDirection: "row",
3236
- className: "" + styles["name-sender"]
3253
+ className: "" + styles$1["name-sender"]
3237
3254
  }, isStudent ? React__default.createElement(React.Fragment, null, React__default.createElement(material.Typography, {
3238
3255
  fontWeight: 500,
3239
3256
  fontSize: 14,
@@ -3273,7 +3290,7 @@ var ChatLeftItem = function ChatLeftItem(_ref) {
3273
3290
  objectFit: "contain"
3274
3291
  }
3275
3292
  })) : React__default.createElement("div", {
3276
- className: styles["wrap-content"] + " " + styles["content-chat-sender"]
3293
+ className: styles$1["wrap-content"] + " " + styles$1["content-chat-sender"]
3277
3294
  }, React__default.createElement(material.Typography, {
3278
3295
  fontWeight: 500,
3279
3296
  fontSize: "14px",
@@ -3486,7 +3503,7 @@ var UpdateMessageDialog = function UpdateMessageDialog(_ref) {
3486
3503
  _objectDestructuringEmpty(_ref2);
3487
3504
  return React__default.createElement(formik.Form, null, React__default.createElement("label", {
3488
3505
  htmlFor: "content",
3489
- className: styles['form-label'] + " " + styles['form-label-dialog']
3506
+ className: styles$1['form-label'] + " " + styles$1['form-label-dialog']
3490
3507
  }, "\uC9C8\uBB38\uD560 \uBB38\uC81C"), React__default.createElement(formik.Field, {
3491
3508
  id: "content",
3492
3509
  style: {
@@ -3495,7 +3512,7 @@ var UpdateMessageDialog = function UpdateMessageDialog(_ref) {
3495
3512
  name: "content",
3496
3513
  validate: validate,
3497
3514
  placeholder: "\uBB38\uC81C\uAC00 \uC5B4\uB824\uC6CC\uC694",
3498
- className: styles['form-control']
3515
+ className: styles$1['form-control']
3499
3516
  }), React__default.createElement(material.DialogActions, {
3500
3517
  sx: {
3501
3518
  display: 'flex',
@@ -3504,14 +3521,14 @@ var UpdateMessageDialog = function UpdateMessageDialog(_ref) {
3504
3521
  padding: '12px'
3505
3522
  }
3506
3523
  }, React__default.createElement(material.Button, {
3507
- className: styles['btn-cancel'],
3524
+ className: styles$1['btn-cancel'],
3508
3525
  onClick: onClose
3509
3526
  }, React__default.createElement(material.Typography, {
3510
3527
  fontWeight: 700,
3511
3528
  fontSize: '14px',
3512
3529
  lineHeight: '16.71px'
3513
3530
  }, "\uCDE8\uC18C")), React__default.createElement(material.Button, {
3514
- className: styles['btn-register'],
3531
+ className: styles$1['btn-register'],
3515
3532
  type: "submit"
3516
3533
  }, React__default.createElement(material.Typography, {
3517
3534
  fontWeight: 700,
@@ -3560,14 +3577,14 @@ var UpdateMessageDialog = function UpdateMessageDialog(_ref) {
3560
3577
  padding: '12px'
3561
3578
  }
3562
3579
  }, React__default.createElement(material.Button, {
3563
- className: styles['btn-cancel'],
3580
+ className: styles$1['btn-cancel'],
3564
3581
  onClick: onClose
3565
3582
  }, React__default.createElement(material.Typography, {
3566
3583
  fontWeight: 700,
3567
3584
  fontSize: '14px',
3568
3585
  lineHeight: '16.71px'
3569
3586
  }, "\uCDE8\uC18C")), React__default.createElement(material.Button, {
3570
- className: styles['btn-register'],
3587
+ className: styles$1['btn-register'],
3571
3588
  sx: {
3572
3589
  bgcolor: !(selectedFile !== null && selectedFile !== void 0 && selectedFile.content) ? "#EBEBFF !important" : "#5458D5 !important"
3573
3590
  },
@@ -3740,7 +3757,7 @@ var ChatList = function ChatList(_ref) {
3740
3757
  var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Roles$1.Student);
3741
3758
  return React__default.createElement("ul", {
3742
3759
  ref: listItemRef,
3743
- className: styles["list"] + " " + styles["padding-content"] + " d-flex h-100 flex-column mb-0 " + (!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) ? 'justify-content-center' : '')
3760
+ className: styles$1["list"] + " " + styles$1["padding-content"] + " d-flex h-100 flex-column mb-0 " + (!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) ? 'justify-content-center' : '')
3744
3761
  }, !(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) && React__default.createElement("li", {
3745
3762
  className: "text-muted text-center fst-italic fs-6"
3746
3763
  }, "No message"), !!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) && filterMessage.map(function (message) {
@@ -3847,7 +3864,7 @@ var InputChat = function InputChat(_ref) {
3847
3864
  color: "#fff",
3848
3865
  size: 30
3849
3866
  }))), React__default.createElement("input", {
3850
- className: styles["input-chat"],
3867
+ className: styles$1["input-chat"],
3851
3868
  style: {
3852
3869
  border: "none"
3853
3870
  },
@@ -3874,7 +3891,7 @@ var InputChat = function InputChat(_ref) {
3874
3891
  sx: {
3875
3892
  bgcolor: isCompleted ? "#EBEBFF !important" : "#5458D5 !important"
3876
3893
  },
3877
- className: styles["btn-send"],
3894
+ className: styles$1["btn-send"],
3878
3895
  disabled: isCompleted,
3879
3896
  onClick: handleSubmit
3880
3897
  }, React__default.createElement(iconSendMessage, null), React__default.createElement(material.Typography, {
@@ -3928,6 +3945,37 @@ var iconChecked = function iconChecked(_ref) {
3928
3945
  }));
3929
3946
  };
3930
3947
 
3948
+ var ellipsisText = function ellipsisText(text, maxLength) {
3949
+ if (!text) return text;
3950
+ return (text === null || text === void 0 ? void 0 : text.length) > maxLength ? text.slice(0, maxLength) + " ..." : text;
3951
+ };
3952
+ var formatDataMyAnswer = function formatDataMyAnswer(inputData, categories) {
3953
+ var uniqueCategories = new Set();
3954
+ var filterCategories = categories.filter(function (category) {
3955
+ if (!uniqueCategories.has(category.name)) {
3956
+ uniqueCategories.add(category.name);
3957
+ return true;
3958
+ }
3959
+ return false;
3960
+ });
3961
+ var questionsByCategory = filterCategories.map(function (category) {
3962
+ return {
3963
+ category: category,
3964
+ questions: inputData.questions.filter(function (question) {
3965
+ return question.category.name === category.name;
3966
+ })
3967
+ };
3968
+ });
3969
+ return questionsByCategory;
3970
+ };
3971
+ var formatTimeSecond = function formatTimeSecond(duration, t) {
3972
+ duration = Math.round(duration);
3973
+ return "" + (duration < 60 ? "" + duration + t("seconds") : t("mins_mins_seconds_seconds", {
3974
+ mins: Math.floor(duration / 60),
3975
+ seconds: duration % 60
3976
+ }));
3977
+ };
3978
+
3931
3979
  var ChatHeader = function ChatHeader(_ref) {
3932
3980
  var fullName = _ref.fullName,
3933
3981
  examTitle = _ref.examTitle,
@@ -3948,6 +3996,7 @@ var ChatHeader = function ChatHeader(_ref) {
3948
3996
  handleConfirm = _useDialog.handleConfirm;
3949
3997
  var _useTranslation = reactI18next.useTranslation(),
3950
3998
  t = _useTranslation.t;
3999
+ var isTabletUp = material.useMediaQuery('(min-width:900px)');
3951
4000
  var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Roles$1.Student);
3952
4001
  var filterDurationExam = React.useMemo(function () {
3953
4002
  if (!durationExam) return;
@@ -3976,7 +4025,7 @@ var ChatHeader = function ChatHeader(_ref) {
3976
4025
  alignItems: "center",
3977
4026
  flexDirection: "row",
3978
4027
  gap: "8px"
3979
- }, React__default.createElement(iconPersonNoActive, null), React__default.createElement(material.Typography, {
4028
+ }, React__default.createElement(iconPersonNoActive, null), isTabletUp && React__default.createElement(material.Typography, {
3980
4029
  fontWeight: 500,
3981
4030
  fontSize: "14px",
3982
4031
  lineHeight: "16.71px",
@@ -3986,7 +4035,7 @@ var ChatHeader = function ChatHeader(_ref) {
3986
4035
  fontSize: "14px",
3987
4036
  lineHeight: "16.71px",
3988
4037
  color: "#5458D5"
3989
- }, teacherName)), !!examTitle && React__default.createElement(material.Box, {
4038
+ }, ellipsisText(teacherName || "", 15))), !!examTitle && React__default.createElement(material.Box, {
3990
4039
  display: "flex",
3991
4040
  alignItems: "start",
3992
4041
  color: "#5458D5",
@@ -3996,7 +4045,7 @@ var ChatHeader = function ChatHeader(_ref) {
3996
4045
  fontWeight: 600,
3997
4046
  fontSize: "12px",
3998
4047
  lineHeight: "14.32px"
3999
- }, examTitle), React__default.createElement(material.Box, {
4048
+ }, ellipsisText(examTitle || "", 15)), React__default.createElement(material.Box, {
4000
4049
  display: "flex",
4001
4050
  flexDirection: "row",
4002
4051
  gap: "4px"
@@ -4076,7 +4125,7 @@ var ChatHeader = function ChatHeader(_ref) {
4076
4125
  alignItems: "center",
4077
4126
  gap: "24px",
4078
4127
  color: "#5458D5"
4079
- }, React__default.createElement(material.Box, {
4128
+ }, isTabletUp && React__default.createElement(material.Box, {
4080
4129
  display: "flex",
4081
4130
  justifyContent: "space-between",
4082
4131
  alignItems: "center",
@@ -4089,7 +4138,7 @@ var ChatHeader = function ChatHeader(_ref) {
4089
4138
  fontWeight: 700,
4090
4139
  fontSize: "14px",
4091
4140
  lineHeight: "16.71px"
4092
- }, fullName)), React__default.createElement(material.Box, {
4141
+ }, ellipsisText(fullName || "", 10))), React__default.createElement(material.Box, {
4093
4142
  display: "flex",
4094
4143
  alignItems: "center",
4095
4144
  gap: "24px",
@@ -4098,7 +4147,7 @@ var ChatHeader = function ChatHeader(_ref) {
4098
4147
  fontWeight: 600,
4099
4148
  fontSize: "12px",
4100
4149
  lineHeight: "14.32px"
4101
- }, examTitle) : React__default.createElement(material.Box, {
4150
+ }, ellipsisText(examTitle || "", 10)) : React__default.createElement(material.Box, {
4102
4151
  display: "flex",
4103
4152
  alignItems: "end",
4104
4153
  gap: "16px",
@@ -4243,7 +4292,7 @@ var ChatContainer = function ChatContainer(_ref) {
4243
4292
  container: true
4244
4293
  }, React__default.createElement(ChatHeader, Object.assign({}, chatHeaderProps)), React__default.createElement("div", {
4245
4294
  ref: listRef,
4246
- className: "flex-grow-1 " + styles["body"],
4295
+ className: "flex-grow-1 " + styles$1["body"],
4247
4296
  style: {
4248
4297
  height: "60vh",
4249
4298
  overflowY: "scroll",
@@ -4748,7 +4797,7 @@ var InputText = function InputText(props) {
4748
4797
  }, props));
4749
4798
  };
4750
4799
 
4751
- var styles$1 = {"question":"_2uc_W","question-article":"_2p7kY","question-title":"_2tHmc","question--active":"_3IHYm","question-label":"_26ATj","question-input":"_3R8PR","question-btn":"_1VZac"};
4800
+ var styles$2 = {"question":"_2uc_W","question-article":"_2p7kY","question-title":"_2tHmc","question--active":"_3IHYm","question-label":"_26ATj","question-input":"_3R8PR","question-btn":"_1VZac"};
4752
4801
 
4753
4802
  var SCORE_OPTIONS = Array.from({
4754
4803
  length: 10
@@ -4805,12 +4854,15 @@ var QuestionView = function QuestionView(_ref) {
4805
4854
  var handleChangeCorrectAnswer = function handleChangeCorrectAnswer(e) {
4806
4855
  return onChangeCorrectAnswers(e.target.value, index);
4807
4856
  };
4808
- return React__default.createElement("div", {
4809
- className: "d-flex justify-content-between"
4810
- }, React__default.createElement("div", {
4811
- className: "d-flex flex-grow-1"
4857
+ return React__default.createElement(material.Grid, {
4858
+ container: true,
4859
+ spacing: "16px"
4860
+ }, React__default.createElement(material.Grid, {
4861
+ item: true,
4862
+ xs: 12,
4863
+ lg: 9
4812
4864
  }, React__default.createElement("div", {
4813
- className: styles$1["question-title"] + " me-2 text-nowrap"
4865
+ className: styles$2["question-title"] + " me-2 text-nowrap"
4814
4866
  }, t("problem_number_question", {
4815
4867
  number: question.questionOrder + 1
4816
4868
  })), React__default.createElement(material.FormControl, {
@@ -4826,7 +4878,7 @@ var QuestionView = function QuestionView(_ref) {
4826
4878
  }).map(function (i) {
4827
4879
  return React__default.createElement(material.FormControlLabel, {
4828
4880
  key: i,
4829
- className: styles$1["question-label"] + " w-fit",
4881
+ className: styles$2["question-label"] + " w-fit",
4830
4882
  labelPlacement: "top",
4831
4883
  value: i,
4832
4884
  onChange: handleChangeCorrectAnswer,
@@ -4838,10 +4890,12 @@ var QuestionView = function QuestionView(_ref) {
4838
4890
  number: i
4839
4891
  })
4840
4892
  });
4841
- })))), React__default.createElement("div", {
4842
- className: "d-flex align-items-center"
4893
+ })))), React__default.createElement(material.Grid, {
4894
+ item: true,
4895
+ xs: 12,
4896
+ lg: 3,
4897
+ mb: "16px"
4843
4898
  }, React__default.createElement(material.FormControl, {
4844
- className: "mx-3",
4845
4899
  style: {
4846
4900
  width: "140px"
4847
4901
  }
@@ -5045,6 +5099,8 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
5045
5099
  subjectId: defaultCategoryOptions === undefined ? selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id : undefined
5046
5100
  }),
5047
5101
  categoryOptions = _useCategorySelect.categoryOptions;
5102
+ var theme = material.useTheme();
5103
+ var isTabletUp = material.useMediaQuery(theme.breakpoints.up('lg'));
5048
5104
  var handleChangeQuestionCount = function handleChangeQuestionCount(value) {
5049
5105
  onChangeQuestionCount(article, value === null || value === void 0 ? void 0 : value.value, answerCount);
5050
5106
  };
@@ -5064,7 +5120,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
5064
5120
  onDelete === null || onDelete === void 0 ? void 0 : onDelete(article);
5065
5121
  };
5066
5122
  return React__default.createElement("div", {
5067
- className: "d-flex " + styles$1["question"] + " " + (isActive ? styles$1["question--active"] : "")
5123
+ className: "d-flex " + styles$2["question"] + " " + (isActive ? styles$2["question--active"] : "")
5068
5124
  }, React__default.createElement("div", {
5069
5125
  className: "py-1"
5070
5126
  }, React__default.createElement(pi.PiDotsNineLight, {
@@ -5072,20 +5128,30 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
5072
5128
  })), React__default.createElement("div", {
5073
5129
  className: "px-4"
5074
5130
  }, React__default.createElement("p", {
5075
- className: "mb-0 " + styles$1["question-article"]
5131
+ className: "mb-0 " + styles$2["question-article"]
5076
5132
  }, t("article_number")), React__default.createElement("p", {
5077
- className: "text-center " + styles$1["question-article"]
5133
+ className: "text-center " + styles$2["question-article"]
5078
5134
  }, article)), React__default.createElement("div", {
5079
5135
  className: "flex-grow-1"
5080
5136
  }, React__default.createElement(material.Grid, {
5081
5137
  container: true,
5082
5138
  spacing: 3
5083
- }, React__default.createElement(material.Grid, {
5139
+ }, !isTabletUp && React__default.createElement(material.Grid, {
5140
+ item: true,
5141
+ xs: 12,
5142
+ className: "d-flex justify-content-end"
5143
+ }, isDeletable && !isDisabled && React__default.createElement("div", null, React__default.createElement(material.IconButton, {
5144
+ onClick: handleDelete
5145
+ }, React__default.createElement(fa.FaTrash, {
5146
+ size: 16,
5147
+ className: "text-danger"
5148
+ })))), React__default.createElement(material.Grid, {
5084
5149
  item: true,
5085
- xs: 3
5150
+ xs: 12,
5151
+ lg: 3
5086
5152
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
5087
5153
  htmlFor: "question_count",
5088
- className: styles$1["question-label"] + " form-label"
5154
+ className: styles$2["question-label"] + " form-label"
5089
5155
  }, t("question_count")), React__default.createElement(QuestionCountSelector, {
5090
5156
  id: "question_count",
5091
5157
  value: questionCount,
@@ -5093,10 +5159,11 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
5093
5159
  isDisabled: isDisabled
5094
5160
  }))), React__default.createElement(material.Grid, {
5095
5161
  item: true,
5096
- xs: 3
5162
+ xs: 12,
5163
+ lg: 3
5097
5164
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
5098
5165
  htmlFor: "category",
5099
- className: styles$1["question-label"] + " form-label"
5166
+ className: styles$2["question-label"] + " form-label"
5100
5167
  }, t("category")), React__default.createElement(ArticleCategorySelector, {
5101
5168
  id: "category",
5102
5169
  value: categoryId,
@@ -5106,16 +5173,17 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
5106
5173
  placeholder: t("select_category")
5107
5174
  }))), React__default.createElement(material.Grid, {
5108
5175
  item: true,
5109
- xs: 3
5176
+ xs: 12,
5177
+ lg: 3
5110
5178
  }, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
5111
5179
  htmlFor: "answer_count",
5112
- className: styles$1["question-label"] + " form-label"
5180
+ className: styles$2["question-label"] + " form-label"
5113
5181
  }, t("answer_count")), React__default.createElement(AnswerCountSelector, {
5114
5182
  id: "answer_count",
5115
5183
  value: answerCount,
5116
5184
  onChange: handleChangeAnswerCount,
5117
5185
  isDisabled: isDisabled
5118
- }))), React__default.createElement(material.Grid, {
5186
+ }))), isTabletUp && React__default.createElement(material.Grid, {
5119
5187
  item: true,
5120
5188
  xs: 3,
5121
5189
  className: "d-flex justify-content-end"
@@ -5207,6 +5275,8 @@ var ChapterBox = function ChapterBox(_ref) {
5207
5275
  var handleUpdateArticleQuestionScore = function handleUpdateArticleQuestionScore(article, index, score) {
5208
5276
  onUpdateArticleQuestion === null || onUpdateArticleQuestion === void 0 ? void 0 : onUpdateArticleQuestion(article, index, score, "score", data.articles, data.id, parentChapterId);
5209
5277
  };
5278
+ var theme = material.useTheme();
5279
+ var isTabletUp = material.useMediaQuery(theme.breakpoints.up('lg'));
5210
5280
  var handleChangeName = function handleChangeName(e) {
5211
5281
  var text = e.target.value;
5212
5282
  onChangeName === null || onChangeName === void 0 ? void 0 : onChangeName(text, data.id, parentChapterId);
@@ -5254,17 +5324,52 @@ var ChapterBox = function ChapterBox(_ref) {
5254
5324
  className: "text-danger"
5255
5325
  }))), React__default.createElement("div", {
5256
5326
  className: "p-3 d-flex justify-content-between"
5327
+ }, React__default.createElement(material.Grid, {
5328
+ container: true
5329
+ }, React__default.createElement(material.Grid, {
5330
+ item: true,
5331
+ xs: 12
5332
+ }, React__default.createElement(material.Grid, {
5333
+ container: true,
5334
+ spacing: 2
5335
+ }, !isTabletUp && React__default.createElement(material.Grid, {
5336
+ item: true,
5337
+ xs: 12
5257
5338
  }, React__default.createElement(material.Stack, {
5258
- spacing: 2,
5259
- direction: "row"
5260
- }, React__default.createElement(material.Box, {
5339
+ direction: "row",
5340
+ justifyContent: "end",
5341
+ spacing: 2
5342
+ }, !parentChapterId && !data.articles.length && React__default.createElement(material.Button, {
5343
+ className: "mx-1",
5344
+ variant: "contained",
5345
+ color: "primary",
5346
+ disabled: isReadonly,
5347
+ startIcon: React__default.createElement(fa.FaPlus, {
5348
+ size: 12
5349
+ }),
5350
+ onClick: handleClickAddSubchapter
5351
+ }, t("add_subchapter")), data.subChapters.length === 0 && React__default.createElement(material.Button, {
5352
+ className: "mx-1",
5353
+ variant: "contained",
5354
+ color: "success",
5355
+ disabled: isReadonly,
5356
+ startIcon: React__default.createElement(fa.FaPlus, {
5357
+ size: 12
5358
+ }),
5359
+ onClick: handleAddArticle
5360
+ }, t("add_article")))), React__default.createElement(material.Grid, {
5361
+ item: true,
5362
+ xs: 12,
5363
+ lg: 4,
5261
5364
  sx: {
5262
5365
  display: "flex",
5263
5366
  alignItems: "center",
5264
- marginRight: "16px",
5265
5367
  width: "50%"
5266
5368
  }
5267
5369
  }, React__default.createElement("label", {
5370
+ style: {
5371
+ minWidth: "90px"
5372
+ },
5268
5373
  className: "fw-bold text-nowrap me-2"
5269
5374
  }, t("page.from"), ":"), React__default.createElement(InputText, {
5270
5375
  type: "number",
@@ -5274,13 +5379,19 @@ var ChapterBox = function ChapterBox(_ref) {
5274
5379
  onChange: handleChangePageFrom,
5275
5380
  placeholder: t("page.from_placeholder"),
5276
5381
  error: data.pageFrom > data.pageTo || data.pageFrom < 0
5277
- })), React__default.createElement(material.Box, {
5382
+ })), React__default.createElement(material.Grid, {
5383
+ item: true,
5384
+ xs: 12,
5385
+ lg: 4,
5278
5386
  sx: {
5279
5387
  display: "flex",
5280
5388
  alignItems: "center",
5281
5389
  width: "50%"
5282
5390
  }
5283
5391
  }, React__default.createElement("label", {
5392
+ style: {
5393
+ minWidth: "90px"
5394
+ },
5284
5395
  className: "fw-bold text-nowrap me-2"
5285
5396
  }, t("page.to"), ":"), React__default.createElement(InputText, {
5286
5397
  type: "number",
@@ -5290,7 +5401,10 @@ var ChapterBox = function ChapterBox(_ref) {
5290
5401
  onChange: handleChangePageTo,
5291
5402
  placeholder: t("page.to_placeholder"),
5292
5403
  error: data.pageTo < data.pageFrom
5293
- }))), React__default.createElement(material.Stack, {
5404
+ })), isTabletUp && React__default.createElement(material.Grid, {
5405
+ item: true,
5406
+ lg: 4
5407
+ }, React__default.createElement(material.Stack, {
5294
5408
  direction: "row",
5295
5409
  justifyContent: "end",
5296
5410
  spacing: 2
@@ -5312,7 +5426,7 @@ var ChapterBox = function ChapterBox(_ref) {
5312
5426
  size: 12
5313
5427
  }),
5314
5428
  onClick: handleAddArticle
5315
- }, t("add_article")))), React__default.createElement("div", {
5429
+ }, t("add_article")))))))), React__default.createElement("div", {
5316
5430
  className: "p-3"
5317
5431
  }, React__default.createElement(material.Stack, {
5318
5432
  spacing: 2
@@ -6575,9 +6689,9 @@ var SubjectSelector = function SubjectSelector(_ref) {
6575
6689
  !minimumTextSearchLength && defaultValueAtFirst && options.length && onChange(options[0], subjects[0]);
6576
6690
  }, [JSON.stringify(options), JSON.stringify(subjects), defaultValueAtFirst, minimumTextSearchLength]);
6577
6691
  return React__default.createElement(material.FormGroup, {
6578
- className: "" + stylesGlobal["filter-item"]
6692
+ className: "" + styles["filter-item"]
6579
6693
  }, !!title && React__default.createElement("label", {
6580
- className: "" + stylesGlobal["title-form"]
6694
+ className: "" + styles["title-form"]
6581
6695
  }, title), React__default.createElement(CustomSelectOption, {
6582
6696
  options: options,
6583
6697
  inputValue: searchString,
@@ -7031,7 +7145,7 @@ var LayoutList = function LayoutList(_ref) {
7031
7145
  var children = _ref.children,
7032
7146
  title = _ref.title;
7033
7147
  return React__default.createElement(material.Box, {
7034
- className: 'bg-white p-5'
7148
+ className: 'bg-white p-3'
7035
7149
  }, React__default.createElement(material.Stack, {
7036
7150
  direction: "row",
7037
7151
  alignItems: "center",
@@ -7046,12 +7160,12 @@ var SortIcon = function SortIcon(_ref) {
7046
7160
  var isAscending = _ref.isAscending,
7047
7161
  onClick = _ref.onClick;
7048
7162
  return React__default.createElement("div", {
7049
- className: "d-flex flex-column " + stylesGlobal["sort-icons"],
7163
+ className: "d-flex flex-column " + styles["sort-icons"],
7050
7164
  onClick: onClick
7051
7165
  }, React__default.createElement(fa.FaSortUp, {
7052
- className: isAscending === true ? stylesGlobal["active"] : ""
7166
+ className: isAscending === true ? styles["active"] : ""
7053
7167
  }), React__default.createElement(fa.FaSortDown, {
7054
- className: isAscending === false ? stylesGlobal["active"] : ""
7168
+ className: isAscending === false ? styles["active"] : ""
7055
7169
  }));
7056
7170
  };
7057
7171
 
@@ -7554,17 +7668,17 @@ var ExamDetailView = function ExamDetailView(_ref) {
7554
7668
  return React__default.createElement(material.Grid, {
7555
7669
  container: true,
7556
7670
  spacing: 3,
7557
- className: className + " " + stylesGlobal["custom-row"]
7671
+ className: className + " " + styles["custom-row"]
7558
7672
  }, React__default.createElement(material.Grid, {
7559
7673
  item: true,
7560
7674
  xs: 5,
7561
7675
  className: 'mb-2'
7562
7676
  }, React__default.createElement("label", {
7563
- className: stylesGlobal["form-label"] + " " + styles$1["question-label"],
7677
+ className: styles["form-label"] + " " + styles$2["question-label"],
7564
7678
  htmlFor: "title"
7565
7679
  }, t("title")), React__default.createElement("input", {
7566
7680
  disabled: isDisabled,
7567
- className: "" + stylesGlobal["form-control"],
7681
+ className: "" + styles["form-control"],
7568
7682
  value: exam.title,
7569
7683
  id: "title",
7570
7684
  placeholder: t("enter_title"),
@@ -7574,7 +7688,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
7574
7688
  xs: 3,
7575
7689
  className: 'mb-2'
7576
7690
  }, React__default.createElement("label", {
7577
- className: stylesGlobal["form-label"] + " " + styles$1["question-label"],
7691
+ className: styles["form-label"] + " " + styles$2["question-label"],
7578
7692
  htmlFor: "duration"
7579
7693
  }, t("duration")), React__default.createElement(CustomSelect, {
7580
7694
  inputId: "duration",
@@ -7587,7 +7701,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
7587
7701
  xs: 3,
7588
7702
  className: 'mb-2'
7589
7703
  }, React__default.createElement("label", {
7590
- className: stylesGlobal["form-label"] + " " + styles$1["question-label"],
7704
+ className: styles["form-label"] + " " + styles$2["question-label"],
7591
7705
  htmlFor: "duration"
7592
7706
  }, t("subject"), " ", selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.name), React__default.createElement(CustomSelect, {
7593
7707
  inputId: "subject",
@@ -7618,7 +7732,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
7618
7732
  xs: 12
7619
7733
  }, React__default.createElement("button", {
7620
7734
  disabled: isDisabled,
7621
- className: stylesGlobal["btn-outline-primary"] + " w-100 d-flex justify-content-center align-items-center " + styles$1["question-btn"] + " mt-3",
7735
+ className: styles["btn-outline-primary"] + " w-100 d-flex justify-content-center align-items-center " + styles$2["question-btn"] + " mt-3",
7622
7736
  onClick: handleAddArticle
7623
7737
  }, React__default.createElement(fa.FaPlusCircle, {
7624
7738
  className: "me-2"
@@ -8544,10 +8658,15 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8544
8658
  enabled: true,
8545
8659
  hideEmptySeries: true,
8546
8660
  y: {
8547
- formatter: function formatter(value, _ref) {
8661
+ formatter: function formatter(val, _ref) {
8548
8662
  var dataPointIndex = _ref.dataPointIndex;
8549
8663
  if (dataPointIndex > 0) {
8550
- return value != null ? "\uBB38\uC81C " + (timelyOrderQuestion[dataChartIndex] ? timelyOrderQuestion[dataChartIndex].questions.length - value + 1 : value) + "\uBC88" : "데이터 없음";
8664
+ var _timelyOrderQuestion$, _questions$length, _questions;
8665
+ var questions = ((_timelyOrderQuestion$ = timelyOrderQuestion[dataChartIndex]) === null || _timelyOrderQuestion$ === void 0 ? void 0 : _timelyOrderQuestion$.questions) || null;
8666
+ var questionLength = (_questions$length = questions === null || questions === void 0 ? void 0 : questions.length) != null ? _questions$length : 0;
8667
+ return val != null ? t("problem_number_question", {
8668
+ number: questions !== null ? ((_questions = questions[questionLength - val]) === null || _questions === void 0 ? void 0 : _questions.questionOrder) + 1 : val
8669
+ }) : t("no_data");
8551
8670
  }
8552
8671
  return null;
8553
8672
  }
@@ -8555,7 +8674,7 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8555
8674
  },
8556
8675
  legend: {
8557
8676
  show: true,
8558
- fontSize: '12px',
8677
+ fontSize: "12px",
8559
8678
  fontWeight: 600,
8560
8679
  markers: {
8561
8680
  width: 16,
@@ -8579,11 +8698,11 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8579
8698
  }), ["."]),
8580
8699
  axisBorder: {
8581
8700
  show: true,
8582
- color: '#E4E7EC'
8701
+ color: "#E4E7EC"
8583
8702
  },
8584
8703
  labels: {
8585
8704
  style: {
8586
- fontSize: '10px'
8705
+ fontSize: "10px"
8587
8706
  }
8588
8707
  }
8589
8708
  },
@@ -8605,25 +8724,30 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8605
8724
  max: timelyOrderQuestion[dataChartIndex] ? timelyOrderQuestion[dataChartIndex].questions.length + 1 : 1,
8606
8725
  axisBorder: {
8607
8726
  show: true,
8608
- color: '#E4E7EC'
8727
+ color: "#E4E7EC"
8609
8728
  },
8610
8729
  labels: {
8611
8730
  formatter: function formatter(val) {
8612
- return val != null ? "\uBB38\uC81C " + (timelyOrderQuestion[dataChartIndex] ? timelyOrderQuestion[dataChartIndex].questions.length - val + 1 : val) + "\uBC88" : "데이터 없음";
8731
+ var _timelyOrderQuestion$2, _questions$length2, _questions2;
8732
+ var questions = ((_timelyOrderQuestion$2 = timelyOrderQuestion[dataChartIndex]) === null || _timelyOrderQuestion$2 === void 0 ? void 0 : _timelyOrderQuestion$2.questions) || null;
8733
+ var questionLength = (_questions$length2 = questions === null || questions === void 0 ? void 0 : questions.length) != null ? _questions$length2 : 0;
8734
+ return val != null ? t("problem_number_question", {
8735
+ number: questions !== null ? ((_questions2 = questions[questionLength - val]) === null || _questions2 === void 0 ? void 0 : _questions2.questionOrder) + 1 : val
8736
+ }) : t("no_data");
8613
8737
  },
8614
8738
  style: {
8615
- fontSize: '10px'
8739
+ fontSize: "10px"
8616
8740
  }
8617
8741
  }
8618
8742
  }
8619
8743
  };
8620
- }, [JSON.stringify(timelyOrderQuestion[dataChartIndex]), language]);
8744
+ }, [JSON.stringify(timelyOrderQuestion), dataChartIndex, language]);
8621
8745
  var series = React.useMemo(function () {
8622
8746
  if (!timelyOrderQuestion.length || timelyOrderQuestion.length < dataChartIndex + 1 || dataChartIndex < 0) return [{
8623
- name: "내 순서",
8747
+ name: t("my_problem_solving_order"),
8624
8748
  data: []
8625
8749
  }, {
8626
- name: "상위권 학생의 순서",
8750
+ name: t("top_rankings_problem_solving_order"),
8627
8751
  data: []
8628
8752
  }];
8629
8753
  var data = timelyOrderQuestion[dataChartIndex];
@@ -8637,23 +8761,23 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8637
8761
  });
8638
8762
  });
8639
8763
  var mySeriesData = [null].concat(questionsData.sort(function (a, b) {
8640
- return a.answerOrder > b.answerOrder ? 1 : b.answerOrder > a.answerOrder ? -1 : 0;
8764
+ return b.answerOrder === 0 ? -1 : a.answerOrder > b.answerOrder ? 1 : b.answerOrder > a.answerOrder ? -1 : 0;
8641
8765
  }).map(function (item) {
8642
- return data.questions.length - item.questionOrder;
8766
+ return item.answerOrder === 0 ? null : data.questions.length - item.questionOrder;
8643
8767
  }), [null]);
8644
8768
  var topSeriesData = [null].concat(questionsData.sort(function (a, b) {
8645
- return a.topAnswerOrder > b.topAnswerOrder ? 1 : b.topAnswerOrder > a.topAnswerOrder ? -1 : 0;
8769
+ return b.topAnswerOrder === 0 ? -1 : a.topAnswerOrder > b.topAnswerOrder ? 1 : b.topAnswerOrder > a.topAnswerOrder ? -1 : 0;
8646
8770
  }).map(function (item) {
8647
- return item.topAnswerOrder == null ? null : data.questions.length - item.questionOrder;
8771
+ return item.topAnswerOrder === 0 ? null : data.questions.length - item.questionOrder;
8648
8772
  }), [null]);
8649
8773
  return [{
8650
- name: "내 순서",
8774
+ name: t("my_problem_solving_order"),
8651
8775
  data: mySeriesData
8652
8776
  }, {
8653
- name: "상위권 학생의 순서",
8777
+ name: t("top_rankings_problem_solving_order"),
8654
8778
  data: topSeriesData
8655
8779
  }];
8656
- }, [JSON.stringify(timelyOrderQuestion), dataChartIndex]);
8780
+ }, [JSON.stringify(timelyOrderQuestion), dataChartIndex, language]);
8657
8781
  var handleExportPdf = function handleExportPdf() {
8658
8782
  try {
8659
8783
  var canvas = document.querySelector("#canvas");
@@ -9810,34 +9934,7 @@ Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==t
9810
9934
 
9811
9935
  var ReactApexChart = unwrapExports(reactApexcharts_min);
9812
9936
 
9813
- 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"};
9814
-
9815
- var formatDataMyAnswer = function formatDataMyAnswer(inputData, categories) {
9816
- var uniqueCategories = new Set();
9817
- var filterCategories = categories.filter(function (category) {
9818
- if (!uniqueCategories.has(category.name)) {
9819
- uniqueCategories.add(category.name);
9820
- return true;
9821
- }
9822
- return false;
9823
- });
9824
- var questionsByCategory = filterCategories.map(function (category) {
9825
- return {
9826
- category: category,
9827
- questions: inputData.questions.filter(function (question) {
9828
- return question.category.name === category.name;
9829
- })
9830
- };
9831
- });
9832
- return questionsByCategory;
9833
- };
9834
- var formatTimeSecond = function formatTimeSecond(duration, t) {
9835
- duration = Math.round(duration);
9836
- return "" + (duration < 60 ? "" + duration + t("seconds") : t("mins_mins_seconds_seconds", {
9837
- mins: Math.floor(duration / 60),
9838
- seconds: duration % 60
9839
- }));
9840
- };
9937
+ var styles$3 = {"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"};
9841
9938
 
9842
9939
  var iconStarQuestion = function iconStarQuestion(_ref) {
9843
9940
  var _ref$width = _ref.width,
@@ -10128,7 +10225,7 @@ function CreateNewQuestionDialog(_ref) {
10128
10225
  padding: "24px 24px 40px 24px"
10129
10226
  }, React__default.createElement(material.Stack, null, React__default.createElement("label", {
10130
10227
  htmlFor: "questions",
10131
- className: stylesGlobal['form-label'] + " " + styles$2['form-label-dialog']
10228
+ className: styles['form-label'] + " " + styles$3['form-label-dialog']
10132
10229
  }, "\uC9C8\uBB38\uD560 \uBB38\uC81C"), React__default.createElement(formik.Field, {
10133
10230
  as: "select",
10134
10231
  id: "questions",
@@ -10136,7 +10233,7 @@ function CreateNewQuestionDialog(_ref) {
10136
10233
  style: {
10137
10234
  width: "100%"
10138
10235
  },
10139
- className: "" + stylesGlobal['form-select']
10236
+ className: "" + styles['form-select']
10140
10237
  }, questions === null || questions === void 0 ? void 0 : questions.map(function (question) {
10141
10238
  return React__default.createElement("option", {
10142
10239
  value: question === null || question === void 0 ? void 0 : question.id
@@ -10145,7 +10242,7 @@ function CreateNewQuestionDialog(_ref) {
10145
10242
  }));
10146
10243
  }))), React__default.createElement(material.Stack, null, React__default.createElement("label", {
10147
10244
  htmlFor: "content-question",
10148
- className: stylesGlobal['form-label'] + " " + styles$2['form-label-dialog']
10245
+ className: styles['form-label'] + " " + styles$3['form-label-dialog']
10149
10246
  }, "\uC9C8\uBB38 \uB0B4\uC6A9"), React__default.createElement(material.Box, {
10150
10247
  position: 'relative',
10151
10248
  display: 'flex',
@@ -10158,7 +10255,7 @@ function CreateNewQuestionDialog(_ref) {
10158
10255
  },
10159
10256
  name: "content",
10160
10257
  placeholder: "\uBB38\uC81C\uAC00 \uC5B4\uB824\uC6CC\uC694",
10161
- className: stylesGlobal['form-control']
10258
+ className: styles['form-control']
10162
10259
  }), (errors === null || errors === void 0 ? void 0 : errors.content) && React__default.createElement(material.Box, {
10163
10260
  position: 'absolute',
10164
10261
  right: 0,
@@ -10181,14 +10278,14 @@ function CreateNewQuestionDialog(_ref) {
10181
10278
  borderTop: "1px solid #CED2DA"
10182
10279
  }
10183
10280
  }, React__default.createElement(Button, {
10184
- className: styles$2['btn-cancel'],
10281
+ className: styles$3['btn-cancel'],
10185
10282
  onClick: toggleCreateQuestion
10186
10283
  }, React__default.createElement(Typography, {
10187
10284
  fontWeight: 700,
10188
10285
  fontSize: '14px',
10189
10286
  lineHeight: '16.71px'
10190
10287
  }, "\uCDE8\uC18C")), React__default.createElement(Button, {
10191
- className: styles$2['btn-register'],
10288
+ className: styles$3['btn-register'],
10192
10289
  type: "submit"
10193
10290
  }, React__default.createElement(Typography, {
10194
10291
  fontWeight: 700,
@@ -10220,7 +10317,7 @@ function MyAnswer(_ref) {
10220
10317
  toggleCreateQuestion();
10221
10318
  };
10222
10319
  return React__default.createElement("div", {
10223
- className: styles$2["myanswer"]
10320
+ className: styles$3["myanswer"]
10224
10321
  }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
10225
10322
  return React__default.createElement("div", {
10226
10323
  key: item.category.id
@@ -10228,9 +10325,9 @@ function MyAnswer(_ref) {
10228
10325
  bgcolor: "#F9FAFB",
10229
10326
  flexDirection: "row",
10230
10327
  padding: "12px",
10231
- className: styles$2["myAnswerItem"] + " " + stylesGlobal["noGutters"]
10328
+ className: styles$3["myAnswerItem"] + " " + styles["noGutters"]
10232
10329
  }, React__default.createElement("div", {
10233
- className: stylesGlobal["custom-col-2"],
10330
+ className: styles["custom-col-2"],
10234
10331
  style: {
10235
10332
  display: "flex",
10236
10333
  gap: "4px"
@@ -10242,7 +10339,7 @@ function MyAnswer(_ref) {
10242
10339
  color: "#97A1AF"
10243
10340
  }
10244
10341
  }, "\uBB38\uC81C \uBC88\uD638")), React__default.createElement("div", {
10245
- className: stylesGlobal["custom-col-2"],
10342
+ className: styles["custom-col-2"],
10246
10343
  style: {
10247
10344
  display: "flex",
10248
10345
  gap: "4px"
@@ -10254,7 +10351,7 @@ function MyAnswer(_ref) {
10254
10351
  color: "#97A1AF"
10255
10352
  }
10256
10353
  }, "\uC815\uB2F5")), React__default.createElement("div", {
10257
- className: stylesGlobal["custom-col-2"],
10354
+ className: styles["custom-col-2"],
10258
10355
  style: {
10259
10356
  display: "flex",
10260
10357
  gap: "4px"
@@ -10266,7 +10363,7 @@ function MyAnswer(_ref) {
10266
10363
  color: "#97A1AF"
10267
10364
  }
10268
10365
  }, "\uD480\uC774 \uC2DC\uAC04")), React__default.createElement("div", {
10269
- className: stylesGlobal["custom-col-2"],
10366
+ className: styles["custom-col-2"],
10270
10367
  style: {
10271
10368
  display: "flex",
10272
10369
  alignItems: "center",
@@ -10279,7 +10376,7 @@ function MyAnswer(_ref) {
10279
10376
  color: "#97A1AF"
10280
10377
  }
10281
10378
  }, "\uC0C1\uC704\uAD8C \uBE44\uAD50")), React__default.createElement("div", {
10282
- className: stylesGlobal["custom-col-2"],
10379
+ className: styles["custom-col-2"],
10283
10380
  style: {
10284
10381
  display: "flex",
10285
10382
  alignItems: "center",
@@ -10292,7 +10389,7 @@ function MyAnswer(_ref) {
10292
10389
  color: "#97A1AF"
10293
10390
  }
10294
10391
  }, "\uC804\uCCB4 \uC815\uB2F5\uB960"))), React__default.createElement("div", {
10295
- className: styles$2["titleMyAnswer2"]
10392
+ className: styles$3["titleMyAnswer2"]
10296
10393
  }, React__default.createElement(material.Typography, {
10297
10394
  sx: {
10298
10395
  color: "#97A1AF",
@@ -10305,7 +10402,7 @@ function MyAnswer(_ref) {
10305
10402
  fontWeight: 700
10306
10403
  }
10307
10404
  }, item.category.name)), React__default.createElement("div", {
10308
- className: styles$2["contentMyAnswer"]
10405
+ className: styles$3["contentMyAnswer"]
10309
10406
  }, item.questions.map(function (question, index) {
10310
10407
  return React__default.createElement("div", {
10311
10408
  style: isOpenTime[question.id] ? {
@@ -10314,9 +10411,9 @@ function MyAnswer(_ref) {
10314
10411
  } : {},
10315
10412
  key: question.id
10316
10413
  }, React__default.createElement("div", {
10317
- className: styles$2["myAnswerItem"] + " " + stylesGlobal["noGutters"]
10414
+ className: styles$3["myAnswerItem"] + " " + styles["noGutters"]
10318
10415
  }, React__default.createElement("div", {
10319
- className: stylesGlobal["custom-col-2"],
10416
+ className: styles["custom-col-2"],
10320
10417
  style: {
10321
10418
  display: "flex",
10322
10419
  alignItems: "center",
@@ -10324,22 +10421,22 @@ function MyAnswer(_ref) {
10324
10421
  padding: "4px 8px"
10325
10422
  }
10326
10423
  }, question.isStar ? React__default.createElement(iconStarQuestion, null) : React__default.createElement(iconNoStarQuestion, null), React__default.createElement("span", {
10327
- className: styles$2["questionOrder"]
10424
+ className: styles$3["questionOrder"]
10328
10425
  }, question.questionOrder + 1, "\uBC88")), React__default.createElement("div", {
10329
- className: stylesGlobal["custom-col-2"],
10426
+ className: styles["custom-col-2"],
10330
10427
  style: {
10331
10428
  display: "flex",
10332
10429
  alignItems: "center",
10333
10430
  gap: "4px"
10334
10431
  }
10335
10432
  }, question.isCorrect && question.selectedAnswers !== "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer, null), React__default.createElement("span", {
10336
- className: styles$2["answerCorrect"]
10433
+ className: styles$3["answerCorrect"]
10337
10434
  }, "\uC815\uB2F5")), !question.isCorrect && question.selectedAnswers !== "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconCorrectAnswer$1, null), React__default.createElement("span", {
10338
- className: styles$2["answerIncorrect"]
10435
+ className: styles$3["answerIncorrect"]
10339
10436
  }, "\uC624\uB2F5")), question.selectedAnswers === "" && React__default.createElement(React.Fragment, null, React__default.createElement(iconNoGrass, null), React__default.createElement("span", {
10340
- className: styles$2["answerNograss"]
10437
+ className: styles$3["answerNograss"]
10341
10438
  }, "\uD480\uC774 \uC5C6\uC74C"))), React__default.createElement("div", {
10342
- className: stylesGlobal["custom-col-2"],
10439
+ className: styles["custom-col-2"],
10343
10440
  style: {
10344
10441
  display: "flex",
10345
10442
  alignItems: "center"
@@ -10348,14 +10445,14 @@ function MyAnswer(_ref) {
10348
10445
  style: {
10349
10446
  margin: 0
10350
10447
  },
10351
- className: styles$2["answer-response"] + " " + styles$2["answer-response-" + question.answerResponseSignal]
10448
+ className: styles$3["answer-response"] + " " + styles$3["answer-response-" + question.answerResponseSignal]
10352
10449
  }, formatTimeSecond(Math.round(question.duration), t)) : React__default.createElement("p", {
10353
10450
  style: {
10354
10451
  margin: 0
10355
10452
  },
10356
- className: styles$2["answerNoTime"]
10453
+ className: styles$3["answerNoTime"]
10357
10454
  }, "\uC2DC\uAC04 \uC5C6\uC74C")), React__default.createElement("div", {
10358
- className: stylesGlobal["custom-col-2"],
10455
+ className: styles["custom-col-2"],
10359
10456
  style: {
10360
10457
  display: "flex",
10361
10458
  alignItems: "center"
@@ -10364,15 +10461,15 @@ function MyAnswer(_ref) {
10364
10461
  style: {
10365
10462
  margin: 0
10366
10463
  },
10367
- className: styles$2["answer-response"] + " " + styles$2["answer-response-" + question.answerResponseSignal]
10464
+ className: styles$3["answer-response"] + " " + styles$3["answer-response-" + question.answerResponseSignal]
10368
10465
  }, formatTimeSecond(Math.round(question.topDuration - question.duration), t)) : React__default.createElement("p", {
10369
10466
  style: {
10370
10467
  margin: 0,
10371
10468
  textAlign: "center"
10372
10469
  },
10373
- className: styles$2["answerNoTime"]
10470
+ className: styles$3["answerNoTime"]
10374
10471
  }, "-")), React__default.createElement("div", {
10375
- className: stylesGlobal["custom-col-2"],
10472
+ className: styles["custom-col-2"],
10376
10473
  style: {
10377
10474
  display: "flex",
10378
10475
  alignItems: "center"
@@ -10381,14 +10478,14 @@ function MyAnswer(_ref) {
10381
10478
  style: {
10382
10479
  margin: 0
10383
10480
  },
10384
- className: styles$2["answer-response"] + " " + styles$2["answer-response-" + question.answerResponseSignal]
10481
+ className: styles$3["answer-response"] + " " + styles$3["answer-response-" + question.answerResponseSignal]
10385
10482
  }, question.overallCorrectRate + "%") : React__default.createElement("p", {
10386
10483
  style: {
10387
10484
  margin: 0
10388
10485
  },
10389
- className: styles$2["answerNoTime"]
10486
+ className: styles$3["answerNoTime"]
10390
10487
  }, "\uC2DC\uAC04 \uC5C6\uC74C")), isStudent && React__default.createElement("div", {
10391
- className: stylesGlobal["custom-col-2"],
10488
+ className: styles["custom-col-2"],
10392
10489
  style: {
10393
10490
  display: "flex",
10394
10491
  alignItems: "center",
@@ -10457,11 +10554,11 @@ var iconBtnNextChart = function iconBtnNextChart(_ref) {
10457
10554
  function CompareGrass(_ref) {
10458
10555
  var effectSize = _ref.effectSize;
10459
10556
  return React__default.createElement("div", {
10460
- className: styles$2["compareGrass"]
10557
+ className: styles$3["compareGrass"]
10461
10558
  }, React__default.createElement("div", {
10462
- className: styles$2["tableCompareGrass"]
10559
+ className: styles$3["tableCompareGrass"]
10463
10560
  }, React__default.createElement("div", {
10464
- className: styles$2["table-responsive"]
10561
+ className: styles$3["table-responsive"]
10465
10562
  }, React__default.createElement(material.Table, {
10466
10563
  style: {
10467
10564
  width: "100%"
@@ -10471,7 +10568,7 @@ function CompareGrass(_ref) {
10471
10568
  borderBottom: "1px solid #E4E7EC"
10472
10569
  }
10473
10570
  }, React__default.createElement("tr", null, React__default.createElement("th", {
10474
- className: styles$2["thcolumn1"]
10571
+ className: styles$3["thcolumn1"]
10475
10572
  }, "\uBB38\uC81C \uBC88\uD638"), React__default.createElement("th", {
10476
10573
  style: {
10477
10574
  textAlign: "center"
@@ -10495,14 +10592,14 @@ function CompareGrass(_ref) {
10495
10592
  borderBottom: "1px solid #e4e7ec"
10496
10593
  } : {}
10497
10594
  }, React__default.createElement("td", {
10498
- className: styles$2["tdcolumn1"]
10595
+ className: styles$3["tdcolumn1"]
10499
10596
  }, "\uBB38\uC81C ", item.questionOrder + 1), React__default.createElement("td", {
10500
10597
  style: {
10501
10598
  textAlign: "center",
10502
10599
  color: "#202B37"
10503
10600
  }
10504
10601
  }, item.correctAnswers, "\uBC88"), React__default.createElement("td", {
10505
- className: styles$2["tdcolumn3"],
10602
+ className: styles$3["tdcolumn3"],
10506
10603
  style: {
10507
10604
  color: item.isCorrect ? "#1EE288" : "#F34B4B"
10508
10605
  }
@@ -10512,7 +10609,7 @@ function CompareGrass(_ref) {
10512
10609
  color: "#414E62"
10513
10610
  }
10514
10611
  }, item.mostSelectedAnswers ? item.mostSelectedAnswers + "\uBC88" : ""), React__default.createElement("td", null, React__default.createElement("div", {
10515
- className: styles$2["classification"]
10612
+ className: styles$3["classification"]
10516
10613
  }, item.problemCategories.map(function (problem, index) {
10517
10614
  return React__default.createElement("div", {
10518
10615
  key: index
@@ -10639,9 +10736,9 @@ function TrickyProblem(_ref) {
10639
10736
  return i.isStar && i.isCorrect;
10640
10737
  });
10641
10738
  return React__default.createElement("div", {
10642
- className: styles$2["wrapperProblem"]
10739
+ className: styles$3["wrapperProblem"]
10643
10740
  }, React__default.createElement("div", {
10644
- className: !openProblem.problem1 ? styles$2["titleProblemClose"] : styles$2["titleProblem"],
10741
+ className: !openProblem.problem1 ? styles$3["titleProblemClose"] : styles$3["titleProblem"],
10645
10742
  onClick: function onClick() {
10646
10743
  return changeOpen(_extends({}, openProblem, {
10647
10744
  problem1: !openProblem.problem1
@@ -10654,27 +10751,27 @@ function TrickyProblem(_ref) {
10654
10751
  fontWeight: 700
10655
10752
  }
10656
10753
  }, "\uAE4C\uB2E4\uB85C\uC6E0\uB358 \uBB38\uC81C"), openProblem.problem1 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem1 && React__default.createElement(React.Fragment, null, React__default.createElement("div", {
10657
- className: styles$2["titleTrickyProblem"]
10754
+ className: styles$3["titleTrickyProblem"]
10658
10755
  }, React__default.createElement(iconX, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uD2C0\uB9B0 \uBB38\uC81C")), React__default.createElement("div", {
10659
- className: styles$2["wrongQuestions"]
10756
+ className: styles$3["wrongQuestions"]
10660
10757
  }, !!inCorrectQuestions.length && inCorrectQuestions.map(function (question) {
10661
10758
  return React__default.createElement("span", {
10662
10759
  key: question.id,
10663
- className: styles$2["question"]
10760
+ className: styles$3["question"]
10664
10761
  }, question.questionOrder + 1, "\uBC88");
10665
10762
  }), !data.questions.length && React__default.createElement("div", {
10666
- className: styles$2["noData"]
10763
+ className: styles$3["noData"]
10667
10764
  }, "\uB370\uC774\uD130 \uC5C6\uC74C")), React__default.createElement("div", {
10668
- className: styles$2["titleTrickyProblem"]
10765
+ className: styles$3["titleTrickyProblem"]
10669
10766
  }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uB9DE\uCD98 \uBB38\uC81C")), React__default.createElement("div", {
10670
- className: styles$2["assignedQuestions"]
10767
+ className: styles$3["assignedQuestions"]
10671
10768
  }, !!correctQuestions.length && correctQuestions.map(function (question) {
10672
10769
  return React__default.createElement("div", {
10673
10770
  key: question.id,
10674
- className: styles$2["question"]
10771
+ className: styles$3["question"]
10675
10772
  }, question.questionOrder + 1, "\uBC88");
10676
10773
  }), !data.questions.length && React__default.createElement("div", {
10677
- className: styles$2["noData"]
10774
+ className: styles$3["noData"]
10678
10775
  }, "\uB370\uC774\uD130 \uC5C6\uC74C"))));
10679
10776
  }
10680
10777
 
@@ -10685,9 +10782,9 @@ function ProtractedProblem(_ref) {
10685
10782
  var _useTranslation = reactI18next.useTranslation(),
10686
10783
  t = _useTranslation.t;
10687
10784
  return React__default.createElement("div", {
10688
- className: styles$2["wrapperProblem"]
10785
+ className: styles$3["wrapperProblem"]
10689
10786
  }, React__default.createElement("div", {
10690
- className: !openProblem.problem2 ? styles$2["titleProblemClose"] : styles$2["titleProblem"],
10787
+ className: !openProblem.problem2 ? styles$3["titleProblemClose"] : styles$3["titleProblem"],
10691
10788
  onClick: function onClick() {
10692
10789
  return changeOpen(_extends({}, openProblem, {
10693
10790
  problem2: !openProblem.problem2
@@ -10700,30 +10797,30 @@ function ProtractedProblem(_ref) {
10700
10797
  fontWeight: 700
10701
10798
  }
10702
10799
  }, "\uC2DC\uAC04\uC774 \uC624\uB798 \uAC78\uB9B0 \uBB38\uC81C"), openProblem.problem2 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem2 && React__default.createElement(React.Fragment, null, React__default.createElement("div", {
10703
- className: styles$2["wrapperContent"]
10800
+ className: styles$3["wrapperContent"]
10704
10801
  }, data.length ? data.map(function (item) {
10705
10802
  return React__default.createElement("div", {
10706
- className: styles$2["content"],
10803
+ className: styles$3["content"],
10707
10804
  key: item.id
10708
10805
  }, React__default.createElement("div", {
10709
- className: styles$2["contentColumn1"]
10806
+ className: styles$3["contentColumn1"]
10710
10807
  }, React__default.createElement("div", null, React__default.createElement("span", {
10711
- className: styles$2["span1"]
10808
+ className: styles$3["span1"]
10712
10809
  }, "\uBB38\uC81C"), React__default.createElement("span", {
10713
- className: styles$2["span2"]
10810
+ className: styles$3["span2"]
10714
10811
  }, item.questionOrder + 1, "\uBC88"))), React__default.createElement("div", {
10715
- className: styles$2["contentColumn2"]
10812
+ className: styles$3["contentColumn2"]
10716
10813
  }, React__default.createElement("div", null, React__default.createElement("span", {
10717
- className: styles$2["span1"]
10814
+ className: styles$3["span1"]
10718
10815
  }, "\uB098\uC758 \uC2DC\uAC04"), React__default.createElement("span", {
10719
- className: styles$2["span2"]
10816
+ className: styles$3["span2"]
10720
10817
  }, "\uC0C1\uC704\uAD8C \uC2DC\uAC04")), React__default.createElement("div", null, React__default.createElement("span", {
10721
- className: styles$2["duration"]
10818
+ className: styles$3["duration"]
10722
10819
  }, formatTimeSecond(item.duration, t)), React__default.createElement("span", {
10723
- className: styles$2["topDuration"]
10820
+ className: styles$3["topDuration"]
10724
10821
  }, formatTimeSecond(item.topDuration, t)))));
10725
10822
  }) : React__default.createElement("div", {
10726
- className: styles$2["noData"]
10823
+ className: styles$3["noData"]
10727
10824
  }, "\uB370\uC774\uD130 \uC5C6\uC74C"))));
10728
10825
  }
10729
10826
 
@@ -10737,9 +10834,9 @@ function Vulnerable(_ref) {
10737
10834
  return q2.overallCorrectRate === q1.overallCorrectRate ? q1.questionOrder - q2.questionOrder : q2.overallCorrectRate - q1.overallCorrectRate;
10738
10835
  });
10739
10836
  return React__default.createElement("div", {
10740
- className: styles$2["wrapperProblem"]
10837
+ className: styles$3["wrapperProblem"]
10741
10838
  }, React__default.createElement("div", {
10742
- className: !openProblem.problem3 ? styles$2["titleProblemClose"] : styles$2["titleProblem"],
10839
+ className: !openProblem.problem3 ? styles$3["titleProblemClose"] : styles$3["titleProblem"],
10743
10840
  onClick: function onClick() {
10744
10841
  return changeOpen(_extends({}, openProblem, {
10745
10842
  problem3: !openProblem.problem3
@@ -10752,30 +10849,30 @@ function Vulnerable(_ref) {
10752
10849
  fontWeight: 700
10753
10850
  }
10754
10851
  }, "\uB0B4\uAC00 \uCDE8\uC57D\uD55C \uBB38\uC81C"), openProblem.problem3 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem3 && React__default.createElement(React.Fragment, null, React__default.createElement("div", {
10755
- className: styles$2["wrapperContent"]
10852
+ className: styles$3["wrapperContent"]
10756
10853
  }, incorrectQuestions.length ? React__default.createElement(React.Fragment, null, incorrectQuestions.map(function (question) {
10757
10854
  return React__default.createElement("div", {
10758
- className: styles$2["content"],
10855
+ className: styles$3["content"],
10759
10856
  key: question.id
10760
10857
  }, React__default.createElement("div", {
10761
- className: styles$2["contentColumn1"]
10858
+ className: styles$3["contentColumn1"]
10762
10859
  }, React__default.createElement("div", null, React__default.createElement("span", {
10763
- className: styles$2["span1"]
10860
+ className: styles$3["span1"]
10764
10861
  }, "\uBB38\uC81C"), React__default.createElement("span", {
10765
- className: styles$2["span2"]
10862
+ className: styles$3["span2"]
10766
10863
  }, question.questionOrder + 1, "\uBC88"))), React__default.createElement("div", {
10767
- className: styles$2["contentColumn2"]
10864
+ className: styles$3["contentColumn2"]
10768
10865
  }, React__default.createElement("div", null, React__default.createElement("span", {
10769
- className: styles$2["span1"]
10866
+ className: styles$3["span1"]
10770
10867
  }, "\uC804\uCCB4 \uC815\uB2F5\uB960"), React__default.createElement("span", {
10771
- className: styles$2["span2"]
10868
+ className: styles$3["span2"]
10772
10869
  }, "\uB098\uC758 \uC624\uB2F5")), React__default.createElement("div", null, React__default.createElement("span", {
10773
- className: styles$2["overallCorrectRate"]
10870
+ className: styles$3["overallCorrectRate"]
10774
10871
  }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
10775
- className: styles$2["answer"]
10872
+ className: styles$3["answer"]
10776
10873
  }, question.selectedAnswers, "\uBC88 (\uC815\uB2F5", " ", question.correctAnswers, "\uBC88)"))));
10777
10874
  })) : React__default.createElement("div", {
10778
- className: styles$2["noData"]
10875
+ className: styles$3["noData"]
10779
10876
  }, "\uB370\uC774\uD130 \uC5C6\uC74C"))));
10780
10877
  }
10781
10878
 
@@ -10784,9 +10881,9 @@ function GradesByTerritory(_ref) {
10784
10881
  openProblem = _ref.openProblem,
10785
10882
  changeOpen = _ref.changeOpen;
10786
10883
  return React__default.createElement("div", {
10787
- className: styles$2["wrapperProblem"]
10884
+ className: styles$3["wrapperProblem"]
10788
10885
  }, React__default.createElement("div", {
10789
- className: !openProblem.problem4 ? styles$2["titleProblemClose"] : styles$2["titleProblem"],
10886
+ className: !openProblem.problem4 ? styles$3["titleProblemClose"] : styles$3["titleProblem"],
10790
10887
  onClick: function onClick() {
10791
10888
  return changeOpen(_extends({}, openProblem, {
10792
10889
  problem4: !openProblem.problem4
@@ -10799,27 +10896,27 @@ function GradesByTerritory(_ref) {
10799
10896
  fontWeight: 700
10800
10897
  }
10801
10898
  }, "\uC601\uC5ED\uBCC4 \uC131\uC801"), openProblem.problem4 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem4 && React__default.createElement("div", {
10802
- className: styles$2["wrappContentProblem"]
10899
+ className: styles$3["wrappContentProblem"]
10803
10900
  }, data.length && data.map(function (item) {
10804
10901
  return React__default.createElement("div", {
10805
- className: styles$2["contentProblem"],
10902
+ className: styles$3["contentProblem"],
10806
10903
  key: item.id
10807
10904
  }, React__default.createElement("div", {
10808
- className: styles$2["labelProblem"]
10905
+ className: styles$3["labelProblem"]
10809
10906
  }, React__default.createElement("span", {
10810
- className: styles$2["name"]
10907
+ className: styles$3["name"]
10811
10908
  }, item.name), React__default.createElement("div", {
10812
- className: styles$2["percent"]
10909
+ className: styles$3["percent"]
10813
10910
  }, React__default.createElement("span", null, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("span", null, item.totalCorrectQuestions, "/", item.totalQuestions, "\uBB38\uC81C"))), React__default.createElement("div", {
10814
- className: styles$2["slider"]
10911
+ className: styles$3["slider"]
10815
10912
  }, React__default.createElement("span", {
10816
- className: styles$2["track"],
10913
+ className: styles$3["track"],
10817
10914
  style: {
10818
10915
  left: item.percentageAmongStudents + "%"
10819
10916
  }
10820
10917
  })));
10821
10918
  }), openProblem.problem4 && !data.length && React__default.createElement("div", {
10822
- className: styles$2["noData"]
10919
+ className: styles$3["noData"]
10823
10920
  }, "\uB370\uC774\uD130 \uC5C6\uC74C")));
10824
10921
  }
10825
10922
 
@@ -10912,7 +11009,7 @@ function CreateNewQuestionDialog$1(_ref) {
10912
11009
  var errors = _ref2.errors;
10913
11010
  return React__default.createElement(formik.Form, null, React__default.createElement("label", {
10914
11011
  htmlFor: "content-question",
10915
- className: stylesGlobal['form-label'] + " " + styles$2['form-label-dialog']
11012
+ className: styles['form-label'] + " " + styles$3['form-label-dialog']
10916
11013
  }, "\uC9C8\uBB38 \uB0B4\uC6A9"), React__default.createElement(material.Box, {
10917
11014
  position: 'relative',
10918
11015
  display: 'flex',
@@ -10925,7 +11022,7 @@ function CreateNewQuestionDialog$1(_ref) {
10925
11022
  },
10926
11023
  name: "content",
10927
11024
  placeholder: "\uBB38\uC81C\uAC00 \uC5B4\uB824\uC6CC\uC694",
10928
- className: stylesGlobal['form-control']
11025
+ className: styles['form-control']
10929
11026
  }), (errors === null || errors === void 0 ? void 0 : errors.content) && React__default.createElement(material.Box, {
10930
11027
  position: 'absolute',
10931
11028
  right: 0,
@@ -10947,14 +11044,14 @@ function CreateNewQuestionDialog$1(_ref) {
10947
11044
  padding: '12px'
10948
11045
  }
10949
11046
  }, React__default.createElement(Button, {
10950
- className: styles$2['btn-cancel'],
11047
+ className: styles$3['btn-cancel'],
10951
11048
  onClick: toggleCreateQuestion
10952
11049
  }, React__default.createElement(Typography, {
10953
11050
  fontWeight: 700,
10954
11051
  fontSize: '14px',
10955
11052
  lineHeight: '16.71px'
10956
11053
  }, "\uCDE8\uC18C")), React__default.createElement(Button, {
10957
- className: styles$2['btn-register'],
11054
+ className: styles$3['btn-register'],
10958
11055
  type: "submit"
10959
11056
  }, React__default.createElement(Typography, {
10960
11057
  fontWeight: 700,
@@ -11043,6 +11140,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11043
11140
  var _useTab = useTab(),
11044
11141
  selected = _useTab.selected,
11045
11142
  handleChangeTab = _useTab.handleChangeTab;
11143
+ var isTabletUp = material.useMediaQuery('(min-width:900px)');
11046
11144
  return React__default.createElement(React.Fragment, null, timelyOrderQuestion[dataChartIndex] && longTimeSpend && resultDatas && effectSize ? React__default.createElement("div", {
11047
11145
  style: {
11048
11146
  width: "100%"
@@ -11140,7 +11238,28 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11140
11238
  container: true,
11141
11239
  padding: "24px",
11142
11240
  className: "position-relative overflow-hidden"
11143
- }, React__default.createElement(material.Grid, {
11241
+ }, !isTabletUp && React__default.createElement(material.Grid, {
11242
+ item: true,
11243
+ xs: 12
11244
+ }, React__default.createElement(material.Box, {
11245
+ padding: "16px 24px",
11246
+ flexDirection: "row",
11247
+ justifyContent: "end",
11248
+ alignItems: "center",
11249
+ display: "flex",
11250
+ bgcolor: "#F9FAFB",
11251
+ borderTop: "1px solid #E4E7EC",
11252
+ borderBottom: "1px solid #E4E7EC"
11253
+ }, React__default.createElement(material.Stack, {
11254
+ padding: '12px 24px',
11255
+ alignItems: "end",
11256
+ bgcolor: "#F9FAFB"
11257
+ }, React__default.createElement("div", {
11258
+ className: styles$3["pdfBtnBox"]
11259
+ }, React__default.createElement("button", {
11260
+ className: styles$3["pdfBtn"] + " " + styles["truncate"],
11261
+ onClick: handleExportPdf
11262
+ }, React__default.createElement(iconPrintFill, null), React__default.createElement("p", null, t("print"))))))), React__default.createElement(material.Grid, {
11144
11263
  item: true,
11145
11264
  xs: 12
11146
11265
  }, React__default.createElement(material.Box, {
@@ -11160,6 +11279,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11160
11279
  var label = _ref2.label,
11161
11280
  value = _ref2.value;
11162
11281
  return React__default.createElement(material.Button, {
11282
+ className: styles["truncate"],
11163
11283
  disableTouchRipple: true,
11164
11284
  sx: {
11165
11285
  fontSize: "14px",
@@ -11172,14 +11292,14 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11172
11292
  return handleChangeTab(value);
11173
11293
  }
11174
11294
  }, label);
11175
- })), React__default.createElement(material.Stack, {
11295
+ })), isTabletUp && React__default.createElement(material.Stack, {
11176
11296
  padding: '12px 24px',
11177
11297
  alignItems: "end",
11178
11298
  bgcolor: "#F9FAFB"
11179
11299
  }, React__default.createElement("div", {
11180
- className: styles$2["pdfBtnBox"]
11300
+ className: styles$3["pdfBtnBox"]
11181
11301
  }, React__default.createElement("button", {
11182
- className: styles$2["pdfBtn"],
11302
+ className: styles$3["pdfBtn"] + " " + styles["truncate"],
11183
11303
  onClick: handleExportPdf
11184
11304
  }, React__default.createElement(iconPrintFill, null), React__default.createElement("p", null, t("print"))))))), React__default.createElement(material.Grid, {
11185
11305
  item: true,
@@ -11195,18 +11315,18 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11195
11315
  value: selected,
11196
11316
  index: 1
11197
11317
  }, React__default.createElement("div", {
11198
- className: styles$2["compareChart"]
11318
+ className: styles$3["compareChart"]
11199
11319
  }, React__default.createElement("div", {
11200
- className: styles$2["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
11320
+ className: styles$3["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
11201
11321
  onClick: handlePrevChart
11202
11322
  }, React__default.createElement(iconBtnPrevChart, null)), React__default.createElement("div", {
11203
- className: styles$2["chart"] + " sr-line-chart"
11323
+ className: styles$3["chart"] + " sr-line-chart"
11204
11324
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
11205
11325
  height: 389,
11206
11326
  options: chartOptions,
11207
11327
  series: series
11208
11328
  }))), React__default.createElement("div", {
11209
- className: styles$2["nextChart"] + " " + (dataChartIndex < timelyOrderQuestion.length - 1 && "pointer"),
11329
+ className: styles$3["nextChart"] + " " + (dataChartIndex < timelyOrderQuestion.length - 1 && "pointer"),
11210
11330
  onClick: handleNextChart
11211
11331
  }, React__default.createElement(iconBtnNextChart, null)))), React__default.createElement(CustomTabPanel, {
11212
11332
  value: selected,
@@ -11252,18 +11372,18 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11252
11372
  value: selected,
11253
11373
  index: 1
11254
11374
  }, React__default.createElement("div", {
11255
- className: styles$2["compareChart"]
11375
+ className: styles$3["compareChart"]
11256
11376
  }, React__default.createElement("div", {
11257
- className: styles$2["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
11377
+ className: styles$3["prevChart"] + " " + (dataChartIndex > 0 && "pointer"),
11258
11378
  onClick: handlePrevChart
11259
11379
  }, React__default.createElement(iconBtnPrevChart, null)), React__default.createElement("div", {
11260
- className: styles$2["chart"] + " sr-line-chart"
11380
+ className: styles$3["chart"] + " sr-line-chart"
11261
11381
  }, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
11262
11382
  height: 389,
11263
11383
  options: chartOptions,
11264
11384
  series: series
11265
11385
  }))), React__default.createElement("div", {
11266
- className: styles$2["nextChart"] + " " + (dataChartIndex < timelyOrderQuestion.length - 1 && "pointer"),
11386
+ className: styles$3["nextChart"] + " " + (dataChartIndex < timelyOrderQuestion.length - 1 && "pointer"),
11267
11387
  onClick: handleNextChart
11268
11388
  }, React__default.createElement(iconBtnNextChart, null)))), React__default.createElement(CustomTabPanel, {
11269
11389
  value: selected,
@@ -11339,6 +11459,101 @@ var times = {
11339
11459
  timeSpanToLocalMoment: timeSpanToLocalMoment
11340
11460
  };
11341
11461
 
11462
+ var Header = function Header(_ref) {
11463
+ var academyListRoute = _ref.academyListRoute,
11464
+ homeRoute = _ref.homeRoute,
11465
+ headerTabs = _ref.headerTabs,
11466
+ role = _ref.role,
11467
+ navigate = _ref.navigate,
11468
+ onSignOut = _ref.onSignOut;
11469
+ var _useTranslation = reactI18next.useTranslation(),
11470
+ t = _useTranslation.t;
11471
+ var location = reactRouterDom.useLocation();
11472
+ var theme = material.useTheme();
11473
+ var user = reactRedux.useSelector(function (state) {
11474
+ var _state$common;
11475
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
11476
+ });
11477
+ var isLargerThanXL = material.useMediaQuery(theme.breakpoints.up("xl"));
11478
+ var academyDomain = reactRedux.useSelector(function (state) {
11479
+ var _state$common2, _state$common2$user;
11480
+ return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : _state$common2$user.academyDomain;
11481
+ });
11482
+ var pathname = location.pathname.toLowerCase();
11483
+ return React__default.createElement("div", {
11484
+ className: "col-sm-12 col-xl-12 " + styles["tabBox"] + " " + styles["headers"]
11485
+ }, React__default.createElement(reactRouterDom.Link, {
11486
+ "aria-current": "page",
11487
+ to: homeRoute.path,
11488
+ className: "border-none " + styles["logo-container"]
11489
+ }, React__default.createElement("img", {
11490
+ className: styles["logo"] + " d-none d-lg-block",
11491
+ src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKoAAABNCAYAAAA2N/+4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAfmSURBVHgB7ZzLktvGFYbPaZBKNOWKmSpnG3GfVHm09UbUE5hDJ4usTD2BrU22op5gRvtUifI20Qz0BKKfINQThHbWqWA2li0SfXwamJFBEAABojkX6/+qKIq4dJPA36fPpTFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAatHrjXsEgAeY9kSnM54QyRNmWojwnJlD/fxmuZzOCYCG7EWolyIt2R1ptzMV8Ez//y2EC+rgXahbRFqEE65aXApF6M1qNZ0RADm8CnUHkZaQWNy5CvfVRx/RPIqmEYEPGm9C9SfSdZhlvFx+84LAB02HPBAE46mK9EvyjkwgUuBobVGdSNXq7UWkq9U3TwkAJaAW1BHpwcEn9Oc//Y0+/t0f6eDuH6jbPaDV6geydllxFkQK1tnZotYV6Wef/V0F+snGvqWK9Tz6byLa8/Pvk9fbt/+j6Pz7aRy/eEQAZNhJqG1FWoWQGZyd8bfkib8O3x0K8UaF7F9hd0Z7YKj9GTKH2W2WlrMwvLugHRkOpWcoHma36Y2LXoadkPZAk/6+OLKvhWSQ3VZ2D0fD1Ti/7TTsTKkGjYOpfYrUN3rB+zHbf2/sEJrqv7OK83oByxk1wBKf6M15ZSj4XO/qJLsvkO5Y3xajYXysFbrDJu2+PDMP9a2n6Y/n2e2i7elbpVCb9ici89MweFzV33C4GhriTzPb+/l2WOxY+x5cfrZknoUhR/k2L5hSDRoJ9TaJ1BEYOdZc7Bruggu92+b/9vJWYhtG7HTbMU40TdttQ9P+hGTrMSpSNxDH2bM2O87u13M4EWOrXHhtoWqe9HhbCuomidRNM2ohhvntum3SZhoG14Ope6CWNh+vVvx7PWWgQ2aim2Zqrd6PkpskUjd1E5uN4oOzpmHYQV72FtLQR51GqxU5J9m9kumz2x0fWsv3VKThTRCpwxj7taqyn9+uAUFvdGT/k9kwPz01RwVNRHr+hBoQk31Du5D6ywvaAyL2hStH1z6+xvewJK+McHKcMA94I5DiOYus+c5W6Jxa0roydbH6aX5w9x/lBzGHOuWeq1D2UBhYxwVQJLaglOsuru4j+SUDoGJ2wUFYGD3Ld9SIeCcfTNhMfWY5srhIvY7fmfk2W3/zxbVKrtdoFPfzzRuR6csweEae8VJC3Ya6CH0RtVwsn+oIbBT1NqUogHJY+ekh82+e5y2ABhzHKu5ZEpX+Qq8kQi3vVyP7vwyXfVsQBV8bbL6iBsEUC82Gw7cLTU0NamUuhQf5YCqmeC+DrraP2gYnTp2On4jwUWrZ9kNZAKVTTxJAicRPN7+bE5b1spjGsnmdj3hvG4buPKkzSJOZK5mh8ucHX2lq6rl7kUeuRKgJQmMV69gKu7zgfpbtlQZQQSLQUJP8UuCzafrka5eoJ1Cb1OoW4AbqxcvnNb2Sqf89Qk8M2ciKPDLMjRLq21B/aaI+Rn+jS01HrX/mR5oLdkWAtWoVc0fTb/SQyomoYoBZDiLWUOMWsCjbwWQiquvTGn6w7dCAggf65uUJjqsVqoPpWIOd+1aCieFmkXUZZQGU+qrzfDpKfVFXITrJV4+c76qB1Zdl6StXtTkLO1VCptFRTDcdLW+Oq4K32lN2gX+62Ze/eOTqpv5spxy8Jnr3Qn/JCXnA+b9F27UCVZR6Skp6VGAd1cqfJDnYHXE1buJ6JcGbSkDxM/0dw6pjyvzTDdiJ2Q9Xb1FTesx3Xlsx98MzfkwtGA6XA7HJRZtltztftKwC5SJ8dRWe6nmfb+51vlew03TlLFVS497bs73755/hnbkKMeKK31CUFVCXaqYulbOg2YHedwM/l1HZiesSahptpws/HlILwnQV1IwacnoaOGteaNFTi1FNanl/7AXU1Xq6uzl8z5JtlZpxbXbJpbhM37XnFnxcLBLZG5qO6neoo31yn4k/dr9FPe3q6l2Bf2pIQm2DNtN/5PzUV9SSaxOqI/UL4+Owxc24FAx547eFo98t8PhiZM/U7z1MiwZWX3fW7lcgPG6SXk8Qe6LVst5lm/HmWnbPQpVJ2p8bXOmAvAwBL777Qv9TLdSS/KmRQI0PDbLbWaz7fLuF6nCpIZ0uv1PLsZO/2qHVoVU3gnwhdqIWrehG9YpytG1Ri3NYO9L20V/L1VvpbGP7uc1RqC6D5rEPN1yChssay7iWYGoDzQQ4X5PAjacwfyppbtpSMMvv8lWJ9CZUtTazba+q8w2bM+cv0e1k4VJhceP1AdvarL5mnnEuj077W/p0/mkOFWNyjkv90WY2pTcayT1qibepn7ev0nF+0aBqv8sE6NRy30eU6BEnQk3mJ4taFpwkzE1kmRbu72qdnvKaONWNeVCjzbR4IDzPthnT8o0x3f/n2/RApj/r/jKN9mkW+htcdD+3ls6z17wymNxS31dffpZ3kdgmVrjV8kovQk2ehfGQvE8zAeQec6gdPa+oM+fqAdAIvQVOJJGWY/u7CMb5t5zLQmiwkiwBjNO1DrTDQIySHG32e8py69K5ffSnab9x3g/VYPh9Oi+2/FjFuhZv2PSaUr7NJnjJ+KVrPGskgGvg++E+8OugtY+aPlnoR6QAlNFaqMxm74uhAWglVOd0X+VTleDDpZVQyxaDAOCbVlG/iJkS+V0t5P6YLwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/Yn4G8GJySAUVr9kAAAAASUVORK5CYII=",
11492
+ alt: ""
11493
+ }), React__default.createElement("img", {
11494
+ className: styles["logo"] + " d-block d-lg-none",
11495
+ src: "/images/logo-sm.png",
11496
+ alt: ""
11497
+ })), React__default.createElement("div", {
11498
+ className: styles["routerBox"] + " d-flex flex-grow-1 flex-nowrap px-3"
11499
+ }, headerTabs.map(function (_ref2) {
11500
+ var path = _ref2.path,
11501
+ icon = _ref2.icon,
11502
+ label = _ref2.label,
11503
+ isMain = _ref2.isMain,
11504
+ activePaths = _ref2.activePaths;
11505
+ return React__default.createElement(reactRouterDom.Link, {
11506
+ key: path,
11507
+ "aria-current": "page",
11508
+ to: !academyDomain && !isMain ? "#" : path,
11509
+ className: "text-decoration-none " + ((activePaths !== null && activePaths !== void 0 && activePaths.length ? activePaths.some(function (a) {
11510
+ return pathname.startsWith(a);
11511
+ }) : pathname.startsWith(path)) ? styles["router-link-active"] + " " + styles["router-link-exact-active"] : "") + " " + styles["tabText"] + " " + (!academyDomain && !isMain ? styles["disabled-link"] : "")
11512
+ }, React__default.createElement(material.Stack, {
11513
+ sx: {
11514
+ justifyContent: "center",
11515
+ flexDirection: "row",
11516
+ alignItems: "center",
11517
+ textOverflow: "ellipsis",
11518
+ overflow: "hidden",
11519
+ display: "flex",
11520
+ flexWrap: "nowrap"
11521
+ }
11522
+ }, icon, React__default.createElement("span", {
11523
+ className: "text-nowrap"
11524
+ }, isLargerThanXL || headerTabs.length < 4 ? t(label) : ellipsisText(t(label), 4))));
11525
+ })), React__default.createElement(material.Stack, {
11526
+ direction: "row",
11527
+ alignItems: "center"
11528
+ }, React__default.createElement(material.Typography, {
11529
+ className: "fw-bold text-primary me-2 text-nowrap",
11530
+ sx: {
11531
+ maxWidth: "120px",
11532
+ overflow: "hidden",
11533
+ textOverflow: "ellipsis"
11534
+ }
11535
+ }, user === null || user === void 0 ? void 0 : user.fullName), React__default.createElement("div", null, React__default.createElement(TheAcademyDropdown, {
11536
+ homeAcademyUrl: academyListRoute.path,
11537
+ homeUrl: homeRoute.path,
11538
+ role: role,
11539
+ navigate: navigate,
11540
+ hideAcademyName: !isLargerThanXL && headerTabs.length > 6
11541
+ })), React__default.createElement("div", {
11542
+ className: "me-2"
11543
+ }, React__default.createElement(TheLanguageDropdown, null)), React__default.createElement("div", {
11544
+ className: styles["userImg"] + " d-none d-md-none d-lg-block",
11545
+ onClick: onSignOut
11546
+ }, React__default.createElement("p", {
11547
+ className: "text-nowrap mb-0"
11548
+ }, t("logout"))), React__default.createElement("div", {
11549
+ className: styles["userImg"] + " d-block d-md-block d-lg-none",
11550
+ onClick: onSignOut
11551
+ }, React__default.createElement(io.IoIosLogOut, {
11552
+ size: 24,
11553
+ color: "#959595"
11554
+ }))));
11555
+ };
11556
+
11342
11557
  exports.moment = moment;
11343
11558
  Object.defineProperty(exports, 'I18nextProvider', {
11344
11559
  enumerable: true,
@@ -11388,6 +11603,7 @@ exports.EXAM_STUDENT_CHANNEL = EXAM_STUDENT_CHANNEL;
11388
11603
  exports.Enums = index;
11389
11604
  exports.ExamDetailView = ExamDetailView;
11390
11605
  exports.ExamResultV2 = ExamResultV2;
11606
+ exports.Header = Header;
11391
11607
  exports.InputText = InputText;
11392
11608
  exports.LANGUAGES = LANGUAGES;
11393
11609
  exports.LayoutContext = LayoutContext;