touchstudy-core 0.1.60 → 0.1.62

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.
@@ -1,7 +1,7 @@
1
1
  import { createAction, createReducer, configureStore } from '@reduxjs/toolkit';
2
2
  import moment from 'moment';
3
3
  export { default as moment } from 'moment';
4
- import React__default, { useState, useCallback, useEffect, useMemo, Fragment as Fragment$1, useRef, createElement } from 'react';
4
+ import React__default, { useState, useCallback, useEffect, Fragment as Fragment$1, useMemo, useRef, createElement } from 'react';
5
5
  import { Formik, Form, Field } from 'formik';
6
6
  import { object, string, boolean } from 'yup';
7
7
  import GoogleLogin, { useGoogleLogout } from '@leecheuk/react-google-login';
@@ -9,10 +9,10 @@ import { useDispatch, useSelector } from 'react-redux';
9
9
  import axios from 'axios';
10
10
  import { useTranslation, initReactI18next } from 'react-i18next';
11
11
  export { I18nextProvider, useTranslation } from 'react-i18next';
12
- import { Paper, Card, Stack, Grid, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, Button, Box, Typography, Pagination, styled, useTheme, useMediaQuery, Tooltip, tooltipClasses, ClickAwayListener, CircularProgress, FormControl, RadioGroup, FormControlLabel, Radio, FormGroup, FormLabel, Checkbox, InputLabel, Container, Table, TableBody, TableRow, TableCell, TableHead, InputBase } from '@mui/material';
12
+ import { Paper, Card, Stack, Grid, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, Button, Box, Typography, Pagination, styled, useTheme, useMediaQuery, MenuList, Tooltip, tooltipClasses, ClickAwayListener, CircularProgress, FormControl, RadioGroup, FormControlLabel, Radio, FormGroup, FormLabel, Checkbox, InputLabel, Container, Table, TableBody, TableRow, TableCell, TableHead, InputBase } from '@mui/material';
13
+ import { gapi } from 'gapi-script';
13
14
  import 'moment/locale/ko.js';
14
15
  import 'moment/locale/en-au.js';
15
- import { gapi } from 'gapi-script';
16
16
  import Pusher from 'pusher-js';
17
17
  import { IoClose, IoCloseOutline, IoSearch } from 'react-icons/io5';
18
18
  import i18n from 'i18next';
@@ -70,6 +70,7 @@ var PUSHER_CONFIG = {
70
70
  var ACCESS_TOKEN = "ACCESS_TOKEN";
71
71
  var ACADEMY_DOMAIN = "ACADEMY_DOMAIN";
72
72
  var REDIRECT_URL = "REDIRECT_URL";
73
+ var LANGUAGE = "LANGUAGE";
73
74
  var AcademyHeaders = "Academy-Headers";
74
75
  var LanguageHeaders = "Accept-Language";
75
76
  var DefaultErrorMessage = "an_unexpected_error_has_occurred";
@@ -77,27 +78,6 @@ var DATE_MIN_VALUE = "0001-01-01T00:00:00+00:00";
77
78
  var DATE_TIME_MIN_VALUE = "0001-01-01T00:00:00";
78
79
  var EXAM_CHANNEL = "presence-exam-channel";
79
80
  var EXAM_STUDENT_CHANNEL = "EXAM-CHANNEL-{examCode}-STUDENT-{studentId}";
80
- var getAccessToken = function getAccessToken() {
81
- try {
82
- return localStorage.getItem(ACCESS_TOKEN);
83
- } catch (err) {
84
- return null;
85
- }
86
- };
87
- var getAcademyDomain = function getAcademyDomain() {
88
- try {
89
- return localStorage.getItem(ACADEMY_DOMAIN);
90
- } catch (err) {
91
- return null;
92
- }
93
- };
94
- var getRedirectUrl = function getRedirectUrl() {
95
- try {
96
- return localStorage.getItem(REDIRECT_URL);
97
- } catch (err) {
98
- return undefined;
99
- }
100
- };
101
81
  var encodeParams = function encodeParams(params) {
102
82
  return Object.keys(params).filter(function (key) {
103
83
  return params[key] || params[key] === 0 || params[key] === false;
@@ -381,6 +361,22 @@ function _finally(body, finalizer) {
381
361
  return finalizer();
382
362
  }
383
363
 
364
+ var getAcademyDomain = function getAcademyDomain() {
365
+ try {
366
+ return localStorage.getItem(ACADEMY_DOMAIN);
367
+ } catch (err) {
368
+ return null;
369
+ }
370
+ };
371
+
372
+ var getAccessToken = (function () {
373
+ try {
374
+ return localStorage.getItem(ACCESS_TOKEN);
375
+ } catch (err) {
376
+ return null;
377
+ }
378
+ });
379
+
384
380
  var api = axios.create({
385
381
  baseURL: BASE_URL,
386
382
  timeout: 0,
@@ -507,14 +503,23 @@ var pushTo = function pushTo(history, data) {
507
503
  };
508
504
 
509
505
  var getErrorMessage = function getErrorMessage(t, error, defaultErrorMessage) {
510
- var _error$response, _error$response$data, _error$response2, _error$response2$data;
506
+ var _error$response, _error$response$data, _error$response2, _error$response3, _error$response3$data;
511
507
  var errorMessage = error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title;
512
- if (typeof errorMessage === "string") return errorMessage;
513
- errorMessage = (error === null || error === void 0 ? void 0 : error.message) || (error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message);
508
+ if ((error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.status) === 500) return defaultErrorMessage || t(DefaultErrorMessage);
509
+ if (typeof errorMessage === "string") return decodeURIComponent(errorMessage);
510
+ errorMessage = (error === null || error === void 0 ? void 0 : error.message) || (error === null || error === void 0 ? void 0 : (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : (_error$response3$data = _error$response3.data) === null || _error$response3$data === void 0 ? void 0 : _error$response3$data.message);
514
511
  if (typeof errorMessage === "string") return errorMessage;
515
512
  return defaultErrorMessage || t(DefaultErrorMessage);
516
513
  };
517
514
 
515
+ var getRedirectUrl = function getRedirectUrl() {
516
+ try {
517
+ return localStorage.getItem(REDIRECT_URL);
518
+ } catch (err) {
519
+ return undefined;
520
+ }
521
+ };
522
+
518
523
  var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl) {
519
524
  var dispatch = useDispatch();
520
525
  var _useTranslation = useTranslation(),
@@ -597,7 +602,9 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
597
602
  var needToRegister = isStudent && isFirstLogin && isAcademy;
598
603
  var redirectUrl = getRedirectUrl();
599
604
  if (!redirectUrl) redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
600
- redirectLoginUser(user, token, redirectUrl);
605
+ redirectLoginUser(_extends({}, user, {
606
+ isFirstLogin: isFirstLogin
607
+ }), token, redirectUrl);
601
608
  });
602
609
  }, function (error) {
603
610
  alert(getErrorMessage(t, error));
@@ -829,84 +836,6 @@ var SloganFullLogoEn = function SloganFullLogoEn(_ref) {
829
836
  }))));
830
837
  };
831
838
 
832
- var DEFAULT_LANGUAGE_INDEX = 0;
833
- var LANGUAGES = [{
834
- code: "ko",
835
- fullName: "Korean",
836
- shortName: "Korean",
837
- nativeName: "Korean",
838
- name: "Korean",
839
- image: "/images/korea.png",
840
- momentLangCode: "ko"
841
- }, {
842
- code: "en",
843
- fullName: "English",
844
- shortName: "English",
845
- nativeName: "English",
846
- name: "English",
847
- image: "/images/usa.png",
848
- momentLangCode: "en-au"
849
- }];
850
-
851
- var useLanguage = function useLanguage() {
852
- var searchParams = new URLSearchParams(window.location.search);
853
- var langParam = searchParams.get("lang");
854
- var defaultLanguage = !!localStorage.getItem("language") ? localStorage.getItem("language") : navigator.language || LANGUAGES[DEFAULT_LANGUAGE_INDEX].code;
855
- var dispatch = useDispatch();
856
- var _useTranslation = useTranslation(),
857
- i18n = _useTranslation.i18n;
858
- var _useState = useState(false),
859
- dropdownOpen = _useState[0],
860
- setDropdownOpen = _useState[1];
861
- var _useState2 = useState(defaultLanguage),
862
- language = _useState2[0],
863
- setItemLanguage = _useState2[1];
864
- var toggle = function toggle() {
865
- return setDropdownOpen(function (prevState) {
866
- return !prevState;
867
- });
868
- };
869
- var changeLanguageApp = function changeLanguageApp(lang) {
870
- var language = LANGUAGES.find(function (i) {
871
- return i.code === lang;
872
- });
873
- if (!language) language = LANGUAGES[DEFAULT_LANGUAGE_INDEX];
874
- i18n.changeLanguage(language.code);
875
- moment.locale(language.momentLangCode);
876
- localStorage.setItem("language", language.code);
877
- dispatch(setLanguage(language.code));
878
- searchParams.set("lang", language.code);
879
- };
880
- var handleChangeLangParam = useCallback(function () {
881
- if (!langParam) return;
882
- var languageItem = LANGUAGES.find(function (i) {
883
- return i.code === langParam.toLowerCase();
884
- });
885
- if (!languageItem) languageItem = LANGUAGES[DEFAULT_LANGUAGE_INDEX];
886
- setItemLanguage(languageItem.code);
887
- }, [searchParams.toString(), language]);
888
- useEffect(function () {
889
- changeLanguageApp(language);
890
- }, [language]);
891
- useEffect(function () {
892
- handleChangeLangParam();
893
- }, [langParam]);
894
- var currentLanguage = useMemo(function () {
895
- var currentLang = LANGUAGES.find(function (i) {
896
- return i.code === language;
897
- });
898
- if (!currentLang) return null;
899
- return currentLang;
900
- }, [language]);
901
- return {
902
- language: language,
903
- dropdownOpen: dropdownOpen,
904
- currentLanguage: currentLanguage,
905
- toggle: toggle,
906
- setItemLanguage: setItemLanguage
907
- };
908
- };
909
-
910
839
  var schema = object({
911
840
  email: string().email("Email is invalid").required("Email is required"),
912
841
  password: string().required("Password is required"),
@@ -920,8 +849,10 @@ var BlockLogin = function BlockLogin(_ref) {
920
849
  homeAcademyUrl = _ref.homeAcademyUrl,
921
850
  homeUrl = _ref.homeUrl,
922
851
  registerUrl = _ref.registerUrl;
923
- var _useLanguage = useLanguage(),
924
- currentLanguage = _useLanguage.currentLanguage;
852
+ var language = useSelector(function (state) {
853
+ var _state$common;
854
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
855
+ });
925
856
  var _useTranslation = useTranslation(),
926
857
  t = _useTranslation.t;
927
858
  var _useLogin = useLogin(history, homeAcademyUrl, homeUrl, registerUrl),
@@ -980,7 +911,7 @@ var BlockLogin = function BlockLogin(_ref) {
980
911
  py: 2,
981
912
  justifyContent: "center",
982
913
  alignItems: "center"
983
- }, (currentLanguage === null || currentLanguage === void 0 ? void 0 : currentLanguage.code) === "ko" ? React__default.createElement(SloganFullLogoKo, {
914
+ }, language !== Language.en ? React__default.createElement(SloganFullLogoKo, {
984
915
  width: "300px"
985
916
  }) : React__default.createElement(SloganFullLogoEn, {
986
917
  width: "300px"
@@ -998,14 +929,6 @@ var BlockLogin = function BlockLogin(_ref) {
998
929
  })));
999
930
  };
1000
931
 
1001
- var getAccessToken$1 = (function () {
1002
- try {
1003
- return localStorage.getItem(ACCESS_TOKEN);
1004
- } catch (err) {
1005
- return null;
1006
- }
1007
- });
1008
-
1009
932
  var defaultInfo = {
1010
933
  email: "",
1011
934
  password: "",
@@ -1035,7 +958,7 @@ var useLogin$1 = function useLogin(history) {
1035
958
  !!gapi && gapi.load("client:auth2", start);
1036
959
  }, [gapi]);
1037
960
  useEffect(function () {
1038
- var token = getAccessToken$1();
961
+ var token = getAccessToken();
1039
962
  if (!!token) pushTo(history, "/");
1040
963
  }, []);
1041
964
  return {
@@ -1049,12 +972,106 @@ var useLogin$1 = function useLogin(history) {
1049
972
  };
1050
973
  };
1051
974
 
975
+ var LANGUAGES = [{
976
+ code: "ko",
977
+ fullName: "Korean",
978
+ shortName: "Korean",
979
+ nativeName: "Korean",
980
+ name: "Korean",
981
+ image: "/images/korea.png",
982
+ momentLangCode: "ko"
983
+ }, {
984
+ code: "en",
985
+ fullName: "English",
986
+ shortName: "English",
987
+ nativeName: "English",
988
+ name: "English",
989
+ image: "/images/usa.png",
990
+ momentLangCode: "en-au"
991
+ }];
992
+ var DEFAULT_LANGUAGE = LANGUAGES[0];
993
+
994
+ var getLanguage = (function () {
995
+ try {
996
+ return localStorage.getItem(LANGUAGE);
997
+ } catch (err) {
998
+ return null;
999
+ }
1000
+ });
1001
+
1002
+ var useLanguage = function useLanguage(history) {
1003
+ var pathname = window.location.pathname;
1004
+ var search = window.location.search;
1005
+ var dispatch = useDispatch();
1006
+ var _useTranslation = useTranslation(),
1007
+ i18n = _useTranslation.i18n;
1008
+ var _useState = useState(false),
1009
+ dropdownOpen = _useState[0],
1010
+ setDropdownOpen = _useState[1];
1011
+ var _useState2 = useState(),
1012
+ currentLanguage = _useState2[0],
1013
+ setCurrentLanguage = _useState2[1];
1014
+ var toggle = function toggle() {
1015
+ return setDropdownOpen(function (prevState) {
1016
+ return !prevState;
1017
+ });
1018
+ };
1019
+ var changeLanguageApp = function changeLanguageApp(languageItem) {
1020
+ if (!languageItem) {
1021
+ var storedLanguage = getLanguage();
1022
+ var browserLanguage = navigator.language;
1023
+ var defaultLanguageCode = storedLanguage || browserLanguage;
1024
+ languageItem = LANGUAGES.find(function (i) {
1025
+ return i.code === defaultLanguageCode;
1026
+ }) || currentLanguage || DEFAULT_LANGUAGE;
1027
+ }
1028
+ setCurrentLanguage(languageItem);
1029
+ var searchParams = new URLSearchParams(search);
1030
+ i18n.changeLanguage(languageItem.code);
1031
+ moment.locale(languageItem.momentLangCode);
1032
+ localStorage.setItem(LANGUAGE, languageItem.code);
1033
+ dispatch(setLanguage(languageItem.code));
1034
+ searchParams.set("lang", languageItem.code);
1035
+ pushTo(history, _extends({}, window.location, {
1036
+ search: searchParams.toString()
1037
+ }));
1038
+ };
1039
+ var handleChangeLanguageParam = function handleChangeLanguageParam() {
1040
+ var searchParams = new URLSearchParams(search);
1041
+ var langParam = searchParams.get("lang");
1042
+ var languageItem = undefined;
1043
+ if (langParam) {
1044
+ var languageParamItem = LANGUAGES.find(function (i) {
1045
+ return i.code === langParam;
1046
+ });
1047
+ languageItem = languageParamItem || languageItem;
1048
+ }
1049
+ changeLanguageApp(languageItem);
1050
+ };
1051
+ var handleChangeItemLanguage = function handleChangeItemLanguage(lang) {
1052
+ var languageItem = LANGUAGES.find(function (i) {
1053
+ return i.code === lang;
1054
+ });
1055
+ changeLanguageApp(languageItem);
1056
+ };
1057
+ useEffect(function () {
1058
+ handleChangeLanguageParam();
1059
+ }, [pathname, search]);
1060
+ return {
1061
+ dropdownOpen: dropdownOpen,
1062
+ currentLanguage: currentLanguage,
1063
+ toggle: toggle,
1064
+ handleChangeItemLanguage: handleChangeItemLanguage
1065
+ };
1066
+ };
1067
+
1052
1068
  var _excluded = ["history"];
1053
1069
  var Login = function Login(_ref) {
1054
1070
  var history = _ref.history,
1055
1071
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
1056
1072
  var _useLogin = useLogin$1(history),
1057
1073
  defaultInfo = _useLogin.defaultInfo;
1074
+ useLanguage(history);
1058
1075
  return React__default.createElement("div", {
1059
1076
  className: styles["login"] + " font-family-lato"
1060
1077
  }, React__default.createElement(Grid, {
@@ -1318,13 +1335,15 @@ var store = configureStore({
1318
1335
  }
1319
1336
  });
1320
1337
 
1321
- var TITLE = "Not found";
1322
- var NotFound = function NotFound() {
1338
+ var TITLE = "not_found";
1339
+ var NotFound = function NotFound(_ref) {
1340
+ var history = _ref.history;
1323
1341
  var _useTranslation = useTranslation(),
1324
1342
  t = _useTranslation.t;
1343
+ useLanguage(history);
1325
1344
  useEffect(function () {
1326
- document.title = TITLE;
1327
- });
1345
+ document.title = t(TITLE);
1346
+ }, [t]);
1328
1347
  return React__default.createElement("div", {
1329
1348
  className: "not-found d-flex justify-content-center"
1330
1349
  }, React__default.createElement("div", {
@@ -1390,12 +1409,8 @@ var switchAcademy = function switchAcademy(academyId) {
1390
1409
  return api.post(ACADEMY_URL + "/switch-academy?academyId=" + academyId);
1391
1410
  };
1392
1411
 
1393
- var LayoutContext = function LayoutContext(_ref) {
1412
+ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
1394
1413
  var _currentPusher$connec2;
1395
- var children = _ref.children,
1396
- role = _ref.role,
1397
- _ref$pusherRegisterUr = _ref.pusherRegisterUrls,
1398
- pusherRegisterUrls = _ref$pusherRegisterUr === void 0 ? [] : _ref$pusherRegisterUr;
1399
1414
  var _useGoogleSignOut = useGoogleSignOut({}),
1400
1415
  handleSignOut = _useGoogleSignOut.handleSignOut;
1401
1416
  var _useTranslation = useTranslation(),
@@ -1446,7 +1461,10 @@ var LayoutContext = function LayoutContext(_ref) {
1446
1461
  var checkRoleUser = useCallback(function () {
1447
1462
  if (!user) return;
1448
1463
  if (!roles.includes(role) && !!academyDomain) {
1449
- alert(user.email + " not allow to register " + role);
1464
+ alert(t("user_not_allow_to_register_role", {
1465
+ user: user.email,
1466
+ role: role
1467
+ }));
1450
1468
  resetAuth();
1451
1469
  }
1452
1470
  }, [role, JSON.stringify(user)]);
@@ -1481,9 +1499,10 @@ var LayoutContext = function LayoutContext(_ref) {
1481
1499
  }
1482
1500
  };
1483
1501
  var registerPusher = useCallback(function () {
1502
+ if (!academyDomain) return;
1484
1503
  if (pusherRegisterUrls.includes(pathname.toLocaleLowerCase())) {
1485
1504
  var _currentPusher$connec;
1486
- if (academyDomain && academyDomain !== (concurrentConnectionPusher === null || concurrentConnectionPusher === void 0 ? void 0 : concurrentConnectionPusher.academyDomain) && isReadyRegisterPusher) {
1505
+ if (academyDomain !== (concurrentConnectionPusher === null || concurrentConnectionPusher === void 0 ? void 0 : concurrentConnectionPusher.academyDomain) && isReadyRegisterPusher) {
1487
1506
  var _headers;
1488
1507
  if (currentPusher) {
1489
1508
  currentPusher.disconnect();
@@ -1539,6 +1558,14 @@ var LayoutContext = function LayoutContext(_ref) {
1539
1558
  }
1540
1559
  };
1541
1560
  }, [registerPusher]);
1561
+ };
1562
+
1563
+ var LayoutContext = function LayoutContext(_ref) {
1564
+ var children = _ref.children,
1565
+ role = _ref.role,
1566
+ _ref$pusherRegisterUr = _ref.pusherRegisterUrls,
1567
+ pusherRegisterUrls = _ref$pusherRegisterUr === void 0 ? [] : _ref$pusherRegisterUr;
1568
+ useLayoutContext(role, pusherRegisterUrls);
1542
1569
  return React__default.createElement(Fragment$1, null, children);
1543
1570
  };
1544
1571
 
@@ -1558,21 +1585,18 @@ var ConfirmDialog = function ConfirmDialog(_ref) {
1558
1585
  setConfirmTextValue = _useState[1];
1559
1586
  var _useTranslation = useTranslation(),
1560
1587
  t = _useTranslation.t;
1561
- var _useLanguage = useLanguage(),
1562
- currentLanguage = _useLanguage.currentLanguage;
1563
1588
  var handleConfirm = function handleConfirm() {
1564
1589
  onConfirm();
1565
1590
  };
1566
1591
  var handleChangeConfirmText = function handleChangeConfirmText(e) {
1567
1592
  setConfirmTextValue(e.target.value);
1568
1593
  };
1569
- var handlePaste = function handlePaste(e) {
1570
- e.preventDefault();
1571
- };
1594
+ var handlePaste = function handlePaste(_) {};
1572
1595
  useEffect(function () {
1573
1596
  !open && setConfirmTextValue(undefined);
1574
1597
  }, [open]);
1575
1598
  var isValid = !!confirmText && !!confirmTextValue && confirmTextValue.trim() === confirmText.trim();
1599
+ var isDisableDelete = !!confirmText && (confirmTextValue === null || confirmTextValue === void 0 ? void 0 : confirmTextValue.trim()) !== confirmText.trim();
1576
1600
  return React__default.createElement(Dialog, {
1577
1601
  open: open,
1578
1602
  onClose: toggle,
@@ -1597,9 +1621,15 @@ var ConfirmDialog = function ConfirmDialog(_ref) {
1597
1621
  }
1598
1622
  }, React__default.createElement(IoClose, null))), React__default.createElement(DialogContent, {
1599
1623
  className: "pt-2"
1600
- }, React__default.createElement("p", null, React__default.createElement("strong", null, text)), !!confirmText && React__default.createElement("div", {
1624
+ }, React__default.createElement("p", {
1625
+ className: "mb-1"
1626
+ }, React__default.createElement("strong", null, text)), !!confirmText && React__default.createElement("div", {
1601
1627
  className: "w-100"
1602
- }, (currentLanguage === null || currentLanguage === void 0 ? void 0 : currentLanguage.code) === 'en' ? React__default.createElement("p", null, "Enter ", React__default.createElement("strong", null, confirmText), " to confirm delete") : React__default.createElement("p", null, "\uC785\uB825\uD558\uB2E4 ", React__default.createElement("strong", null, confirmText), " \uC0AD\uC81C\uB97C \uD655\uC778\uD558\uB824\uBA74"), React__default.createElement(TextField, {
1628
+ }, React__default.createElement("p", {
1629
+ className: "mb-3"
1630
+ }, t("enter_text_to_confirm_delete", {
1631
+ text: confirmText
1632
+ })), React__default.createElement(TextField, {
1603
1633
  className: "w-100",
1604
1634
  sx: {
1605
1635
  "& input": {
@@ -1623,7 +1653,7 @@ var ConfirmDialog = function ConfirmDialog(_ref) {
1623
1653
  variant: "contained",
1624
1654
  color: isDelete ? "error" : "primary",
1625
1655
  className: "px-3",
1626
- disabled: !!confirmText && (confirmTextValue === null || confirmTextValue === void 0 ? void 0 : confirmTextValue.trim()) !== confirmText.trim(),
1656
+ disabled: isDisableDelete,
1627
1657
  onClick: handleConfirm
1628
1658
  }, okText || t('yes'))));
1629
1659
  };
@@ -1849,6 +1879,8 @@ var here = "여기";
1849
1879
  var do_you_want_to_complete_the_exam = "시험을 완료처리 하시겠습니까?";
1850
1880
  var are_you_sure_you_want_to_delete_the_exam = "시험을 삭제하시겠습니까?";
1851
1881
  var are_you_sure_you_want_to_delete_the_textbook = "교과서를 삭제하시겠습니까?";
1882
+ var are_you_sure_you_want_to_delete_the_user = "사용자 {{user}}을(를) 삭제하시겠습니까?";
1883
+ var are_you_sure_you_want_to_delete_the_article = "정말로 기사를 삭제하시겠습니까: {{article}}?";
1852
1884
  var yes = "예";
1853
1885
  var no = "아니요";
1854
1886
  var cancel = "취소";
@@ -1875,13 +1907,18 @@ var number_problem = "{{number}}문제";
1875
1907
  var problems = "문제";
1876
1908
  var problem_solving_time = "문제풀이 시간";
1877
1909
  var minutes = "분";
1878
- var correct_rate = "정확한 비율";
1910
+ var correct_rate = "정답률";
1879
1911
  var title = "제목";
1880
1912
  var duration = "시험 시간";
1881
1913
  var answer_count = "답변 수";
1882
1914
  var question_count = "문제 갯수";
1915
+ var multi_choice = "여러 개임";
1883
1916
  var category = "문항 카테고리";
1884
1917
  var _category = "카테고리";
1918
+ var score = "점수";
1919
+ var enter_score = "점수 입력";
1920
+ var exam_title_required = "시험 제목은 필수 항목입니다";
1921
+ var question_category_required = "질문 카테고리는 필수 항목입니다";
1885
1922
  var save_and_exit = "저장 및 종료";
1886
1923
  var update_exam = "시험 업데이트";
1887
1924
  var create_exam = "새 시험 만들기";
@@ -1906,12 +1943,16 @@ var end_date = "종료일";
1906
1943
  var weekly_day = "주간";
1907
1944
  var weekly_days = "주간";
1908
1945
  var enter_class_name = "수업 이름을 입력하세요";
1909
- var name = "이름";
1946
+ var class_required = "수업 이름은 필수 항목입니다";
1910
1947
  var total_teachers = "총 교사 수";
1948
+ var start_date_required = "시작일은 필수 항목입니다";
1949
+ var end_date_required = "종료일은 필수 항목입니다";
1950
+ var name = "이름";
1911
1951
  var full_name = "이름";
1912
1952
  var email = "이메일";
1953
+ var is_paid = "지급됨";
1954
+ var payment_time = "결제 시간";
1913
1955
  var payments = "지불";
1914
- var view_payments = "결제 보기";
1915
1956
  var sunday = "일요일";
1916
1957
  var monday = "월요일";
1917
1958
  var tuesday = "화요일";
@@ -1920,7 +1961,9 @@ var thursday = "목요일";
1920
1961
  var friday = "금요일";
1921
1962
  var saturday = "토요일";
1922
1963
  var total_lessons = "총 수업";
1964
+ var is_cancelled = "취소되었습니다";
1923
1965
  var weekly_days_required = "평일 필수";
1966
+ var main_teacher_required = "주 교사가 필요합니다";
1924
1967
  var main_teacher = "주 교사";
1925
1968
  var the_first = "첫번째";
1926
1969
  var the_second = "두번째";
@@ -2186,7 +2229,7 @@ var password = "비밀번호";
2186
2229
  var email_address = "이메일 주소";
2187
2230
  var please_enter_your_question = "질문할 내용을 입력해주세요.";
2188
2231
  var test_selection = "테스트 선택";
2189
- var half_selection = "절반 선택";
2232
+ var half_selection = " 선택";
2190
2233
  var choose_a_problem = "문제를 선택하세요";
2191
2234
  var question_content = "질문 내용";
2192
2235
  var questions_to_ask = "질문할 문제";
@@ -2254,7 +2297,7 @@ var subject_name = "주체 이름";
2254
2297
  var are_you_sure_to_delete_subject = "제목을 삭제하시겠습니까:";
2255
2298
  var drop_a_file_here_or_click_to_browse = "여기에 파일을 놓거나 클릭하여 찾아보세요.";
2256
2299
  var delete_users_csv = "사용자 CSV 삭제";
2257
- var are_you_sure_to_delete_user = "사용자를 삭제하시겠습니까:";
2300
+ var are_you_sure_to_delete_users = "사용자를 삭제하시겠습니까?";
2258
2301
  var enter_phone_number = "전화번호를 입력하세요";
2259
2302
  var enter_school_name = "학교 이름을 입력하세요";
2260
2303
  var enter_grade = "성적 입력";
@@ -2269,6 +2312,7 @@ var export_csv = "CSV 내보내기";
2269
2312
  var select_type = "유형 선택";
2270
2313
  var no_message = "메시지 없음";
2271
2314
  var this_is_the_guidance_text = "안내 텍스트입니다.";
2315
+ var the_page_you_are_looking_for_was_not_found = "찾으시는 페이지를 찾을 수 없습니다.";
2272
2316
  var oops = "이런! 당신이졌다.";
2273
2317
  var please_enter = "들어 오세요...";
2274
2318
  var hint = "힌트";
@@ -2321,6 +2365,8 @@ var teacher = "선생님";
2321
2365
  var role = "역할";
2322
2366
  var total_uses = "총 사용량";
2323
2367
  var create_question = "질문 만들기";
2368
+ var parent_question = "학부모 질문";
2369
+ var edit_question = "질문 수정";
2324
2370
  var articles = "조항";
2325
2371
  var add_lesson = "레슨 추가";
2326
2372
  var date = "날짜";
@@ -2328,6 +2374,96 @@ var the_code_has_been_copied_to_your_clipboard = "코드가 클립보드에 복
2328
2374
  var an_unexpected_error_has_occurred = "예상치 못한 오류가 발생했습니다";
2329
2375
  var select_roles = "역할 선택";
2330
2376
  var no_academy_selected = "선택한 아카데미 없음";
2377
+ var delete_data_successfully = "데이터를 성공적으로 삭제했습니다.";
2378
+ var update_academy_successfully = "아카데미를 성공적으로 업데이트했습니다";
2379
+ var create_academy_successfully = "아카데미를 성공적으로 만들었습니다";
2380
+ var update_article_successfully = "기사를 업데이트했습니다.";
2381
+ var create_article_successfully = "기사를 성공적으로 작성했습니다.";
2382
+ var update_category_successfully = "카테고리를 업데이트했습니다.";
2383
+ var create_category_successfully = "카테고리가 성공적으로 생성되었습니다.";
2384
+ var please_fill_in_all_fields_for_this = "이번 {{day}}에 대한 모든 필드를 작성해 주세요.";
2385
+ var duplicate_weekly_day = "주간 일이 중복됩니다.";
2386
+ var remove_lesson_failed = "강의 삭제 실패";
2387
+ var update_lesson_successfully = "강의를 성공적으로 업데이트했습니다.";
2388
+ var create_lesson_successfully = "수업을 성공적으로 만들었습니다.";
2389
+ var update_class_successfully = "수업을 업데이트했습니다.";
2390
+ var create_class_successfully = "수업을 성공적으로 만들었습니다";
2391
+ var start_times_and_end_times_are_required = "시작 시간과 종료 시간은 필수 항목입니다.";
2392
+ var start_times_must_be_less_than_end_time = "시작 시간은 종료 시간보다 이전이어야 합니다.";
2393
+ var remove_student_successfully = "학생을 성공적으로 제거했습니다.";
2394
+ var remove_teacher_successfully = "교사를 삭제했습니다.";
2395
+ var update_notification_successfully = "업데이트 알림이 성공적으로 완료되었습니다.";
2396
+ var create_notification_successfully = "알림이 성공적으로 생성되었습니다.";
2397
+ var please_select_category = "카테고리를 선택해주세요";
2398
+ var update_social_successfully = "소셜 업데이트를 성공적으로 완료했습니다.";
2399
+ var import_csv_successfully = "CSV를 성공적으로 가져왔습니다.";
2400
+ var download_successfully = "성공적으로 다운로드";
2401
+ var file_type_not_valid = "파일 형식이 잘못되었습니다! csv 파일을 업로드해주세요.";
2402
+ var upload_image_successfully = "이미지를 성공적으로 업로드했습니다.";
2403
+ var category_is_required = "카테고리는 필수 항목입니다.";
2404
+ var textbook_name_is_required = "교과서 이름이 필요합니다";
2405
+ var textbook_subject_is_required = "교과서 과목은 필수입니다";
2406
+ var update_the_textbook_successfully = "교과서를 성공적으로 업데이트했습니다.";
2407
+ var create_the_textbook_successfully = "교과서를 성공적으로 만들었습니다.";
2408
+ var finish_exam_successful = "시험을 성공적으로 마쳤습니다";
2409
+ var you_has_been_kicked_out = "당신은 쫓겨났습니다";
2410
+ var the_teacher_has_closed_or_deleted_the_exam = "선생님이 시험을 종료했거나 삭제했습니다. 나중에 다시 시도해 주세요.";
2411
+ var check_in_lesson_successfully = "수업 체크인 성공";
2412
+ var update_attendance_status_successfully = "출석 상태를 성공적으로 업데이트했습니다.";
2413
+ var save_exam_successfully = "시험을 성공적으로 저장했습니다.";
2414
+ var kick_out_student_successful = "학생 퇴출 성공!";
2415
+ var please_select_an_exam_subject = "시험과목을 선택해주세요";
2416
+ var please_enter_exam_title = "시험 제목을 입력해주세요";
2417
+ var exam_required_at_least_one_question = "시험에는 하나 이상의 질문이 필요합니다.";
2418
+ var create_exam_failed = "시험 생성 실패";
2419
+ var please_select_category_for_article = "기사 {{article}}의 카테고리를 선택하세요.";
2420
+ var placeholder_student_selector = "검색하려면 2자 이상 입력하세요.";
2421
+ var error_uploading_file = "파일을 업로드하는 중 오류가 발생했습니다.";
2422
+ var remove_lesson_successfully = "강의를 성공적으로 삭제했습니다.";
2423
+ var user_not_allow_to_register_role = "{{user}}이(가) {{role}} 등록을 허용하지 않습니다.";
2424
+ var are_you_sure_to_delete_article_from_chapter = "{{chapterName}} 장에서 기사 {{articleNumber}}을(를) 삭제하시겠습니까?";
2425
+ var are_you_sure_to_delete_subchapter_from_chapter = "{{chapter}} 장에서 {{subchapter}} 하위 장을 삭제하시겠습니까?";
2426
+ var are_you_sure_to_delete_chapter_from_textbook = "교과서 {{chapter}}에서 {{textbook}}장을 삭제하시겠습니까?";
2427
+ var do_you_want_to_quit_your_exam = "당신의 시험을 종료하시겠습니까?";
2428
+ var home = "집";
2429
+ var profile = "프로필";
2430
+ var settings = "설정";
2431
+ var sign_up_school_information = "회원가입 - 학교정보";
2432
+ var korean_high_school = "한국 고등학교";
2433
+ var sign_up_student_information = "회원가입 - 학생정보";
2434
+ var placeholder_student_name = "김ㅇㅇ";
2435
+ var student_name_is_required = "학생 이름은 필수입니다!";
2436
+ var the_parent_phone_is_not_valid = "부모 전화번호가 유효하지 않습니다.";
2437
+ var the_number_must_be_11_number_or_10_number = "숫자는 11자리 또는 10자리여야 합니다.";
2438
+ var difficult_level = "어려운 수준";
2439
+ var difficulty_explain = "설명하기 어려움";
2440
+ var explain_your_answer = "Explain your answer";
2441
+ var add_new_row = "답을 설명하세요";
2442
+ var question_text_required = "질문 텍스트가 필요합니다";
2443
+ var create_question_success = "질문이 성공적으로 생성되었습니다";
2444
+ var update_question_success = "질문이 성공적으로 업데이트되었습니다";
2445
+ var number_of_answers = "답변 수";
2446
+ var correct_answers = "올바른 답";
2447
+ var correct_answer = "정답";
2448
+ var mark = "표시";
2449
+ var easy = "쉬운";
2450
+ var intermediate = "중급";
2451
+ var difficult = "어려운";
2452
+ var answer_error_create_question = "답변 오류 질문 만들기";
2453
+ var answer_must_have_text = "답변에는 텍스트가 있어야 합니다.";
2454
+ var mark_must_be_positive_number = "표시는 양수여야 합니다.";
2455
+ var duplicate_token_in_answer = "답변에 중복된 토큰이 있습니다.";
2456
+ var please_select_answer_for_all_blank = "모두 비어 있는 경우 답을 선택하세요.";
2457
+ var please_create_at_least_2_option = "옵션을 2개 이상 생성하세요.";
2458
+ var please_choose_correct_answer = "정답을 선택해주세요";
2459
+ var please_create_at_least_2_option_to_order = "주문하려면 최소 2개의 옵션을 생성하세요.";
2460
+ var please_select_valid_order = "유효한 주문을 선택하세요.";
2461
+ var please_fill_in_all_matching_text = "일치하는 텍스트를 모두 입력하세요.";
2462
+ var get_exam_detail_error = "시험 세부 정보 가져오기 오류";
2463
+ var full_name_is_required = "성명은 필수 항목입니다";
2464
+ var email_is_required = "이메일은 필수입니다";
2465
+ var not_found = "찾을 수 없음";
2466
+ var enter_text_to_confirm_delete = "삭제를 확인하려면 \"{{text}}\" 를 입력하세요";
2331
2467
  var lang_ko = {
2332
2468
  problem_solving: problem_solving,
2333
2469
  my_story: my_story,
@@ -2371,6 +2507,8 @@ var lang_ko = {
2371
2507
  do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam,
2372
2508
  are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam,
2373
2509
  are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook,
2510
+ are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user,
2511
+ are_you_sure_you_want_to_delete_the_article: are_you_sure_you_want_to_delete_the_article,
2374
2512
  yes: yes,
2375
2513
  no: no,
2376
2514
  cancel: cancel,
@@ -2402,8 +2540,13 @@ var lang_ko = {
2402
2540
  duration: duration,
2403
2541
  answer_count: answer_count,
2404
2542
  question_count: question_count,
2543
+ multi_choice: multi_choice,
2405
2544
  category: category,
2406
2545
  _category: _category,
2546
+ score: score,
2547
+ enter_score: enter_score,
2548
+ exam_title_required: exam_title_required,
2549
+ question_category_required: question_category_required,
2407
2550
  save_and_exit: save_and_exit,
2408
2551
  update_exam: update_exam,
2409
2552
  create_exam: create_exam,
@@ -2429,12 +2572,16 @@ var lang_ko = {
2429
2572
  weekly_day: weekly_day,
2430
2573
  weekly_days: weekly_days,
2431
2574
  enter_class_name: enter_class_name,
2432
- name: name,
2575
+ class_required: class_required,
2433
2576
  total_teachers: total_teachers,
2577
+ start_date_required: start_date_required,
2578
+ end_date_required: end_date_required,
2579
+ name: name,
2434
2580
  full_name: full_name,
2435
2581
  email: email,
2582
+ is_paid: is_paid,
2583
+ payment_time: payment_time,
2436
2584
  payments: payments,
2437
- view_payments: view_payments,
2438
2585
  sunday: sunday,
2439
2586
  monday: monday,
2440
2587
  tuesday: tuesday,
@@ -2443,7 +2590,9 @@ var lang_ko = {
2443
2590
  friday: friday,
2444
2591
  saturday: saturday,
2445
2592
  total_lessons: total_lessons,
2593
+ is_cancelled: is_cancelled,
2446
2594
  weekly_days_required: weekly_days_required,
2595
+ main_teacher_required: main_teacher_required,
2447
2596
  main_teacher: main_teacher,
2448
2597
  the_first: the_first,
2449
2598
  the_second: the_second,
@@ -2767,7 +2916,7 @@ var lang_ko = {
2767
2916
  are_you_sure_to_delete_subject: are_you_sure_to_delete_subject,
2768
2917
  drop_a_file_here_or_click_to_browse: drop_a_file_here_or_click_to_browse,
2769
2918
  delete_users_csv: delete_users_csv,
2770
- are_you_sure_to_delete_user: are_you_sure_to_delete_user,
2919
+ are_you_sure_to_delete_users: are_you_sure_to_delete_users,
2771
2920
  enter_phone_number: enter_phone_number,
2772
2921
  enter_school_name: enter_school_name,
2773
2922
  enter_grade: enter_grade,
@@ -2782,7 +2931,7 @@ var lang_ko = {
2782
2931
  select_type: select_type,
2783
2932
  no_message: no_message,
2784
2933
  this_is_the_guidance_text: this_is_the_guidance_text,
2785
- "the_page_you_are_looking_for_was_not_found.": "찾으시는 페이지를 찾을 수 없습니다.",
2934
+ the_page_you_are_looking_for_was_not_found: the_page_you_are_looking_for_was_not_found,
2786
2935
  oops: oops,
2787
2936
  please_enter: please_enter,
2788
2937
  hint: hint,
@@ -2836,13 +2985,105 @@ var lang_ko = {
2836
2985
  role: role,
2837
2986
  total_uses: total_uses,
2838
2987
  create_question: create_question,
2988
+ parent_question: parent_question,
2989
+ edit_question: edit_question,
2839
2990
  articles: articles,
2840
2991
  add_lesson: add_lesson,
2841
2992
  date: date,
2842
2993
  the_code_has_been_copied_to_your_clipboard: the_code_has_been_copied_to_your_clipboard,
2843
2994
  an_unexpected_error_has_occurred: an_unexpected_error_has_occurred,
2844
2995
  select_roles: select_roles,
2845
- no_academy_selected: no_academy_selected
2996
+ no_academy_selected: no_academy_selected,
2997
+ delete_data_successfully: delete_data_successfully,
2998
+ update_academy_successfully: update_academy_successfully,
2999
+ create_academy_successfully: create_academy_successfully,
3000
+ update_article_successfully: update_article_successfully,
3001
+ create_article_successfully: create_article_successfully,
3002
+ update_category_successfully: update_category_successfully,
3003
+ create_category_successfully: create_category_successfully,
3004
+ please_fill_in_all_fields_for_this: please_fill_in_all_fields_for_this,
3005
+ duplicate_weekly_day: duplicate_weekly_day,
3006
+ remove_lesson_failed: remove_lesson_failed,
3007
+ update_lesson_successfully: update_lesson_successfully,
3008
+ create_lesson_successfully: create_lesson_successfully,
3009
+ update_class_successfully: update_class_successfully,
3010
+ create_class_successfully: create_class_successfully,
3011
+ start_times_and_end_times_are_required: start_times_and_end_times_are_required,
3012
+ start_times_must_be_less_than_end_time: start_times_must_be_less_than_end_time,
3013
+ remove_student_successfully: remove_student_successfully,
3014
+ remove_teacher_successfully: remove_teacher_successfully,
3015
+ update_notification_successfully: update_notification_successfully,
3016
+ create_notification_successfully: create_notification_successfully,
3017
+ please_select_category: please_select_category,
3018
+ update_social_successfully: update_social_successfully,
3019
+ import_csv_successfully: import_csv_successfully,
3020
+ download_successfully: download_successfully,
3021
+ file_type_not_valid: file_type_not_valid,
3022
+ upload_image_successfully: upload_image_successfully,
3023
+ category_is_required: category_is_required,
3024
+ textbook_name_is_required: textbook_name_is_required,
3025
+ textbook_subject_is_required: textbook_subject_is_required,
3026
+ update_the_textbook_successfully: update_the_textbook_successfully,
3027
+ create_the_textbook_successfully: create_the_textbook_successfully,
3028
+ finish_exam_successful: finish_exam_successful,
3029
+ you_has_been_kicked_out: you_has_been_kicked_out,
3030
+ the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam,
3031
+ check_in_lesson_successfully: check_in_lesson_successfully,
3032
+ update_attendance_status_successfully: update_attendance_status_successfully,
3033
+ save_exam_successfully: save_exam_successfully,
3034
+ kick_out_student_successful: kick_out_student_successful,
3035
+ please_select_an_exam_subject: please_select_an_exam_subject,
3036
+ please_enter_exam_title: please_enter_exam_title,
3037
+ exam_required_at_least_one_question: exam_required_at_least_one_question,
3038
+ create_exam_failed: create_exam_failed,
3039
+ please_select_category_for_article: please_select_category_for_article,
3040
+ placeholder_student_selector: placeholder_student_selector,
3041
+ error_uploading_file: error_uploading_file,
3042
+ remove_lesson_successfully: remove_lesson_successfully,
3043
+ user_not_allow_to_register_role: user_not_allow_to_register_role,
3044
+ are_you_sure_to_delete_article_from_chapter: are_you_sure_to_delete_article_from_chapter,
3045
+ are_you_sure_to_delete_subchapter_from_chapter: are_you_sure_to_delete_subchapter_from_chapter,
3046
+ are_you_sure_to_delete_chapter_from_textbook: are_you_sure_to_delete_chapter_from_textbook,
3047
+ do_you_want_to_quit_your_exam: do_you_want_to_quit_your_exam,
3048
+ home: home,
3049
+ profile: profile,
3050
+ settings: settings,
3051
+ sign_up_school_information: sign_up_school_information,
3052
+ korean_high_school: korean_high_school,
3053
+ sign_up_student_information: sign_up_student_information,
3054
+ placeholder_student_name: placeholder_student_name,
3055
+ student_name_is_required: student_name_is_required,
3056
+ the_parent_phone_is_not_valid: the_parent_phone_is_not_valid,
3057
+ the_number_must_be_11_number_or_10_number: the_number_must_be_11_number_or_10_number,
3058
+ difficult_level: difficult_level,
3059
+ difficulty_explain: difficulty_explain,
3060
+ explain_your_answer: explain_your_answer,
3061
+ add_new_row: add_new_row,
3062
+ question_text_required: question_text_required,
3063
+ create_question_success: create_question_success,
3064
+ update_question_success: update_question_success,
3065
+ number_of_answers: number_of_answers,
3066
+ correct_answers: correct_answers,
3067
+ correct_answer: correct_answer,
3068
+ mark: mark,
3069
+ easy: easy,
3070
+ intermediate: intermediate,
3071
+ difficult: difficult,
3072
+ answer_error_create_question: answer_error_create_question,
3073
+ answer_must_have_text: answer_must_have_text,
3074
+ mark_must_be_positive_number: mark_must_be_positive_number,
3075
+ duplicate_token_in_answer: duplicate_token_in_answer,
3076
+ please_select_answer_for_all_blank: please_select_answer_for_all_blank,
3077
+ please_create_at_least_2_option: please_create_at_least_2_option,
3078
+ please_choose_correct_answer: please_choose_correct_answer,
3079
+ please_create_at_least_2_option_to_order: please_create_at_least_2_option_to_order,
3080
+ please_select_valid_order: please_select_valid_order,
3081
+ please_fill_in_all_matching_text: please_fill_in_all_matching_text,
3082
+ get_exam_detail_error: get_exam_detail_error,
3083
+ full_name_is_required: full_name_is_required,
3084
+ email_is_required: email_is_required,
3085
+ not_found: not_found,
3086
+ enter_text_to_confirm_delete: enter_text_to_confirm_delete
2846
3087
  };
2847
3088
 
2848
3089
  var problem_solving$1 = "Problem Solving";
@@ -2885,7 +3126,8 @@ var here$1 = "here";
2885
3126
  var do_you_want_to_complete_the_exam$1 = "Do you want to complete the exam?";
2886
3127
  var are_you_sure_you_want_to_delete_the_exam$1 = "Are you sure you want to delete the exam?";
2887
3128
  var are_you_sure_you_want_to_delete_the_textbook$1 = "Are you sure you want to delete the textbook?";
2888
- var are_you_sure_you_want_to_delete_user = "Are you sure you want to delete: {{user}}?";
3129
+ var are_you_sure_you_want_to_delete_the_user$1 = "Are you sure you want to delete the user: {{user}}?";
3130
+ var are_you_sure_you_want_to_delete_the_article$1 = "Are you sure you want to delete the article: {{article}}?";
2889
3131
  var yes$1 = "Yes";
2890
3132
  var no$1 = "No";
2891
3133
  var cancel$1 = "Cancel";
@@ -2913,38 +3155,38 @@ var problems$1 = "Problems";
2913
3155
  var problem_solving_time$1 = "Problem solving time";
2914
3156
  var minutes$1 = "m";
2915
3157
  var correct_rate$1 = "Correct rate";
2916
- var difficult_level = "Difficult level";
2917
- var difficulty_explain = "(The Difficulty Level provides an indication of the difficulty level of each test question)";
2918
- var explain_your_answer = "Explain your answer";
3158
+ var difficult_level$1 = "Difficult level";
3159
+ var difficulty_explain$1 = "(The Difficulty Level provides an indication of the difficulty level of each test question)";
3160
+ var explain_your_answer$1 = "Explain your answer";
2919
3161
  var hint$1 = "Hint";
2920
3162
  var save_and_add_next_question$1 = "Save and add next question";
2921
3163
  var save_and_exit$1 = "Save and exit";
2922
3164
  var question_text$1 = "Question text";
2923
3165
  var title$1 = "Title";
2924
3166
  var create_question$1 = "Create question";
2925
- var parent_question = "Parent question";
2926
- var edit_question = "Edit question";
3167
+ var parent_question$1 = "Parent question";
3168
+ var edit_question$1 = "Edit question";
2927
3169
  var edit$1 = "Edit";
2928
- var easy = "Easy";
2929
- var intermediate = "Intermediate";
2930
- var difficult = "Difficult";
3170
+ var easy$1 = "Easy";
3171
+ var intermediate$1 = "Intermediate";
3172
+ var difficult$1 = "Difficult";
2931
3173
  var article$1 = "Article";
2932
- var correct_answer = "Correct answer";
2933
- var mark = "Mark";
3174
+ var correct_answer$1 = "Correct answer";
3175
+ var mark$1 = "Mark";
2934
3176
  var answer$1 = "Answer";
2935
- var add_new_row = "Add new row";
2936
- var question_text_required = "Question text is required";
2937
- var create_question_success = "Question is created successfully";
2938
- var update_question_success = "Question is updated successfully";
2939
- var number_of_answers = "Number of answers";
2940
- var correct_answers = "Correct answers";
3177
+ var add_new_row$1 = "Add new row";
3178
+ var question_text_required$1 = "Question text is required";
3179
+ var create_question_success$1 = "Question is created successfully";
3180
+ var update_question_success$1 = "Question is updated successfully";
3181
+ var number_of_answers$1 = "Number of answers";
3182
+ var correct_answers$1 = "Correct answers";
2941
3183
  var category$1 = "Category";
2942
3184
  var _category$1 = "Category";
2943
- var score = "Score";
3185
+ var score$1 = "Score";
2944
3186
  var enter_title$1 = "Enter title";
2945
- var enter_score = "Enter score";
2946
- var exam_title_required = "Exam title is required";
2947
- var question_category_required = "Question category is required";
3187
+ var enter_score$1 = "Enter score";
3188
+ var exam_title_required$1 = "Exam title is required";
3189
+ var question_category_required$1 = "Question category is required";
2948
3190
  var start_time$1 = "Start time";
2949
3191
  var end_time$1 = "End time";
2950
3192
  var start_date$1 = "Start date";
@@ -2952,20 +3194,20 @@ var end_date$1 = "End date";
2952
3194
  var weekly_day$1 = "Weekly day";
2953
3195
  var weekly_days$1 = "Weekly days";
2954
3196
  var enter_class_name$1 = "Enter class name";
2955
- var class_required = "Class name is required";
3197
+ var class_required$1 = "Class name is required";
2956
3198
  var total_teachers$1 = "Total teachers";
2957
- var start_date_required = "Start date is required";
2958
- var end_date_required = "End date is required";
3199
+ var start_date_required$1 = "Start date is required";
3200
+ var end_date_required$1 = "End date is required";
3201
+ var name$1 = "Name";
2959
3202
  var full_name$1 = "Full name";
2960
3203
  var email$1 = "Email";
2961
- var is_paid = "Is paid";
2962
- var payment_time = "Payment time";
2963
- var create_and_continue$1 = "Create and continue";
3204
+ var is_paid$1 = "Is paid";
3205
+ var payment_time$1 = "Payment time";
2964
3206
  var payments$1 = "Payments";
2965
3207
  var duration$1 = "Duration";
2966
3208
  var answer_count$1 = "Answer count";
2967
3209
  var question_count$1 = "Question count";
2968
- var multi_choice = "Is multiple";
3210
+ var multi_choice$1 = "Is multiple";
2969
3211
  var select_placeholder$1 = "Select...";
2970
3212
  var view_exam$1 = "View exam";
2971
3213
  var update_exam$1 = "Update exam";
@@ -2980,7 +3222,6 @@ var code$1 = "Code";
2980
3222
  var type$1 = "Type";
2981
3223
  var description$1 = "Description";
2982
3224
  var actions$1 = "Actions";
2983
- var name$1 = "Name";
2984
3225
  var sunday$1 = "Sunday";
2985
3226
  var monday$1 = "Monday";
2986
3227
  var tuesday$1 = "Tuesday";
@@ -2989,11 +3230,11 @@ var thursday$1 = "Thursday";
2989
3230
  var friday$1 = "Friday";
2990
3231
  var saturday$1 = "Saturday";
2991
3232
  var total_lessons$1 = "Total lessons";
2992
- var is_cancelled = "Is cancelled";
3233
+ var is_cancelled$1 = "Is cancelled";
2993
3234
  var date$1 = "Date";
2994
3235
  var weekly_days_required$1 = "Weekly days are required";
2995
3236
  var main_teacher$1 = "Main teacher";
2996
- var main_teacher_required = "Main teacher is required";
3237
+ var main_teacher_required$1 = "Main teacher is required";
2997
3238
  var teacher$1 = "Teacher";
2998
3239
  var the_first$1 = "The first";
2999
3240
  var the_second$1 = "The second";
@@ -3065,6 +3306,8 @@ var waiting_for_all_students_to_complete_the_exam$1 = "Waiting for all students
3065
3306
  var created_at$1 = "Created";
3066
3307
  var name_required$1 = "Name is required";
3067
3308
  var type_required$1 = "Type is required";
3309
+ var link_required$1 = "Link is required";
3310
+ var create_and_continue$1 = "Create and continue";
3068
3311
  var content$1 = "Content";
3069
3312
  var color$1 = "Color";
3070
3313
  var link$1 = "Link";
@@ -3256,7 +3499,7 @@ var password$1 = "Password";
3256
3499
  var email_address$1 = "Email Address";
3257
3500
  var please_enter_your_question$1 = "Please enter your question.";
3258
3501
  var test_selection$1 = "Test selection";
3259
- var half_selection$1 = "Half selection";
3502
+ var half_selection$1 = "Selection class";
3260
3503
  var choose_a_problem$1 = "Choose a problem";
3261
3504
  var question_content$1 = "Question content";
3262
3505
  var questions_to_ask$1 = "Questions to ask";
@@ -3324,7 +3567,7 @@ var subject_name$1 = "Subject name";
3324
3567
  var are_you_sure_to_delete_subject$1 = "Are you sure to delete subject:";
3325
3568
  var drop_a_file_here_or_click_to_browse$1 = "Drop a file here or click to browse";
3326
3569
  var delete_users_csv$1 = "Delete users csv";
3327
- var are_you_sure_to_delete_user$1 = "Are you sure to delete user:";
3570
+ var are_you_sure_to_delete_users$1 = "Are you sure to delete users?";
3328
3571
  var enter_phone_number$1 = "Enter phone number";
3329
3572
  var enter_school_name$1 = "Enter school name";
3330
3573
  var enter_grade$1 = "Enter grade";
@@ -3339,6 +3582,7 @@ var export_csv$1 = "Export csv";
3339
3582
  var select_type$1 = "Select type";
3340
3583
  var no_message$1 = "No message";
3341
3584
  var this_is_the_guidance_text$1 = "This is the guidance text.";
3585
+ var the_page_you_are_looking_for_was_not_found$1 = "The page you are looking for was not found.";
3342
3586
  var oops$1 = "Oops! You are lost.";
3343
3587
  var please_enter$1 = "Please enter...";
3344
3588
  var notifications$1 = "Notifications";
@@ -3391,6 +3635,82 @@ var the_code_has_been_copied_to_your_clipboard$1 = "The code has been copied to
3391
3635
  var an_unexpected_error_has_occurred$1 = "An unexpected error has occurred";
3392
3636
  var select_roles$1 = "Select roles";
3393
3637
  var no_academy_selected$1 = "No Academy Selected";
3638
+ var delete_data_successfully$1 = "Delete data successfully";
3639
+ var update_academy_successfully$1 = "Update academy successfully";
3640
+ var create_academy_successfully$1 = "Create academy successfully";
3641
+ var update_article_successfully$1 = "Update article successfully";
3642
+ var create_article_successfully$1 = "Create article successfully";
3643
+ var update_category_successfully$1 = "Update category successfully";
3644
+ var create_category_successfully$1 = "Create category successfully";
3645
+ var please_fill_in_all_fields_for_this$1 = "Please fill in all fields for this {{day}}";
3646
+ var duplicate_weekly_day$1 = "Duplicate weekly day";
3647
+ var remove_lesson_failed$1 = "Remove lesson failed";
3648
+ var update_lesson_successfully$1 = "Update lesson successfully";
3649
+ var create_lesson_successfully$1 = "Create lesson successfully";
3650
+ var update_class_successfully$1 = "Update class successfully";
3651
+ var create_class_successfully$1 = "Create class successfully";
3652
+ var start_times_and_end_times_are_required$1 = "Start times and end times are required";
3653
+ var start_times_must_be_less_than_end_time$1 = "Start times must be less than end time";
3654
+ var remove_student_successfully$1 = "Remove student successfully";
3655
+ var remove_teacher_successfully$1 = "Remove teacher successfully";
3656
+ var update_notification_successfully$1 = "Update Notification successfully";
3657
+ var create_notification_successfully$1 = "Create Notification successfully";
3658
+ var please_select_category$1 = "Please select category";
3659
+ var update_social_successfully$1 = "Update social successfully";
3660
+ var import_csv_successfully$1 = "Import CSV successfully";
3661
+ var download_successfully$1 = "Download successfully";
3662
+ var file_type_not_valid$1 = "File type not valid! Please upload a csv file.";
3663
+ var upload_image_successfully$1 = "Upload image successfully";
3664
+ var category_is_required$1 = "Category is required";
3665
+ var textbook_name_is_required$1 = "Textbook name is required";
3666
+ var textbook_subject_is_required$1 = "Textbook subject is required";
3667
+ var update_the_textbook_successfully$1 = "Update the textbook successfully";
3668
+ var create_the_textbook_successfully$1 = "Create the textbook successfully";
3669
+ var finish_exam_successful$1 = "Finish exam successful";
3670
+ var you_has_been_kicked_out$1 = "You has been kicked out";
3671
+ var the_teacher_has_closed_or_deleted_the_exam$1 = "The teacher has closed or deleted the exam, please try again later";
3672
+ var check_in_lesson_successfully$1 = "Check in lesson successfully";
3673
+ var update_attendance_status_successfully$1 = "Update attendance status successfully";
3674
+ var save_exam_successfully$1 = "Save exam successfully";
3675
+ var kick_out_student_successful$1 = "Kick out student successful!";
3676
+ var please_select_an_exam_subject$1 = "Please select an exam subject";
3677
+ var please_enter_exam_title$1 = "Please enter exam title";
3678
+ var exam_required_at_least_one_question$1 = "Exam required at least one question";
3679
+ var create_exam_failed$1 = "Create exam failed";
3680
+ var please_select_category_for_article$1 = "Please select category for article {{article}}";
3681
+ var placeholder_student_selector$1 = "Type at least 2 characters to search";
3682
+ var error_uploading_file$1 = "Error uploading file";
3683
+ var remove_lesson_successfully$1 = "Remove lesson successfully";
3684
+ var user_not_allow_to_register_role$1 = "{{user}} not allow to register {{role}}";
3685
+ var are_you_sure_to_delete_article_from_chapter$1 = "Are you sure to delete article {{articleNumber}} from chapter {{chapterName}}?";
3686
+ var are_you_sure_to_delete_subchapter_from_chapter$1 = "Are you sure to delete subchapter {{subchapter}} from chapter {{chapter}}?";
3687
+ var are_you_sure_to_delete_chapter_from_textbook$1 = "Are you sure to delete chapter {{chapter}} from textbook {{textbook}}?";
3688
+ var do_you_want_to_quit_your_exam$1 = "Do you want to quit your exam?";
3689
+ var home$1 = "Home";
3690
+ var profile$1 = "Profile";
3691
+ var settings$1 = "Settings";
3692
+ var sign_up_school_information$1 = "Sign up - School information";
3693
+ var korean_high_school$1 = "Korean high school";
3694
+ var sign_up_student_information$1 = "Sign up - Student Information";
3695
+ var placeholder_student_name$1 = "Kim ㅇㅇ";
3696
+ var student_name_is_required$1 = "Student Name is required!";
3697
+ var the_parent_phone_is_not_valid$1 = "The parent phone is not valid";
3698
+ var the_number_must_be_11_number_or_10_number$1 = "The number must be 11 number or 10 number";
3699
+ var answer_error_create_question$1 = "Answer error create question";
3700
+ var answer_must_have_text$1 = "Answer must have text";
3701
+ var mark_must_be_positive_number$1 = "Mark must be positive number";
3702
+ var duplicate_token_in_answer$1 = "Duplicate token in answer";
3703
+ var please_select_answer_for_all_blank$1 = "Please select answer for all blank";
3704
+ var please_create_at_least_2_option$1 = "Please create at least 2 option";
3705
+ var please_choose_correct_answer$1 = "Please choose correct answer";
3706
+ var please_create_at_least_2_option_to_order$1 = "Please create at least 2 option to order";
3707
+ var please_select_valid_order$1 = "Please select valid order";
3708
+ var please_fill_in_all_matching_text$1 = "Please fill in all matching text";
3709
+ var get_exam_detail_error$1 = "Get exam detail error";
3710
+ var full_name_is_required$1 = "Full name is required";
3711
+ var email_is_required$1 = "Email is required";
3712
+ var not_found$1 = "Not found";
3713
+ var enter_text_to_confirm_delete$1 = "Enter \"{{text}}\" to confirm delete";
3394
3714
  var lang_en = {
3395
3715
  problem_solving: problem_solving$1,
3396
3716
  my_story: my_story$1,
@@ -3434,7 +3754,8 @@ var lang_en = {
3434
3754
  do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam$1,
3435
3755
  are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam$1,
3436
3756
  are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook$1,
3437
- are_you_sure_you_want_to_delete_user: are_you_sure_you_want_to_delete_user,
3757
+ are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user$1,
3758
+ are_you_sure_you_want_to_delete_the_article: are_you_sure_you_want_to_delete_the_article$1,
3438
3759
  yes: yes$1,
3439
3760
  no: no$1,
3440
3761
  cancel: cancel$1,
@@ -3462,39 +3783,39 @@ var lang_en = {
3462
3783
  problem_solving_time: problem_solving_time$1,
3463
3784
  minutes: minutes$1,
3464
3785
  correct_rate: correct_rate$1,
3465
- difficult_level: difficult_level,
3466
- difficulty_explain: difficulty_explain,
3467
- explain_your_answer: explain_your_answer,
3786
+ difficult_level: difficult_level$1,
3787
+ difficulty_explain: difficulty_explain$1,
3788
+ explain_your_answer: explain_your_answer$1,
3468
3789
  hint: hint$1,
3469
3790
  save_and_add_next_question: save_and_add_next_question$1,
3470
3791
  save_and_exit: save_and_exit$1,
3471
3792
  question_text: question_text$1,
3472
3793
  title: title$1,
3473
3794
  create_question: create_question$1,
3474
- parent_question: parent_question,
3475
- edit_question: edit_question,
3795
+ parent_question: parent_question$1,
3796
+ edit_question: edit_question$1,
3476
3797
  edit: edit$1,
3477
3798
  "delete": "Delete",
3478
- easy: easy,
3479
- intermediate: intermediate,
3480
- difficult: difficult,
3799
+ easy: easy$1,
3800
+ intermediate: intermediate$1,
3801
+ difficult: difficult$1,
3481
3802
  article: article$1,
3482
- correct_answer: correct_answer,
3483
- mark: mark,
3803
+ correct_answer: correct_answer$1,
3804
+ mark: mark$1,
3484
3805
  answer: answer$1,
3485
- add_new_row: add_new_row,
3486
- question_text_required: question_text_required,
3487
- create_question_success: create_question_success,
3488
- update_question_success: update_question_success,
3489
- number_of_answers: number_of_answers,
3490
- correct_answers: correct_answers,
3806
+ add_new_row: add_new_row$1,
3807
+ question_text_required: question_text_required$1,
3808
+ create_question_success: create_question_success$1,
3809
+ update_question_success: update_question_success$1,
3810
+ number_of_answers: number_of_answers$1,
3811
+ correct_answers: correct_answers$1,
3491
3812
  category: category$1,
3492
3813
  _category: _category$1,
3493
- score: score,
3814
+ score: score$1,
3494
3815
  enter_title: enter_title$1,
3495
- enter_score: enter_score,
3496
- exam_title_required: exam_title_required,
3497
- question_category_required: question_category_required,
3816
+ enter_score: enter_score$1,
3817
+ exam_title_required: exam_title_required$1,
3818
+ question_category_required: question_category_required$1,
3498
3819
  start_time: start_time$1,
3499
3820
  end_time: end_time$1,
3500
3821
  start_date: start_date$1,
@@ -3502,20 +3823,20 @@ var lang_en = {
3502
3823
  weekly_day: weekly_day$1,
3503
3824
  weekly_days: weekly_days$1,
3504
3825
  enter_class_name: enter_class_name$1,
3505
- class_required: class_required,
3826
+ class_required: class_required$1,
3506
3827
  total_teachers: total_teachers$1,
3507
- start_date_required: start_date_required,
3508
- end_date_required: end_date_required,
3828
+ start_date_required: start_date_required$1,
3829
+ end_date_required: end_date_required$1,
3830
+ name: name$1,
3509
3831
  full_name: full_name$1,
3510
3832
  email: email$1,
3511
- is_paid: is_paid,
3512
- payment_time: payment_time,
3513
- create_and_continue: create_and_continue$1,
3833
+ is_paid: is_paid$1,
3834
+ payment_time: payment_time$1,
3514
3835
  payments: payments$1,
3515
3836
  duration: duration$1,
3516
3837
  answer_count: answer_count$1,
3517
3838
  question_count: question_count$1,
3518
- multi_choice: multi_choice,
3839
+ multi_choice: multi_choice$1,
3519
3840
  select_placeholder: select_placeholder$1,
3520
3841
  view_exam: view_exam$1,
3521
3842
  update_exam: update_exam$1,
@@ -3530,7 +3851,6 @@ var lang_en = {
3530
3851
  type: type$1,
3531
3852
  description: description$1,
3532
3853
  actions: actions$1,
3533
- name: name$1,
3534
3854
  sunday: sunday$1,
3535
3855
  monday: monday$1,
3536
3856
  tuesday: tuesday$1,
@@ -3539,11 +3859,11 @@ var lang_en = {
3539
3859
  friday: friday$1,
3540
3860
  saturday: saturday$1,
3541
3861
  total_lessons: total_lessons$1,
3542
- is_cancelled: is_cancelled,
3862
+ is_cancelled: is_cancelled$1,
3543
3863
  date: date$1,
3544
3864
  weekly_days_required: weekly_days_required$1,
3545
3865
  main_teacher: main_teacher$1,
3546
- main_teacher_required: main_teacher_required,
3866
+ main_teacher_required: main_teacher_required$1,
3547
3867
  teacher: teacher$1,
3548
3868
  the_first: the_first$1,
3549
3869
  the_second: the_second$1,
@@ -3613,6 +3933,8 @@ var lang_en = {
3613
3933
  created_at: created_at$1,
3614
3934
  name_required: name_required$1,
3615
3935
  type_required: type_required$1,
3936
+ link_required: link_required$1,
3937
+ create_and_continue: create_and_continue$1,
3616
3938
  content: content$1,
3617
3939
  color: color$1,
3618
3940
  link: link$1,
@@ -3864,7 +4186,7 @@ var lang_en = {
3864
4186
  are_you_sure_to_delete_subject: are_you_sure_to_delete_subject$1,
3865
4187
  drop_a_file_here_or_click_to_browse: drop_a_file_here_or_click_to_browse$1,
3866
4188
  delete_users_csv: delete_users_csv$1,
3867
- are_you_sure_to_delete_user: are_you_sure_to_delete_user$1,
4189
+ are_you_sure_to_delete_users: are_you_sure_to_delete_users$1,
3868
4190
  enter_phone_number: enter_phone_number$1,
3869
4191
  enter_school_name: enter_school_name$1,
3870
4192
  enter_grade: enter_grade$1,
@@ -3879,7 +4201,7 @@ var lang_en = {
3879
4201
  select_type: select_type$1,
3880
4202
  no_message: no_message$1,
3881
4203
  this_is_the_guidance_text: this_is_the_guidance_text$1,
3882
- "the_page_you_are_looking_for_was_not_found.": "The page you are looking for was not found.",
4204
+ the_page_you_are_looking_for_was_not_found: the_page_you_are_looking_for_was_not_found$1,
3883
4205
  oops: oops$1,
3884
4206
  please_enter: please_enter$1,
3885
4207
  notifications: notifications$1,
@@ -3932,7 +4254,83 @@ var lang_en = {
3932
4254
  the_code_has_been_copied_to_your_clipboard: the_code_has_been_copied_to_your_clipboard$1,
3933
4255
  an_unexpected_error_has_occurred: an_unexpected_error_has_occurred$1,
3934
4256
  select_roles: select_roles$1,
3935
- no_academy_selected: no_academy_selected$1
4257
+ no_academy_selected: no_academy_selected$1,
4258
+ delete_data_successfully: delete_data_successfully$1,
4259
+ update_academy_successfully: update_academy_successfully$1,
4260
+ create_academy_successfully: create_academy_successfully$1,
4261
+ update_article_successfully: update_article_successfully$1,
4262
+ create_article_successfully: create_article_successfully$1,
4263
+ update_category_successfully: update_category_successfully$1,
4264
+ create_category_successfully: create_category_successfully$1,
4265
+ please_fill_in_all_fields_for_this: please_fill_in_all_fields_for_this$1,
4266
+ duplicate_weekly_day: duplicate_weekly_day$1,
4267
+ remove_lesson_failed: remove_lesson_failed$1,
4268
+ update_lesson_successfully: update_lesson_successfully$1,
4269
+ create_lesson_successfully: create_lesson_successfully$1,
4270
+ update_class_successfully: update_class_successfully$1,
4271
+ create_class_successfully: create_class_successfully$1,
4272
+ start_times_and_end_times_are_required: start_times_and_end_times_are_required$1,
4273
+ start_times_must_be_less_than_end_time: start_times_must_be_less_than_end_time$1,
4274
+ remove_student_successfully: remove_student_successfully$1,
4275
+ remove_teacher_successfully: remove_teacher_successfully$1,
4276
+ update_notification_successfully: update_notification_successfully$1,
4277
+ create_notification_successfully: create_notification_successfully$1,
4278
+ please_select_category: please_select_category$1,
4279
+ update_social_successfully: update_social_successfully$1,
4280
+ import_csv_successfully: import_csv_successfully$1,
4281
+ download_successfully: download_successfully$1,
4282
+ file_type_not_valid: file_type_not_valid$1,
4283
+ upload_image_successfully: upload_image_successfully$1,
4284
+ category_is_required: category_is_required$1,
4285
+ textbook_name_is_required: textbook_name_is_required$1,
4286
+ textbook_subject_is_required: textbook_subject_is_required$1,
4287
+ update_the_textbook_successfully: update_the_textbook_successfully$1,
4288
+ create_the_textbook_successfully: create_the_textbook_successfully$1,
4289
+ finish_exam_successful: finish_exam_successful$1,
4290
+ you_has_been_kicked_out: you_has_been_kicked_out$1,
4291
+ the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam$1,
4292
+ check_in_lesson_successfully: check_in_lesson_successfully$1,
4293
+ update_attendance_status_successfully: update_attendance_status_successfully$1,
4294
+ save_exam_successfully: save_exam_successfully$1,
4295
+ kick_out_student_successful: kick_out_student_successful$1,
4296
+ please_select_an_exam_subject: please_select_an_exam_subject$1,
4297
+ please_enter_exam_title: please_enter_exam_title$1,
4298
+ exam_required_at_least_one_question: exam_required_at_least_one_question$1,
4299
+ create_exam_failed: create_exam_failed$1,
4300
+ please_select_category_for_article: please_select_category_for_article$1,
4301
+ placeholder_student_selector: placeholder_student_selector$1,
4302
+ error_uploading_file: error_uploading_file$1,
4303
+ remove_lesson_successfully: remove_lesson_successfully$1,
4304
+ user_not_allow_to_register_role: user_not_allow_to_register_role$1,
4305
+ are_you_sure_to_delete_article_from_chapter: are_you_sure_to_delete_article_from_chapter$1,
4306
+ are_you_sure_to_delete_subchapter_from_chapter: are_you_sure_to_delete_subchapter_from_chapter$1,
4307
+ are_you_sure_to_delete_chapter_from_textbook: are_you_sure_to_delete_chapter_from_textbook$1,
4308
+ do_you_want_to_quit_your_exam: do_you_want_to_quit_your_exam$1,
4309
+ home: home$1,
4310
+ profile: profile$1,
4311
+ settings: settings$1,
4312
+ sign_up_school_information: sign_up_school_information$1,
4313
+ korean_high_school: korean_high_school$1,
4314
+ sign_up_student_information: sign_up_student_information$1,
4315
+ placeholder_student_name: placeholder_student_name$1,
4316
+ student_name_is_required: student_name_is_required$1,
4317
+ the_parent_phone_is_not_valid: the_parent_phone_is_not_valid$1,
4318
+ the_number_must_be_11_number_or_10_number: the_number_must_be_11_number_or_10_number$1,
4319
+ answer_error_create_question: answer_error_create_question$1,
4320
+ answer_must_have_text: answer_must_have_text$1,
4321
+ mark_must_be_positive_number: mark_must_be_positive_number$1,
4322
+ duplicate_token_in_answer: duplicate_token_in_answer$1,
4323
+ please_select_answer_for_all_blank: please_select_answer_for_all_blank$1,
4324
+ please_create_at_least_2_option: please_create_at_least_2_option$1,
4325
+ please_choose_correct_answer: please_choose_correct_answer$1,
4326
+ please_create_at_least_2_option_to_order: please_create_at_least_2_option_to_order$1,
4327
+ please_select_valid_order: please_select_valid_order$1,
4328
+ please_fill_in_all_matching_text: please_fill_in_all_matching_text$1,
4329
+ get_exam_detail_error: get_exam_detail_error$1,
4330
+ full_name_is_required: full_name_is_required$1,
4331
+ email_is_required: email_is_required$1,
4332
+ not_found: not_found$1,
4333
+ enter_text_to_confirm_delete: enter_text_to_confirm_delete$1
3936
4334
  };
3937
4335
 
3938
4336
  i18n.use(initReactI18next).init({
@@ -3951,10 +4349,11 @@ i18n.use(initReactI18next).init({
3951
4349
  }
3952
4350
  });
3953
4351
 
3954
- var TheLanguageDropdown = function TheLanguageDropdown() {
3955
- var _useLanguage = useLanguage(),
4352
+ var TheLanguageDropdown = function TheLanguageDropdown(_ref) {
4353
+ var history = _ref.history;
4354
+ var _useLanguage = useLanguage(history),
3956
4355
  currentLanguage = _useLanguage.currentLanguage,
3957
- setItemLanguage = _useLanguage.setItemLanguage;
4356
+ handleChangeItemLanguage = _useLanguage.handleChangeItemLanguage;
3958
4357
  var _useState = useState(null),
3959
4358
  open = _useState[0],
3960
4359
  setOpen = _useState[1];
@@ -3966,7 +4365,7 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
3966
4365
  };
3967
4366
  var handleChangeLanguage = function handleChangeLanguage(code) {
3968
4367
  handleClose();
3969
- setItemLanguage(code);
4368
+ handleChangeItemLanguage(code);
3970
4369
  };
3971
4370
  var popoverStyle = {
3972
4371
  width: 48,
@@ -4079,8 +4478,7 @@ var useSwitchAcademy = function useSwitchAcademy(role, history, homeAcademyUrl,
4079
4478
  if (_temp && _temp.then) return _temp.then(function () {});
4080
4479
  });
4081
4480
  }, function (error) {
4082
- var _error$response, _error$response$data;
4083
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title) || "Get user academies failed");
4481
+ toast.error(getErrorMessage(t, error));
4084
4482
  });
4085
4483
  return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
4086
4484
  } catch (e) {
@@ -4113,9 +4511,8 @@ var useSwitchAcademy = function useSwitchAcademy(role, history, homeAcademyUrl,
4113
4511
  return Promise.resolve(handleLoginAccessToken(requestBody, false, user.academyDomain ? academyDomain : undefined)).then(function () {});
4114
4512
  });
4115
4513
  }, function (error) {
4116
- var _error$response2, _error$response2$data;
4117
4514
  academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
4118
- toast.error((error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.title) || t("switch_academy_fail"));
4515
+ toast.error(getErrorMessage(t, error));
4119
4516
  });
4120
4517
  return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
4121
4518
  } catch (e) {
@@ -4242,7 +4639,8 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
4242
4639
  xs: 6,
4243
4640
  lg: 2,
4244
4641
  justifyContent: "center",
4245
- alignItems: "center"
4642
+ alignItems: "center",
4643
+ className: "d-sm-none d-md-flex"
4246
4644
  }, React__default.createElement(Stack, {
4247
4645
  flexDirection: "row",
4248
4646
  width: "100%",
@@ -4280,6 +4678,11 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
4280
4678
  }
4281
4679
  }
4282
4680
  }
4681
+ }, React__default.createElement(MenuList, {
4682
+ sx: {
4683
+ maxHeight: 240,
4684
+ overflowY: "auto"
4685
+ }
4283
4686
  }, academyList.map(function (option) {
4284
4687
  var _option$name$charAt;
4285
4688
  return React__default.createElement(MenuItemCustom, {
@@ -4319,7 +4722,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
4319
4722
  fontWeight: 600
4320
4723
  }
4321
4724
  }, option.name))));
4322
- }), React__default.createElement(MenuItemCustom, {
4725
+ })), React__default.createElement(MenuItemCustom, {
4323
4726
  sx: {
4324
4727
  whiteSpace: "wrap",
4325
4728
  borderRadius: "6px"
@@ -4652,7 +5055,7 @@ var ChatRightItem = function ChatRightItem(_ref) {
4652
5055
  disableFocusListener: true,
4653
5056
  disableHoverListener: true,
4654
5057
  disableTouchListener: true,
4655
- placement: "top-start"
5058
+ placement: "top"
4656
5059
  }, React__default.createElement("div", {
4657
5060
  onClick: handleOpenTooltip
4658
5061
  }, React__default.createElement(iconMore, null))))), contentType ? React__default.createElement(Stack, {
@@ -4855,8 +5258,8 @@ var useDialog = function useDialog() {
4855
5258
  toggleDialog();
4856
5259
  toast.success(t("complete_conversation_successfully"));
4857
5260
  });
4858
- }, function () {
4859
- toast.error(t("fail_to_complete_conversation"));
5261
+ }, function (error) {
5262
+ toast.error(getErrorMessage(t, error, t("fail_to_complete_conversation")));
4860
5263
  });
4861
5264
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
4862
5265
  } catch (e) {
@@ -4885,11 +5288,10 @@ var useDialog = function useDialog() {
4885
5288
  setSelectedFile({
4886
5289
  content: res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.url
4887
5290
  });
4888
- toast.success("Upload image successfully");
5291
+ toast.success(t('upload_image_successfully'));
4889
5292
  });
4890
5293
  }, function (error) {
4891
- var _error$response;
4892
- toast.error((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data);
5294
+ toast.error(getErrorMessage(t, error));
4893
5295
  });
4894
5296
  }, function () {}));
4895
5297
  } catch (e) {
@@ -5802,6 +6204,8 @@ var useMessageList = function useMessageList() {
5802
6204
  var _useState3 = useState(false),
5803
6205
  isLoading = _useState3[0],
5804
6206
  setLoading = _useState3[1];
6207
+ var _useTranslation = useTranslation(),
6208
+ t = _useTranslation.t;
5805
6209
  var getMessageList = function getMessageList(conversationId) {
5806
6210
  try {
5807
6211
  var _temp2 = function _temp2() {
@@ -5822,8 +6226,8 @@ var useMessageList = function useMessageList() {
5822
6226
  });
5823
6227
  });
5824
6228
  });
5825
- }, function () {
5826
- toast.error("Fail to fetch data!");
6229
+ }, function (error) {
6230
+ toast.error(getErrorMessage(t, error));
5827
6231
  });
5828
6232
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
5829
6233
  } catch (e) {
@@ -5863,8 +6267,8 @@ var useMessageList = function useMessageList() {
5863
6267
  }
5864
6268
  });
5865
6269
  });
5866
- }, function () {
5867
- toast.error("Fail to fetch data!");
6270
+ }, function (error) {
6271
+ toast.error(getErrorMessage(t, error));
5868
6272
  _exit = true;
5869
6273
  });
5870
6274
  return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
@@ -5886,8 +6290,8 @@ var useMessageList = function useMessageList() {
5886
6290
  if (isLoading) return Promise.resolve();
5887
6291
  var _temp5 = _catch(function () {
5888
6292
  return Promise.resolve(deleteMessage(conversationId, id)).then(function () {});
5889
- }, function () {
5890
- toast.error("Fail to delete message!");
6293
+ }, function (error) {
6294
+ toast.error(getErrorMessage(t, error));
5891
6295
  _exit2 = true;
5892
6296
  });
5893
6297
  return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
@@ -5922,8 +6326,8 @@ var useMessageList = function useMessageList() {
5922
6326
  var _exit3 = false;
5923
6327
  var _temp7 = _catch(function () {
5924
6328
  return Promise.resolve(updateMessage(conversationId, id, message)).then(function () {});
5925
- }, function () {
5926
- toast.error("Fail to update message!");
6329
+ }, function (error) {
6330
+ toast.error(getErrorMessage(t, error));
5927
6331
  _exit3 = true;
5928
6332
  });
5929
6333
  return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
@@ -5950,6 +6354,8 @@ var useChatContainer = function useChatContainer(props) {
5950
6354
  var _selectedConversation3;
5951
6355
  var conversation = props.conversation,
5952
6356
  student = props.student;
6357
+ var _useTranslation = useTranslation(),
6358
+ t = _useTranslation.t;
5953
6359
  var concurrentConnectionPusher = useSelector(function (state) {
5954
6360
  var _state$common;
5955
6361
  return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.concurrentConnectionPusher;
@@ -6027,13 +6433,12 @@ var useChatContainer = function useChatContainer(props) {
6027
6433
  }();
6028
6434
  return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
6029
6435
  }, function (error) {
6030
- var _error$response;
6031
6436
  setMessages(function (state) {
6032
6437
  return [].concat(state.filter(function (i) {
6033
6438
  return (i === null || i === void 0 ? void 0 : i.id) !== 0;
6034
6439
  }));
6035
6440
  });
6036
- toast.error((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data);
6441
+ toast.error(getErrorMessage(t, error));
6037
6442
  });
6038
6443
  return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
6039
6444
  } catch (e) {
@@ -6052,13 +6457,12 @@ var useChatContainer = function useChatContainer(props) {
6052
6457
  });
6053
6458
  });
6054
6459
  }, function (error) {
6055
- var _error$response2;
6056
6460
  setMessages(function (state) {
6057
6461
  return [].concat(state.filter(function (i) {
6058
6462
  return (i === null || i === void 0 ? void 0 : i.id) !== 0;
6059
6463
  }));
6060
6464
  });
6061
- toast.error((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data);
6465
+ toast.error(getErrorMessage(t, error));
6062
6466
  });
6063
6467
  }, function () {})) : Promise.resolve();
6064
6468
  };
@@ -7218,12 +7622,14 @@ var useExam = function useExam(props) {
7218
7622
  callback === null || callback === void 0 ? void 0 : callback();
7219
7623
  };
7220
7624
  var validateExam = function validateExam(exam) {
7221
- if (!exam.subjectId) return t("Please select an exam subject");
7222
- if (!exam.title.trim().length) return t("Please enter exam title");
7223
- if (!exam.questions.length) return t("Exam required at least one question");
7625
+ if (!exam.subjectId) return t("please_select_an_exam_subject");
7626
+ if (!exam.title.trim().length) return t("please_enter_exam_title");
7627
+ if (!exam.questions.length) return t("exam_required_at_least_one_question");
7224
7628
  for (var i = 0; i < exam.questions.length; i++) {
7225
7629
  var question = exam.questions[i];
7226
- if (!question.categoryId) return t("Please select category for article " + question.article);
7630
+ if (!question.categoryId) return t('please_select_category_for_article', {
7631
+ article: question.article
7632
+ });
7227
7633
  }
7228
7634
  return false;
7229
7635
  };
@@ -7245,20 +7651,19 @@ var useExam = function useExam(props) {
7245
7651
  }))).then(function (res) {
7246
7652
  var _temp = function (_res$data, _res$data$data) {
7247
7653
  if (!((_res$data = res.data) !== null && _res$data !== void 0 && (_res$data$data = _res$data.data) !== null && _res$data$data !== void 0 && _res$data$data.id)) {
7248
- toast.error("Create exam failed");
7654
+ toast.error(t('create_exam_failed'));
7249
7655
  } else {
7250
7656
  var _res$data2, _res$data2$data;
7251
7657
  return Promise.resolve(apiCreateExamSession((_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : (_res$data2$data = _res$data2.data) === null || _res$data2$data === void 0 ? void 0 : _res$data2$data.id)).then(function () {
7252
7658
  setExamRequest(DEFAULT_EXAM_REQUEST);
7253
- toast.success("Create exam successfully");
7659
+ toast.success(t('create_exam_successfully'));
7254
7660
  });
7255
7661
  }
7256
7662
  }();
7257
7663
  if (_temp && _temp.then) return _temp.then(function () {});
7258
7664
  });
7259
7665
  }, function (error) {
7260
- var _error$response;
7261
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) || "Create exam failed");
7666
+ toast.error(getErrorMessage(t, error));
7262
7667
  });
7263
7668
  return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
7264
7669
  } catch (e) {
@@ -7282,12 +7687,11 @@ var useExam = function useExam(props) {
7282
7687
  duration: minutesToTimeSpan(examRequest.duration || 0)
7283
7688
  }))).then(function () {
7284
7689
  handleCloseDialog();
7285
- toast.success("Save exam successfully");
7690
+ toast.success(t('save_exam_successfully'));
7286
7691
  isTeacher ? navigate('/teacher/exam-list') : navigate('/exams');
7287
7692
  });
7288
7693
  }, function (error) {
7289
- var _error$response2;
7290
- toast.error((error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data) || "Save exam failed");
7694
+ toast.error(getErrorMessage(t, error));
7291
7695
  });
7292
7696
  return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
7293
7697
  } catch (e) {
@@ -7375,8 +7779,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7375
7779
  callback === null || callback === void 0 ? void 0 : callback(res.data);
7376
7780
  });
7377
7781
  }, function (error) {
7378
- var _error$response, _error$response$data;
7379
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title) || "Couldn't update the chapter");
7782
+ toast.error(getErrorMessage(t, error));
7380
7783
  });
7381
7784
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
7382
7785
  } catch (e) {
@@ -7410,8 +7813,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7410
7813
  callback === null || callback === void 0 ? void 0 : callback(res.data);
7411
7814
  });
7412
7815
  }, function (error) {
7413
- var _error$response2, _error$response2$data;
7414
- toast.error((error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.title) || "Couldn't add the article to the chapter");
7816
+ toast.error(getErrorMessage(t, error));
7415
7817
  });
7416
7818
  return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
7417
7819
  } catch (e) {
@@ -7430,8 +7832,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7430
7832
  callback === null || callback === void 0 ? void 0 : callback();
7431
7833
  });
7432
7834
  }, function (error) {
7433
- var _error$response3, _error$response3$data;
7434
- toast.error((error === null || error === void 0 ? void 0 : (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : (_error$response3$data = _error$response3.data) === null || _error$response3$data === void 0 ? void 0 : _error$response3$data.title) || "Couldn't delete the article from the chapter");
7835
+ toast.error(getErrorMessage(t, error));
7435
7836
  });
7436
7837
  return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
7437
7838
  } catch (e) {
@@ -7469,8 +7870,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7469
7870
  callback === null || callback === void 0 ? void 0 : callback();
7470
7871
  });
7471
7872
  }, function (error) {
7472
- var _error$response4, _error$response4$data;
7473
- toast.error((error === null || error === void 0 ? void 0 : (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : (_error$response4$data = _error$response4.data) === null || _error$response4$data === void 0 ? void 0 : _error$response4$data.title) || "Couldn't delete the subchapter from the chapter");
7873
+ toast.error(getErrorMessage(t, error));
7474
7874
  });
7475
7875
  return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
7476
7876
  } catch (e) {
@@ -7500,8 +7900,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7500
7900
  callback === null || callback === void 0 ? void 0 : callback(res.data);
7501
7901
  });
7502
7902
  }, function (error) {
7503
- var _error$response5, _error$response5$data;
7504
- toast.error((error === null || error === void 0 ? void 0 : (_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : (_error$response5$data = _error$response5.data) === null || _error$response5$data === void 0 ? void 0 : _error$response5$data.title) || "Couldn't update the article");
7903
+ toast.error(getErrorMessage(t, error));
7505
7904
  });
7506
7905
  return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
7507
7906
  } catch (e) {
@@ -7620,7 +8019,10 @@ var useTextbookDetail = function useTextbookDetail(props) {
7620
8019
  articleNumber: articleNumber,
7621
8020
  value: articles,
7622
8021
  name: "" + articleNumber,
7623
- confirmText: "Are you sure to delete article (" + articleNumber + ") from chapter (" + chapterName + ")"
8022
+ confirmText: t('are_you_sure_to_delete_article_from_chapter', {
8023
+ articleNumber: articleNumber,
8024
+ chapterName: chapterName
8025
+ })
7624
8026
  });
7625
8027
  };
7626
8028
  var handleOpenRemoveChapterConfirmDialog = function handleOpenRemoveChapterConfirmDialog(chapterName, chapterId, parentChapterId) {
@@ -7632,14 +8034,20 @@ var useTextbookDetail = function useTextbookDetail(props) {
7632
8034
  chapterId: chapterId,
7633
8035
  parentChapterId: parentChapterId,
7634
8036
  name: "" + chapterName,
7635
- confirmText: "Are you sure to delete subchapter (" + chapterName + ") from chapter (" + textbook.chapters[parentChapterIndex].name + ")"
8037
+ confirmText: t('are_you_sure_to_delete_subchapter_from_chapter', {
8038
+ subchapter: chapterName,
8039
+ chapter: textbook.chapters[parentChapterIndex].name
8040
+ })
7636
8041
  });
7637
8042
  } else {
7638
8043
  setSelectedDeleteItem({
7639
8044
  chapterId: chapterId,
7640
8045
  parentChapterId: parentChapterId,
7641
8046
  name: "" + chapterName,
7642
- confirmText: "Are you sure to delete chapter (" + chapterName + ") from textbook (" + textbook.name + ")"
8047
+ confirmText: t('are_you_sure_to_delete_chapter_from_textbook', {
8048
+ chapter: chapterName,
8049
+ textbook: textbook.name
8050
+ })
7643
8051
  });
7644
8052
  }
7645
8053
  };
@@ -7804,8 +8212,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7804
8212
  handleCloseChapterNameDialog();
7805
8213
  });
7806
8214
  }, function (error) {
7807
- var _error$response6, _error$response6$data;
7808
- toast.error((error === null || error === void 0 ? void 0 : (_error$response6 = error.response) === null || _error$response6 === void 0 ? void 0 : (_error$response6$data = _error$response6.data) === null || _error$response6$data === void 0 ? void 0 : _error$response6$data.title) || "Couldn't add new chapter to the textbook");
8215
+ toast.error(getErrorMessage(t, error));
7809
8216
  });
7810
8217
  return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp11) : _temp11(_temp10));
7811
8218
  } catch (e) {
@@ -7819,11 +8226,11 @@ var useTextbookDetail = function useTextbookDetail(props) {
7819
8226
  var validateTextbook = function validateTextbook() {
7820
8227
  var _textbook$subject;
7821
8228
  if (!textbook.name.trim().length) {
7822
- toast.error("Textbook name is required");
8229
+ toast.error(t('textbook_name_is_required'));
7823
8230
  return false;
7824
8231
  }
7825
8232
  if (!((_textbook$subject = textbook.subject) !== null && _textbook$subject !== void 0 && _textbook$subject.id)) {
7826
- toast.error("Textbook subject is required");
8233
+ toast.error(t('textbook_subject_is_required'));
7827
8234
  return false;
7828
8235
  }
7829
8236
  return true;
@@ -7843,7 +8250,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7843
8250
  dispatch(setLoading(true));
7844
8251
  var _temp14 = _catch(function () {
7845
8252
  function _temp13() {
7846
- toast.success((textbook.id ? "Update" : "Create") + " the textbook successfully");
8253
+ toast.success(t(textbook.id ? "update_the_textbook_successfully" : "create_the_textbook_successfully"));
7847
8254
  }
7848
8255
  var _temp12 = function () {
7849
8256
  if (textbook.id) {
@@ -7866,8 +8273,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
7866
8273
  }();
7867
8274
  return _temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12);
7868
8275
  }, function (error) {
7869
- var _error$response7, _error$response7$data;
7870
- toast.error((error === null || error === void 0 ? void 0 : (_error$response7 = error.response) === null || _error$response7 === void 0 ? void 0 : (_error$response7$data = _error$response7.data) === null || _error$response7$data === void 0 ? void 0 : _error$response7$data.title) || "Couldn't " + (textbook.id ? "update" : "create") + " the textbook detail");
8276
+ toast.error(getErrorMessage(t, error));
7871
8277
  });
7872
8278
  return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp15) : _temp15(_temp14));
7873
8279
  } catch (e) {
@@ -7946,8 +8352,8 @@ var useTextbookDetail = function useTextbookDetail(props) {
7946
8352
  setNotFound(false);
7947
8353
  });
7948
8354
  }, function (error) {
7949
- var _error$response8, _error$response9, _error$response9$data;
7950
- if ((error === null || error === void 0 ? void 0 : (_error$response8 = error.response) === null || _error$response8 === void 0 ? void 0 : _error$response8.status) === 404) setNotFound(true);else toast.error((error === null || error === void 0 ? void 0 : (_error$response9 = error.response) === null || _error$response9 === void 0 ? void 0 : (_error$response9$data = _error$response9.data) === null || _error$response9$data === void 0 ? void 0 : _error$response9$data.title) || "Couldn't load the textbook detail");
8355
+ var _error$response;
8356
+ if ((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 404) setNotFound(true);else toast.error(getErrorMessage(t, error));
7951
8357
  });
7952
8358
  return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp17) : _temp17(_temp16));
7953
8359
  } catch (e) {
@@ -8190,7 +8596,7 @@ var ArticleDialog = function ArticleDialog(_ref) {
8190
8596
  article = _useState[0],
8191
8597
  setArticle = _useState[1];
8192
8598
  var handleSubmit = function handleSubmit() {
8193
- if (!article.categoryId) toast.error("Category is required");
8599
+ if (!article.categoryId) toast.error(t('category_is_required'));
8194
8600
  onSubmitForm(article);
8195
8601
  };
8196
8602
  var handleChangeQuestionCount = function handleChangeQuestionCount(_ref2) {
@@ -8377,6 +8783,8 @@ var SubjectSelector = function SubjectSelector(_ref) {
8377
8783
  var _state$common2, _state$common2$user;
8378
8784
  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.roles) || [];
8379
8785
  }).includes(Role.Admin) && !isDomain;
8786
+ var _useTranslation = useTranslation(),
8787
+ t = _useTranslation.t;
8380
8788
  var loadData = useCallback(function () {
8381
8789
  try {
8382
8790
  var _temp2 = function _temp2() {
@@ -8394,9 +8802,8 @@ var SubjectSelector = function SubjectSelector(_ref) {
8394
8802
  items = _res$data$items === void 0 ? [] : _res$data$items;
8395
8803
  setSubjects(items);
8396
8804
  });
8397
- }, function (err) {
8398
- var _err$response, _err$response$data;
8399
- toast.error(((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message);
8805
+ }, function (error) {
8806
+ toast.error(getErrorMessage(t, error));
8400
8807
  });
8401
8808
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
8402
8809
  } catch (e) {
@@ -8853,6 +9260,7 @@ var CreateExamDrawer = function CreateExamDrawer(props) {
8853
9260
 
8854
9261
  var TextbookViewDetail = function TextbookViewDetail(props) {
8855
9262
  var _textbook$chapters;
9263
+ var navigate = props.navigate;
8856
9264
  var _useTextbookDetail = useTextbookDetail(props),
8857
9265
  id = _useTextbookDetail.id,
8858
9266
  t = _useTextbookDetail.t,
@@ -8900,7 +9308,9 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
8900
9308
  subjectId: id ? textbookSubject === null || textbookSubject === void 0 ? void 0 : textbookSubject.value : undefined
8901
9309
  }),
8902
9310
  categoryOptions = _useCategorySelect.categoryOptions;
8903
- if (isNotFound) return React__default.createElement(NotFound, null);
9311
+ if (isNotFound) return React__default.createElement(NotFound, {
9312
+ history: navigate
9313
+ });
8904
9314
  return React__default.createElement(Container, {
8905
9315
  maxWidth: "xl",
8906
9316
  className: "bg-white py-5 p-4 rounded-4 h-100 d-flex flex-column"
@@ -9058,31 +9468,25 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
9058
9468
  if (isAuthPage === void 0) {
9059
9469
  isAuthPage = true;
9060
9470
  }
9061
- var searchParams = new URLSearchParams(window.location.search);
9471
+ var search = window.location.search;
9062
9472
  var user = useSelector(function (state) {
9063
9473
  var _state$common;
9064
9474
  return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
9065
9475
  });
9066
- var language = useSelector(function (state) {
9067
- var _state$common2;
9068
- return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
9069
- });
9070
- var initialAcademySearchParam = function initialAcademySearchParam() {
9476
+ var _ref = user || {},
9477
+ email = _ref.email,
9478
+ academyDomain = _ref.academyDomain;
9479
+ var pathname = window.location.pathname;
9480
+ var changeAcademySearchParams = function changeAcademySearchParams() {
9481
+ var searchParams = new URLSearchParams(search);
9071
9482
  var paramAcademyDomain = searchParams.get("domain");
9072
- var paramLang = searchParams.get("lang");
9073
9483
  var domain = getAcademyDomain();
9074
- var pathname = window.location.pathname.toLowerCase();
9075
- var isUpdateSearchParam = false;
9076
- if ((!paramLang || paramLang.toLowerCase() !== language) && language) {
9077
- searchParams.set("lang", language);
9078
- isUpdateSearchParam = true;
9079
- }
9080
- if (!!user !== isAuthPage) return;
9081
- var academyDomain = user === null || user === void 0 ? void 0 : user.academyDomain;
9484
+ if (!!email !== isAuthPage) return;
9485
+ var isSuperUrl = superUrls.some(function (i) {
9486
+ return pathname.startsWith(i);
9487
+ });
9082
9488
  if (!academyDomain) {
9083
- if (!superUrls.some(function (i) {
9084
- return pathname.startsWith(i);
9085
- })) {
9489
+ if (!isSuperUrl) {
9086
9490
  !paramAcademyDomain && domain && searchParams.set("domain", domain);
9087
9491
  pushTo(history, {
9088
9492
  pathname: homeUrl,
@@ -9098,9 +9502,7 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
9098
9502
  return;
9099
9503
  }
9100
9504
  } else {
9101
- if (superUrls.some(function (i) {
9102
- return pathname.startsWith(i);
9103
- })) {
9505
+ if (isSuperUrl) {
9104
9506
  searchParams["delete"]("domain");
9105
9507
  pushTo(history, {
9106
9508
  pathname: homeAcademyUrl,
@@ -9113,20 +9515,17 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
9113
9515
  return;
9114
9516
  }
9115
9517
  if (!paramAcademyDomain) {
9116
- !paramAcademyDomain && searchParams.set("domain", academyDomain);
9518
+ searchParams.set("domain", academyDomain);
9117
9519
  pushTo(history, _extends({}, window.location, {
9118
9520
  search: searchParams.toString()
9119
9521
  }));
9120
9522
  return;
9121
9523
  }
9122
9524
  }
9123
- if (isUpdateSearchParam) pushTo(history, _extends({}, window.location, {
9124
- search: searchParams.toString()
9125
- }));
9126
9525
  };
9127
9526
  useEffect(function () {
9128
- initialAcademySearchParam();
9129
- }, [window.location.pathname, window.location.search, user === null || user === void 0 ? void 0 : user.academyDomain, language]);
9527
+ changeAcademySearchParams();
9528
+ }, [pathname, search, isAuthPage, email, academyDomain]);
9130
9529
  };
9131
9530
 
9132
9531
  var DEFAULT_PAGING_RESPONSE = {
@@ -9152,6 +9551,8 @@ var useList = function useList(fetchData, defaultQuery) {
9152
9551
  setSelectedItem = _useState4[1];
9153
9552
  var textSearchRef = useRef(null);
9154
9553
  var isFirstLoadRef = useRef(true);
9554
+ var _useTranslation = useTranslation(),
9555
+ t = _useTranslation.t;
9155
9556
  var handleChangeSelectedItem = function handleChangeSelectedItem(item) {
9156
9557
  setSelectedItem(item);
9157
9558
  };
@@ -9178,10 +9579,9 @@ var useList = function useList(fetchData, defaultQuery) {
9178
9579
  setData(items);
9179
9580
  });
9180
9581
  }, function (error) {
9181
- var _error$response, _error$response$data;
9182
9582
  setPaging(DEFAULT_PAGING_RESPONSE);
9183
9583
  setData([]);
9184
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title) || "Get data failed");
9584
+ toast.error(getErrorMessage(t, error));
9185
9585
  });
9186
9586
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
9187
9587
  } catch (e) {
@@ -9266,6 +9666,8 @@ var useTextbookList = function useTextbookList(props) {
9266
9666
  calcOrderNumber = _useList.calcOrderNumber,
9267
9667
  handleChangeSelectedItem = _useList.handleChangeSelectedItem,
9268
9668
  getData = _useList.getData;
9669
+ var _useTranslation = useTranslation(),
9670
+ t = _useTranslation.t;
9269
9671
  var textbookUrl = role === Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
9270
9672
  var dispatch = useDispatch();
9271
9673
  var handleViewTextbook = function handleViewTextbook(id) {
@@ -9303,8 +9705,7 @@ var useTextbookList = function useTextbookList(props) {
9303
9705
  });
9304
9706
  });
9305
9707
  }, function (error) {
9306
- var _error$response, _error$response$data;
9307
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title) || "Textbook deleted failed");
9708
+ toast.error(getErrorMessage(t, error));
9308
9709
  });
9309
9710
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
9310
9711
  } catch (e) {
@@ -10503,8 +10904,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
10503
10904
  setCategoryResponses(((_result$4$data = result[4].data) === null || _result$4$data === void 0 ? void 0 : _result$4$data.data) || []);
10504
10905
  });
10505
10906
  }, function (error) {
10506
- var _error$response;
10507
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) || error.message);
10907
+ toast.error(getErrorMessage(t, error));
10508
10908
  });
10509
10909
  return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
10510
10910
  };
@@ -10540,8 +10940,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
10540
10940
  setCategoryResponses(((_result$4$data2 = result[4].data) === null || _result$4$data2 === void 0 ? void 0 : _result$4$data2.data) || []);
10541
10941
  });
10542
10942
  }, function (error) {
10543
- var _error$response2;
10544
- toast.error((error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data) || error.message);
10943
+ toast.error(getErrorMessage(t, error));
10545
10944
  });
10546
10945
  return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
10547
10946
  };
@@ -10897,7 +11296,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
10897
11296
  console.log({
10898
11297
  error: error
10899
11298
  });
10900
- toast.error("Print pdf failure!");
11299
+ toast.error(getErrorMessage(t, error));
10901
11300
  });
10902
11301
  return Promise.resolve(_temp23 && _temp23.then ? _temp23.then(_temp24) : _temp24(_temp23));
10903
11302
  } catch (e) {
@@ -12197,18 +12596,21 @@ var useMyAnswer = function useMyAnswer() {
12197
12596
  };
12198
12597
  };
12199
12598
 
12200
- var useCreateQuestionDialog = function useCreateQuestionDialog() {
12599
+ var useCreateQuestionDialog = function useCreateQuestionDialog(_ref) {
12600
+ var questions = _ref.questions;
12201
12601
  var _useState = useState(false),
12202
12602
  openDialog = _useState[0],
12203
12603
  setOpenDialog = _useState[1];
12204
12604
  var dispatch = useDispatch();
12605
+ var _useTranslation = useTranslation(),
12606
+ t = _useTranslation.t;
12205
12607
  var toggleDialog = function toggleDialog() {
12206
12608
  setOpenDialog(!openDialog);
12207
12609
  };
12208
- var handleCreateQuestion = function handleCreateQuestion(_ref) {
12209
- var content = _ref.content,
12210
- examSessionId = _ref.examSessionId,
12211
- questionId = _ref.questionId;
12610
+ var handleCreateQuestion = function handleCreateQuestion(_ref2) {
12611
+ var content = _ref2.content,
12612
+ examSessionId = _ref2.examSessionId,
12613
+ questionId = _ref2.questionId;
12212
12614
  try {
12213
12615
  var _temp2 = function _temp2() {
12214
12616
  dispatch(setLoading(false));
@@ -12223,18 +12625,31 @@ var useCreateQuestionDialog = function useCreateQuestionDialog() {
12223
12625
  toggleDialog();
12224
12626
  });
12225
12627
  }, function (error) {
12226
- var _error$response, _error$response$data;
12227
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title) || "Fail to Create Question!");
12628
+ toast.error(getErrorMessage(t, error));
12228
12629
  });
12229
12630
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
12230
12631
  } catch (e) {
12231
12632
  return Promise.reject(e);
12232
12633
  }
12233
12634
  };
12635
+ var questionOptions = useMemo(function () {
12636
+ if (!questions) return [];
12637
+ return questions.map(function (_ref3) {
12638
+ var id = _ref3.id,
12639
+ questionOrder = _ref3.questionOrder;
12640
+ return {
12641
+ label: t("question_order", {
12642
+ number: questionOrder + 1
12643
+ }),
12644
+ value: id
12645
+ };
12646
+ });
12647
+ }, [questions]);
12234
12648
  return {
12235
12649
  openCreateQuestionDialog: openDialog,
12236
12650
  toggleCreateQuestion: toggleDialog,
12237
- handleCreateQuestion: handleCreateQuestion
12651
+ handleCreateQuestion: handleCreateQuestion,
12652
+ questionOptions: questionOptions
12238
12653
  };
12239
12654
  };
12240
12655
 
@@ -12283,7 +12698,7 @@ function CreateNewQuestionDialog(_ref) {
12283
12698
  toggleCreateQuestion = _ref.toggleCreateQuestion,
12284
12699
  examSessionId = _ref.examSessionId,
12285
12700
  questionOrderSelected = _ref.questionOrderSelected,
12286
- questions = _ref.questions;
12701
+ questionOptions = _ref.questionOptions;
12287
12702
  var _useTranslation = useTranslation(),
12288
12703
  t = _useTranslation.t;
12289
12704
  return React__default.createElement(Dialog, {
@@ -12329,7 +12744,8 @@ function CreateNewQuestionDialog(_ref) {
12329
12744
  }));
12330
12745
  }
12331
12746
  }, function (_ref2) {
12332
- var errors = _ref2.errors;
12747
+ var errors = _ref2.errors,
12748
+ setFieldValue = _ref2.setFieldValue;
12333
12749
  return React__default.createElement(Form, null, React__default.createElement(Box, {
12334
12750
  display: "flex",
12335
12751
  flexDirection: "column",
@@ -12339,20 +12755,22 @@ function CreateNewQuestionDialog(_ref) {
12339
12755
  htmlFor: "questions",
12340
12756
  className: styles['form-label'] + " " + styles$4['form-label-dialog']
12341
12757
  }, t('questions_to_ask')), React__default.createElement(Field, {
12342
- as: "select",
12343
12758
  id: "questions",
12344
12759
  name: "questionId",
12345
- style: {
12346
- width: "100%"
12347
- },
12348
- className: "" + styles['form-select']
12349
- }, questions === null || questions === void 0 ? void 0 : questions.map(function (question) {
12350
- return React__default.createElement("option", {
12351
- value: question === null || question === void 0 ? void 0 : question.id
12352
- }, t('question_order', {
12353
- number: (question === null || question === void 0 ? void 0 : question.questionOrder) + 1
12354
- }));
12355
- }))), React__default.createElement(Stack, null, React__default.createElement("label", {
12760
+ render: function render(_ref3) {
12761
+ var field = _ref3.field;
12762
+ return React__default.createElement(CustomSelect, Object.assign({}, field, {
12763
+ id: "questions",
12764
+ menuPlacement: "bottom",
12765
+ options: questionOptions,
12766
+ onChange: function onChange(_ref4) {
12767
+ var value = _ref4.value;
12768
+ return setFieldValue("questionId", value);
12769
+ },
12770
+ isClearable: false
12771
+ }));
12772
+ }
12773
+ })), React__default.createElement(Stack, null, React__default.createElement("label", {
12356
12774
  htmlFor: "content-question",
12357
12775
  className: styles['form-label'] + " " + styles$4['form-label-dialog']
12358
12776
  }, t('question_content')), React__default.createElement(Box, {
@@ -12420,10 +12838,13 @@ function MyAnswer(_ref) {
12420
12838
  categories = _ref.categories,
12421
12839
  isStudent = _ref.isStudent,
12422
12840
  isPrint = _ref.isPrint;
12423
- var _useCreateQuestionDia = useCreateQuestionDialog(),
12841
+ var _useCreateQuestionDia = useCreateQuestionDialog({
12842
+ questions: data.questions
12843
+ }),
12424
12844
  handleCreateQuestion = _useCreateQuestionDia.handleCreateQuestion,
12425
12845
  openCreateQuestionDialog = _useCreateQuestionDia.openCreateQuestionDialog,
12426
- toggleCreateQuestion = _useCreateQuestionDia.toggleCreateQuestion;
12846
+ toggleCreateQuestion = _useCreateQuestionDia.toggleCreateQuestion,
12847
+ questionOptions = _useCreateQuestionDia.questionOptions;
12427
12848
  var _useMyAnswer = useMyAnswer(),
12428
12849
  isOpenTime = _useMyAnswer.isOpenTime,
12429
12850
  handleSelectQuestionOrder = _useMyAnswer.handleSelectQuestionOrder,
@@ -12637,7 +13058,7 @@ function MyAnswer(_ref) {
12637
13058
  className: styles$4["contentMyAnswer"]
12638
13059
  }, isPrint ? renderPrintQuestions(item.questions) : renderQuestions(item.questions)));
12639
13060
  }), React__default.createElement(CreateNewQuestionDialog, {
12640
- questions: data === null || data === void 0 ? void 0 : data.questions,
13061
+ questionOptions: questionOptions,
12641
13062
  questionOrderSelected: questionOrderSelected,
12642
13063
  examSessionId: data === null || data === void 0 ? void 0 : data.examSessionId,
12643
13064
  handleCreateQuestion: handleCreateQuestion,
@@ -13180,6 +13601,8 @@ var useCreateQuestionDialog$1 = function useCreateQuestionDialog() {
13180
13601
  openDialog = _useState[0],
13181
13602
  setOpenDialog = _useState[1];
13182
13603
  var dispatch = useDispatch();
13604
+ var _useTranslation = useTranslation(),
13605
+ t = _useTranslation.t;
13183
13606
  var toggleDialog = function toggleDialog() {
13184
13607
  setOpenDialog(!openDialog);
13185
13608
  };
@@ -13199,8 +13622,7 @@ var useCreateQuestionDialog$1 = function useCreateQuestionDialog() {
13199
13622
  toggleDialog();
13200
13623
  });
13201
13624
  }, function (error) {
13202
- var _error$response, _error$response$data;
13203
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title) || "Fail to Create Question!");
13625
+ toast.error(getErrorMessage(t, error));
13204
13626
  });
13205
13627
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
13206
13628
  } catch (e) {
@@ -13965,7 +14387,7 @@ var useLogin$2 = function useLogin(_ref) {
13965
14387
  });
13966
14388
  }, function (error) {
13967
14389
  console.log(error);
13968
- toast.error(t('request_login_fail'));
14390
+ toast.error(getErrorMessage(t, error, t('request_login_fail')));
13969
14391
  }));
13970
14392
  } catch (e) {
13971
14393
  return Promise.reject(e);
@@ -13979,7 +14401,7 @@ var useLogin$2 = function useLogin(_ref) {
13979
14401
  if (redirectUrl) pushTo(history, redirectUrl);
13980
14402
  };
13981
14403
  useEffect(function () {
13982
- var token = getAccessToken$1();
14404
+ var token = getAccessToken();
13983
14405
  if (!!token) pushTo(history, "/");
13984
14406
  }, []);
13985
14407
  return {
@@ -13997,7 +14419,7 @@ function SignIn(_ref) {
13997
14419
  homeAcademyUrl = _ref.homeAcademyUrl,
13998
14420
  homeUrl = _ref.homeUrl,
13999
14421
  registerUrl = _ref.registerUrl;
14000
- useLanguage();
14422
+ useLanguage(history);
14001
14423
  var _useTranslation = useTranslation(),
14002
14424
  t = _useTranslation.t;
14003
14425
  var _useLoginWithPassword = useLogin$2({
@@ -14453,7 +14875,10 @@ var Header = function Header(_ref) {
14453
14875
  width: "100%",
14454
14876
  display: "flex",
14455
14877
  flexDirection: "row",
14456
- gap: "24px",
14878
+ gap: {
14879
+ xs: "16",
14880
+ md: "24"
14881
+ },
14457
14882
  className: styles["tabBox"] + " " + styles["headers"]
14458
14883
  }, React__default.createElement(Stack, {
14459
14884
  padding: "10px 0",
@@ -14514,7 +14939,23 @@ var Header = function Header(_ref) {
14514
14939
  })), React__default.createElement(Stack, {
14515
14940
  direction: "row",
14516
14941
  alignItems: "center"
14517
- }, React__default.createElement(Link, {
14942
+ }, React__default.createElement(Typography, {
14943
+ color: styles.gray_700,
14944
+ className: "fw-bold me-3 text-nowrap flex-shrink-1",
14945
+ sx: {
14946
+ minWidth: "60px",
14947
+ maxWidth: {
14948
+ md: "100px",
14949
+ xs: "60px"
14950
+ },
14951
+ fontSize: {
14952
+ md: "16px",
14953
+ xs: "14px"
14954
+ },
14955
+ overflow: "hidden",
14956
+ textOverflow: "ellipsis"
14957
+ }
14958
+ }, user === null || user === void 0 ? void 0 : user.fullName), React__default.createElement(Link, {
14518
14959
  "aria-current": "page",
14519
14960
  to: homeRoute.path,
14520
14961
  className: "border-none"
@@ -14529,7 +14970,9 @@ var Header = function Header(_ref) {
14529
14970
  }, React__default.createElement(singleLogo, null))), React__default.createElement(Stack, {
14530
14971
  className: "me-2",
14531
14972
  display: "none"
14532
- }, React__default.createElement(TheLanguageDropdown, null))));
14973
+ }, React__default.createElement(TheLanguageDropdown, {
14974
+ history: history
14975
+ }))));
14533
14976
  };
14534
14977
 
14535
14978
  var ACADEMY_URL$1 = BASE_URL + "/api/academy";
@@ -14551,6 +14994,8 @@ var useAcademyList = function useAcademyList(history, role, homeAcademyUrl, home
14551
14994
  var _state$common, _state$common$user;
14552
14995
  return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.email;
14553
14996
  });
14997
+ var _useTranslation = useTranslation(),
14998
+ t = _useTranslation.t;
14554
14999
  var getAcademies = function getAcademies() {
14555
15000
  try {
14556
15001
  var _temp2 = function _temp2() {
@@ -14562,8 +15007,7 @@ var useAcademyList = function useAcademyList(history, role, homeAcademyUrl, home
14562
15007
  setAcademyList(res.data.items || []);
14563
15008
  });
14564
15009
  }, function (error) {
14565
- var _error$response, _error$response$data;
14566
- toast.error((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.tile) || "Get user academies failed");
15010
+ toast.error(getErrorMessage(t, error));
14567
15011
  });
14568
15012
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
14569
15013
  } catch (e) {
@@ -14589,8 +15033,7 @@ var useAcademyList = function useAcademyList(history, role, homeAcademyUrl, home
14589
15033
  return Promise.resolve(handleLoginAccessToken(requestBody, false)).then(function () {});
14590
15034
  });
14591
15035
  }, function (error) {
14592
- var _error$response2, _error$response2$data;
14593
- toast.error((error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.tile) || "Failed");
15036
+ toast.error(getErrorMessage(t, error));
14594
15037
  });
14595
15038
  return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
14596
15039
  } catch (e) {
@@ -14682,5 +15125,5 @@ var AcademyList = function AcademyList(_ref) {
14682
15125
  }, React__default.createElement("span", null, t("no_academy_available"), "."))))));
14683
15126
  };
14684
15127
 
14685
- export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, LayoutContext, Loading, Login, SignIn as LoginWithPassword, NotFound, PUSHER_CONFIG, QuestionCountSelector, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, api, apiUpload, canAccess as canAccessRoute, diffFromNow, formatTime, getAcademyDomain, getAccessToken$1 as getAccessToken, getErrorMessage, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useGoogleSignOut, useLanguage, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, utcToLocalTime };
15128
+ export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, LayoutContext, Loading, Login, SignIn as LoginWithPassword, NotFound, PUSHER_CONFIG, QuestionCountSelector, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, api, apiUpload, canAccess as canAccessRoute, diffFromNow, formatTime, getAcademyDomain, getAccessToken, getErrorMessage, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useGoogleSignOut, useLanguage, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, utcToLocalTime };
14686
15129
  //# sourceMappingURL=index.modern.js.map