touchstudy-core 0.1.68 → 0.1.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Chats/hooks/useMessageList.d.ts +5 -2
- package/dist/components/Commons/NotFound.d.ts +1 -1
- package/dist/components/Dialogs/PassCodeDialog.d.ts +10 -0
- package/dist/components/Dialogs/configs/types.d.ts +4 -0
- package/dist/components/Loading/LoadingComponent.d.ts +6 -0
- package/dist/components/Selectors/InActiveAcademySelector.d.ts +16 -0
- package/dist/containers/Academies/apiClients/academyService.d.ts +1 -2
- package/dist/containers/Academies/components/PassCodeDialog.d.ts +10 -0
- package/dist/containers/Academies/hooks/useAcademyList.d.ts +1 -2
- package/dist/containers/ExamResult/apiClients/index.d.ts +0 -1
- package/dist/containers/ExamResult/hooks/useExamResult.d.ts +1 -0
- package/dist/containers/Login/hooks/useLogin.d.ts +1 -1
- package/dist/containers/PassCodes/configs/types.d.ts +6 -0
- package/dist/containers/PassCodes/hooks/usePassCodeCheck.d.ts +19 -0
- package/dist/containers/PassCodes/views/PassCodeCheck.d.ts +13 -0
- package/dist/containers/Textbooks/apiClient/examSessionService.d.ts +0 -2
- package/dist/index.css +0 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +1036 -323
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1015 -307
- package/dist/index.modern.js.map +1 -1
- package/dist/services/academyService.d.ts +4 -1
- package/dist/services/accountService.d.ts +1 -0
- package/dist/services/passCodeService.d.ts +1 -0
- package/dist/services/recentUserActionService.d.ts +10 -0
- package/dist/utils/constants.d.ts +21 -0
- package/dist/utils/enums/index.d.ts +2 -1
- package/dist/utils/enums/recentUserAction.d.ts +7 -0
- package/dist/utils/hooks/useLayoutContext.d.ts +3 -1
- package/dist/utils/hooks/useSwitchAcademy.d.ts +1 -1
- package/dist/utils/types/checkSuperUrl.d.ts +1 -0
- package/dist/utils/types/index.d.ts +2 -1
- package/dist/utils/types/recentUserAction.d.ts +33 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -87,10 +87,10 @@ var encodeParams = function encodeParams(params) {
|
|
87
87
|
if (Array.isArray(params[key])) {
|
88
88
|
return params[key].map(function (i) {
|
89
89
|
return encodeURIComponent(key) + "=" + encodeURIComponent(i);
|
90
|
-
}).join(
|
90
|
+
}).join("&");
|
91
91
|
}
|
92
92
|
return encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
|
93
|
-
}).join(
|
93
|
+
}).join("&");
|
94
94
|
};
|
95
95
|
(function (Role) {
|
96
96
|
Role["Student"] = "Student";
|
@@ -102,6 +102,27 @@ var encodeParams = function encodeParams(params) {
|
|
102
102
|
Language["ko"] = "ko";
|
103
103
|
Language["en"] = "en";
|
104
104
|
})(exports.Language || (exports.Language = {}));
|
105
|
+
var RecentUserAction = {
|
106
|
+
ViewedUser: "viewed_user",
|
107
|
+
ViewedQNA: "viewed_QNA",
|
108
|
+
ViewedExamResult: "viewed_exam_result",
|
109
|
+
PrintedExamResult: "printed_exam_result",
|
110
|
+
ViewedAttendance: "viewed_attendance",
|
111
|
+
UpdatedUser: "updated_user",
|
112
|
+
CreatedNewUser: "created_new_user",
|
113
|
+
ImportedUser: "imported_user",
|
114
|
+
ImportedRemoveUser: "imported_remove_user",
|
115
|
+
DeletedUser: "deleted_user",
|
116
|
+
CompletedQNA: "completed_QNA",
|
117
|
+
AnsweredQNA: "answered_QNA",
|
118
|
+
RemoveMessageQNA: "remove_message_QNA",
|
119
|
+
UpdateMessageQNA: "update_message_QNA",
|
120
|
+
UpdatedAttendance: "updated_attendance",
|
121
|
+
AddedTeacherToClass: "added_teacher_to_class",
|
122
|
+
RemovedTeacherFromClass: "removed_teacher_from_class",
|
123
|
+
AddedStudentToClass: "added_student_to_class",
|
124
|
+
RemovedStudentFromClass: "removed_student_from_class"
|
125
|
+
};
|
105
126
|
var PrintHeaderClassName = "print-header";
|
106
127
|
var PrintTitleClassName = "print-title";
|
107
128
|
var PrintContentClassName = "print-content";
|
@@ -144,6 +165,13 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
144
165
|
}
|
145
166
|
return target;
|
146
167
|
}
|
168
|
+
function _taggedTemplateLiteralLoose(strings, raw) {
|
169
|
+
if (!raw) {
|
170
|
+
raw = strings.slice(0);
|
171
|
+
}
|
172
|
+
strings.raw = raw;
|
173
|
+
return strings;
|
174
|
+
}
|
147
175
|
|
148
176
|
var styles = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","btn-login-google":"_2HqmH","block-login":"_wWIyO","box-login":"_38Lo1","btn-primary":"_rd4Uy","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","dropdown-academy":"_3CMVp","image-academy":"_2ibYC","academy-btn":"_1JMRU","switch-icon":"_N4FNf","dropdown-content-academy":"_31Dr0","dropdown-academy-item":"_3bjcz","noGutters":"_31ZQk","custom-col-2":"_3yXyK","custom-col-3":"_1RsJQ","custom-col-5":"_L42CP","custom-col-10":"_2u6eL","custom-row":"_8x7OP","custom-col":"_1JmTh","custom-col-4":"_3HO1e","custom-col-8":"_Oy31M","custom-col-12":"_3aUKo","custom-container":"_39LRs","form-label":"__Ut-u","form-control":"_2k4dX","btn-outline-primary":"_2PWdX","sort-icons":"_mQvLF","active":"_3oAH-","form-select":"_3W3aw","truncate":"_3NJzN","headers":"_3xnI5","logo-container":"_3YG70","tabBox":"_1CQPn","routerBox":"_3hx2T","tabText":"_3UyhW","router-link-active":"_1TGKA","router-link":"_1AqMh","userImg":"_2RI6G","disabled-link":"_3aVHg","line-clamp":"_3fpky"};
|
149
177
|
|
@@ -456,6 +484,9 @@ var apiLoginWithAccessToken = function apiLoginWithAccessToken(body, domain) {
|
|
456
484
|
headers: (_headers = {}, _headers[AcademyHeaders] = domain, _headers)
|
457
485
|
});
|
458
486
|
};
|
487
|
+
var apiLoginSuperAdminWithAccessToken = function apiLoginSuperAdminWithAccessToken(body) {
|
488
|
+
return api.post(AUTH_SUPER_ADMIN_URL + "/login/access-token", body);
|
489
|
+
};
|
459
490
|
|
460
491
|
var useGoogleSignOut = function useGoogleSignOut(props) {
|
461
492
|
var dispatch = reactRedux.useDispatch();
|
@@ -484,7 +515,10 @@ var useGoogleSignOut = function useGoogleSignOut(props) {
|
|
484
515
|
localStorage.removeItem(ACADEMY_DOMAIN);
|
485
516
|
}
|
486
517
|
try {
|
518
|
+
var _window$gapi, _window$gapi$auth, _auth2$signOut;
|
487
519
|
signOut();
|
520
|
+
var auth2 = (_window$gapi = window.gapi) === null || _window$gapi === void 0 ? void 0 : (_window$gapi$auth = _window$gapi.auth2) === null || _window$gapi$auth === void 0 ? void 0 : _window$gapi$auth.getAuthInstance();
|
521
|
+
auth2 === null || auth2 === void 0 ? void 0 : (_auth2$signOut = auth2.signOut) === null || _auth2$signOut === void 0 ? void 0 : _auth2$signOut.call(auth2);
|
488
522
|
} catch (error) {
|
489
523
|
console.log({
|
490
524
|
error: error
|
@@ -535,6 +569,10 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
535
569
|
t = _useTranslation.t;
|
536
570
|
var _useGoogleSignOut = useGoogleSignOut({}),
|
537
571
|
handleSignOut = _useGoogleSignOut.handleSignOut;
|
572
|
+
var user = reactRedux.useSelector(function (state) {
|
573
|
+
var _state$common;
|
574
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
575
|
+
});
|
538
576
|
var searchParams = new URLSearchParams(window.location.search);
|
539
577
|
var paramDomain = searchParams.get('domain');
|
540
578
|
var handleLoginGoogle = function handleLoginGoogle(data, isLogout) {
|
@@ -547,16 +585,28 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
547
585
|
return Promise.resolve(handleLogin(function () {
|
548
586
|
return new Promise(function (resolve, reject) {
|
549
587
|
try {
|
550
|
-
var
|
588
|
+
var _temp3 = _catch(function () {
|
551
589
|
return Promise.resolve(academyDomain ? apiLoginGoogle(data) : apiLoginGoogleSuperAdmin(data)).then(function (loginResponse) {
|
590
|
+
function _temp2() {
|
591
|
+
resolve(result);
|
592
|
+
}
|
552
593
|
var result = loginResponse.data;
|
553
|
-
|
594
|
+
var _temp = function () {
|
595
|
+
if (loginResponse.status === 204 && academyDomain) {
|
596
|
+
localStorage.removeItem(ACADEMY_DOMAIN);
|
597
|
+
return Promise.resolve(apiLoginGoogleSuperAdmin(data)).then(function (_apiLoginGoogleSuperA) {
|
598
|
+
loginResponse = _apiLoginGoogleSuperA;
|
599
|
+
result = loginResponse.data;
|
600
|
+
});
|
601
|
+
}
|
602
|
+
}();
|
603
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
554
604
|
});
|
555
605
|
}, function (error) {
|
556
606
|
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
557
607
|
reject(error);
|
558
608
|
});
|
559
|
-
return Promise.resolve(
|
609
|
+
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
|
560
610
|
} catch (e) {
|
561
611
|
return Promise.reject(e);
|
562
612
|
}
|
@@ -575,15 +625,16 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
575
625
|
return Promise.resolve(handleLogin(function () {
|
576
626
|
return new Promise(function (resolve, reject) {
|
577
627
|
try {
|
578
|
-
var
|
579
|
-
|
628
|
+
var isSuperAdminUser = user && !user.academyDomain;
|
629
|
+
var _temp4 = _catch(function () {
|
630
|
+
return Promise.resolve(isSuperAdminUser ? apiLoginSuperAdminWithAccessToken(data) : apiLoginWithAccessToken(data, domain)).then(function (loginResponse) {
|
580
631
|
var result = loginResponse.data;
|
581
632
|
resolve(result);
|
582
633
|
});
|
583
634
|
}, function (error) {
|
584
635
|
reject(error);
|
585
636
|
});
|
586
|
-
return Promise.resolve(
|
637
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
587
638
|
} catch (e) {
|
588
639
|
return Promise.reject(e);
|
589
640
|
}
|
@@ -598,11 +649,11 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
598
649
|
isLogout = true;
|
599
650
|
}
|
600
651
|
try {
|
601
|
-
var
|
652
|
+
var _temp6 = function _temp6() {
|
602
653
|
dispatch(setLoading(false));
|
603
654
|
};
|
604
655
|
dispatch(setLoading(true));
|
605
|
-
var
|
656
|
+
var _temp5 = _catch(function () {
|
606
657
|
return Promise.resolve(apiLogin()).then(function (loginResponse) {
|
607
658
|
var isFirstLogin = loginResponse.isFirstLogin,
|
608
659
|
token = loginResponse.token,
|
@@ -619,7 +670,7 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
619
670
|
alert(getErrorMessage(t, error));
|
620
671
|
isLogout && handleSignOut();
|
621
672
|
});
|
622
|
-
return Promise.resolve(
|
673
|
+
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
|
623
674
|
} catch (e) {
|
624
675
|
return Promise.reject(e);
|
625
676
|
}
|
@@ -944,13 +995,16 @@ var defaultInfo = {
|
|
944
995
|
captcha: "",
|
945
996
|
rememberMe: false
|
946
997
|
};
|
947
|
-
var
|
998
|
+
var PAGE_TITLE = "sign_in";
|
999
|
+
var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
948
1000
|
var _useState = React.useState(false),
|
949
1001
|
openLogin = _useState[0],
|
950
1002
|
setOpenLogin = _useState[1];
|
951
1003
|
var _useState2 = React.useState(),
|
952
1004
|
infoUser = _useState2[0],
|
953
1005
|
setInfoUser = _useState2[1];
|
1006
|
+
var _useTranslation = reactI18next.useTranslation(),
|
1007
|
+
t = _useTranslation.t;
|
954
1008
|
var toggle = React.useCallback(function () {
|
955
1009
|
setOpenLogin(!openLogin);
|
956
1010
|
}, [openLogin]);
|
@@ -968,8 +1022,13 @@ var useLogin$1 = function useLogin() {
|
|
968
1022
|
}, [gapiScript.gapi]);
|
969
1023
|
React.useEffect(function () {
|
970
1024
|
var token = getAccessToken();
|
971
|
-
|
972
|
-
|
1025
|
+
var academyDomain = getAcademyDomain();
|
1026
|
+
if (token && academyDomain) window.location.href = homeAcademyUrl;
|
1027
|
+
if (token && !academyDomain) window.location.href = homeUrl;
|
1028
|
+
}, [homeAcademyUrl, homeUrl]);
|
1029
|
+
React.useEffect(function () {
|
1030
|
+
document.title = t("study_peak") + " | " + t(PAGE_TITLE);
|
1031
|
+
}, [t]);
|
973
1032
|
return {
|
974
1033
|
defaultInfo: defaultInfo,
|
975
1034
|
openLogin: openLogin,
|
@@ -1079,7 +1138,7 @@ var _excluded = ["history"];
|
|
1079
1138
|
var Login = function Login(_ref) {
|
1080
1139
|
var history = _ref.history,
|
1081
1140
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
1082
|
-
var _useLogin = useLogin$1(),
|
1141
|
+
var _useLogin = useLogin$1(rest.homeAcademyUrl, rest.homeUrl),
|
1083
1142
|
defaultInfo = _useLogin.defaultInfo;
|
1084
1143
|
useLanguage(history);
|
1085
1144
|
return React__default.createElement("div", {
|
@@ -1361,9 +1420,9 @@ var NotFound = function NotFound(_ref) {
|
|
1361
1420
|
var history = _ref.history;
|
1362
1421
|
var _useTranslation = reactI18next.useTranslation(),
|
1363
1422
|
t = _useTranslation.t;
|
1364
|
-
useLanguage(history);
|
1423
|
+
history && useLanguage(history);
|
1365
1424
|
React.useEffect(function () {
|
1366
|
-
document.title = t(TITLE);
|
1425
|
+
document.title = t("study_peak") + " | " + t(TITLE);
|
1367
1426
|
}, [t]);
|
1368
1427
|
return React__default.createElement("div", {
|
1369
1428
|
className: "not-found d-flex justify-content-center"
|
@@ -1422,11 +1481,21 @@ var getUserAcademies = function getUserAcademies(role) {
|
|
1422
1481
|
}
|
1423
1482
|
});
|
1424
1483
|
};
|
1484
|
+
var getAcademyByDomainApi = function getAcademyByDomainApi(domain, role) {
|
1485
|
+
return api.get(SUPER_ADMIN_ACADEMY_URL + "/domain/" + domain, {
|
1486
|
+
params: {
|
1487
|
+
role: role
|
1488
|
+
}
|
1489
|
+
});
|
1490
|
+
};
|
1425
1491
|
var getAcademyDetail = function getAcademyDetail() {
|
1426
1492
|
return api.get(ACADEMY_URL + "/detail");
|
1427
1493
|
};
|
1428
|
-
var switchAcademy = function switchAcademy(academyId) {
|
1429
|
-
return api.post(ACADEMY_URL + "/switch-academy
|
1494
|
+
var switchAcademy = function switchAcademy(academyId, role) {
|
1495
|
+
return api.post(ACADEMY_URL + "/" + academyId + "/switch-academy/" + role);
|
1496
|
+
};
|
1497
|
+
var switchSuperAdminAcademy = function switchSuperAdminAcademy(academyId, role) {
|
1498
|
+
return api.post(SUPER_ADMIN_ACADEMY_URL + "/" + academyId + "/switch-academy/" + role);
|
1430
1499
|
};
|
1431
1500
|
|
1432
1501
|
var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
@@ -1452,6 +1521,7 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
|
1452
1521
|
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
1453
1522
|
var academyDomain = user === null || user === void 0 ? void 0 : user.academyDomain;
|
1454
1523
|
var pathname = window.location.pathname;
|
1524
|
+
var search = window.location.search;
|
1455
1525
|
var resetAuth = function resetAuth() {
|
1456
1526
|
handleSignOut();
|
1457
1527
|
};
|
@@ -1479,7 +1549,7 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
|
1479
1549
|
}
|
1480
1550
|
};
|
1481
1551
|
var checkRoleUser = React.useCallback(function () {
|
1482
|
-
if (!user) return;
|
1552
|
+
if (!(user !== null && user !== void 0 && user.email)) return;
|
1483
1553
|
if (!roles.includes(role) && !!academyDomain) {
|
1484
1554
|
alert(t("user_not_allow_to_register_role", {
|
1485
1555
|
user: user.email,
|
@@ -1487,7 +1557,7 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
|
1487
1557
|
}));
|
1488
1558
|
resetAuth();
|
1489
1559
|
}
|
1490
|
-
}, [role, JSON.stringify(
|
1560
|
+
}, [role, user === null || user === void 0 ? void 0 : user.email, academyDomain, JSON.stringify(roles)]);
|
1491
1561
|
var loadInfo = function loadInfo() {
|
1492
1562
|
try {
|
1493
1563
|
var _temp4 = function _temp4() {
|
@@ -1495,6 +1565,7 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
|
1495
1565
|
};
|
1496
1566
|
var token = getAccessToken();
|
1497
1567
|
if (!token) {
|
1568
|
+
localStorage.setItem(REDIRECT_URL, "" + pathname + search);
|
1498
1569
|
resetAuth();
|
1499
1570
|
return Promise.resolve();
|
1500
1571
|
}
|
@@ -1565,8 +1636,10 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
|
1565
1636
|
}, [pusherRegisterUrls.join(","), academyDomain, pathname, isReadyRegisterPusher, currentPusher === null || currentPusher === void 0 ? void 0 : (_currentPusher$connec2 = currentPusher.connection) === null || _currentPusher$connec2 === void 0 ? void 0 : _currentPusher$connec2.state]);
|
1566
1637
|
React.useEffect(function () {
|
1567
1638
|
!user && loadInfo();
|
1568
|
-
|
1569
|
-
|
1639
|
+
}, []);
|
1640
|
+
React.useEffect(function () {
|
1641
|
+
checkRoleUser();
|
1642
|
+
}, [checkRoleUser]);
|
1570
1643
|
React.useEffect(function () {
|
1571
1644
|
handleGetAcademyDetail();
|
1572
1645
|
}, [academyDomain]);
|
@@ -1578,6 +1651,33 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
|
1578
1651
|
}
|
1579
1652
|
};
|
1580
1653
|
}, [registerPusher]);
|
1654
|
+
return {
|
1655
|
+
user: user
|
1656
|
+
};
|
1657
|
+
};
|
1658
|
+
|
1659
|
+
var loadingStyle$1 = {
|
1660
|
+
minWidth: "100vw",
|
1661
|
+
minHeight: "100vh",
|
1662
|
+
position: "fixed",
|
1663
|
+
top: 0,
|
1664
|
+
left: 0,
|
1665
|
+
zIndex: 999999999,
|
1666
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
1667
|
+
display: "flex",
|
1668
|
+
justifyContent: "center",
|
1669
|
+
alignItems: "center"
|
1670
|
+
};
|
1671
|
+
var LoadingComponent = function LoadingComponent(_ref) {
|
1672
|
+
var isLoading = _ref.isLoading;
|
1673
|
+
return isLoading ? React__default.createElement("div", {
|
1674
|
+
style: loadingStyle$1
|
1675
|
+
}, React__default.createElement("div", {
|
1676
|
+
className: "spinner-border text-secondary",
|
1677
|
+
role: "status"
|
1678
|
+
}, React__default.createElement("span", {
|
1679
|
+
className: "sr-only"
|
1680
|
+
}))) : null;
|
1581
1681
|
};
|
1582
1682
|
|
1583
1683
|
var LayoutContext = function LayoutContext(_ref) {
|
@@ -1585,8 +1685,14 @@ var LayoutContext = function LayoutContext(_ref) {
|
|
1585
1685
|
role = _ref.role,
|
1586
1686
|
_ref$pusherRegisterUr = _ref.pusherRegisterUrls,
|
1587
1687
|
pusherRegisterUrls = _ref$pusherRegisterUr === void 0 ? [] : _ref$pusherRegisterUr;
|
1688
|
+
var user = reactRedux.useSelector(function (state) {
|
1689
|
+
var _state$common;
|
1690
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
1691
|
+
});
|
1588
1692
|
useLayoutContext(role, pusherRegisterUrls);
|
1589
|
-
return React__default.createElement(
|
1693
|
+
if (!(user !== null && user !== void 0 && user.email)) return React__default.createElement(LoadingComponent, {
|
1694
|
+
isLoading: true
|
1695
|
+
});else return React__default.createElement(React.Fragment, null, children);
|
1590
1696
|
};
|
1591
1697
|
|
1592
1698
|
var ConfirmDialog = function ConfirmDialog(_ref) {
|
@@ -1739,7 +1845,7 @@ var formatTime = (function (time, ORIGINAL_FORMAT, FORMAT) {
|
|
1739
1845
|
var diffFromNow = (function (time, unitOfTime, targetTime) {
|
1740
1846
|
if (time === DATE_MIN_VALUE || targetTime === DATE_MIN_VALUE) return 0;
|
1741
1847
|
try {
|
1742
|
-
var now =
|
1848
|
+
var now = !targetTime ? moment() : moment.utc(targetTime).local();
|
1743
1849
|
return now.diff(moment.utc(time).local(), unitOfTime);
|
1744
1850
|
} catch (_unused) {
|
1745
1851
|
return "";
|
@@ -2182,7 +2288,7 @@ var user_academy = {
|
|
2182
2288
|
remove_failed: "아카데미에서 사용자를 제거하지 못했습니다",
|
2183
2289
|
remove_successfully: "아카데미에서 사용자를 성공적으로 제거했습니다",
|
2184
2290
|
update_user_roles_failed: "아카데미 사용자 역할 업데이트에 실패했습니다",
|
2185
|
-
|
2291
|
+
update_user_roles_successfully: "아카데미 사용자 역할을 성공적으로 제거했습니다",
|
2186
2292
|
get_failed: "아카데미 사용자 가져오기 실패"
|
2187
2293
|
};
|
2188
2294
|
var get_users_failed = "사용자 가져오기 실패";
|
@@ -2514,9 +2620,97 @@ var number_of_correct_answers = "정답 수";
|
|
2514
2620
|
var total_solve_time = "총 풀이 시간";
|
2515
2621
|
var number_of_answer = "{{ number }} 개";
|
2516
2622
|
var time_comparison = "시간 비교";
|
2623
|
+
var import_student_exam_results = "학생 시험 결과 가져오기";
|
2624
|
+
var file_required = "파일이 필요합니다";
|
2625
|
+
var exam_required = "시험이 필요합니다";
|
2626
|
+
var teacher_required = "선생님은 필수입니다";
|
2517
2627
|
var total_users = "총 사용자";
|
2518
2628
|
var added_date = "추가된 날짜";
|
2629
|
+
var sync_exam_results = "시험 결과 동기화";
|
2519
2630
|
var update_data_fail = "데이터 업데이트 실패";
|
2631
|
+
var are_you_sure_to_sync_exam_results_to_academy = "시험 결과를 아카데미 {{ academyName }}에 동기화하시겠습니까(백그라운드에서 실행되며 시간이 다소 소요됨)";
|
2632
|
+
var messages = {
|
2633
|
+
exam_sessions_are_being_synchronized: "{{ total }} 개의 시험 세션이 동기화되고 있습니다"
|
2634
|
+
};
|
2635
|
+
var submit = "제출하다";
|
2636
|
+
var must_select_a_teacher_first = "먼저 교사를 선택해야 합니다";
|
2637
|
+
var student_grade_is_invalid = "학생 등급은 1에서 12 사이여야 합니다";
|
2638
|
+
var recent_users = "최근 사용자";
|
2639
|
+
var recent_students = "최근 학생";
|
2640
|
+
var viewed_user = "본 사용자";
|
2641
|
+
var viewed_QNA = "조회한 질문&답변";
|
2642
|
+
var viewed_exam_result = "시험 결과를 보았습니다";
|
2643
|
+
var printed_exam_result = "인쇄된 시험 결과";
|
2644
|
+
var viewed_attendance = "출석 조회";
|
2645
|
+
var updated_user = "업데이트된 사용자";
|
2646
|
+
var created_new_user = "새 사용자가 생성되었습니다";
|
2647
|
+
var imported_user = "가져온 사용자";
|
2648
|
+
var imported_remove_user = "가져온 사용자 제거";
|
2649
|
+
var deleted_user = "삭제된 사용자";
|
2650
|
+
var completed_QNA = "완료된 질문 및 답변";
|
2651
|
+
var answered_QNA = "답변된 질문&답변";
|
2652
|
+
var remove_message_QNA = "메시지 질문 및 답변 제거";
|
2653
|
+
var update_message_QNA = "메시지 질문 및 답변 업데이트";
|
2654
|
+
var updated_attendance = "업데이트된 출석";
|
2655
|
+
var added_teacher_to_class = "수업에 교사를 추가했습니다.";
|
2656
|
+
var removed_teacher_from_class = "수업에서 교사를 제거했습니다";
|
2657
|
+
var added_student_to_class = "수업에 학생을 추가했습니다.";
|
2658
|
+
var removed_student_from_class = "수업에서 학생을 제거했습니다.";
|
2659
|
+
var exam_detail = "시험 세부정보";
|
2660
|
+
var study_peak = "스터디 피크";
|
2661
|
+
var enter_pass_code = "비밀번호를 입력하세요";
|
2662
|
+
var join_an_academy = "아카데미에 가입하세요";
|
2663
|
+
var select_an_academy = "아카데미를 선택하세요";
|
2664
|
+
var pass_code = "비밀번호";
|
2665
|
+
var enter_academy_pass_code = "학원비밀번호를 입력하세요";
|
2666
|
+
var authentication_failed = "인증 실패!";
|
2667
|
+
var verifying = "확인 중...";
|
2668
|
+
var login = "로그인";
|
2669
|
+
var please_wait_a_moment = "잠시만 기다려주세요";
|
2670
|
+
var oops_sorry = "이런, 미안해요!";
|
2671
|
+
var invitation_token_not_provided = "초대 토큰이 제공되지 않았습니다";
|
2672
|
+
var academy_invitation = "아카데미 초대";
|
2673
|
+
var join_academy = "아카데미 가입";
|
2674
|
+
var you_need_to_log_out_of_your_current_academy_to_use_the_invite_link = "초대 링크를 사용하려면 현재 아카데미에서 로그아웃해야 합니다";
|
2675
|
+
var you_need_to_log_out_of_your_current_academy_to_use_the_academy_join_link = "아카데미 가입 링크를 이용하려면 현재 아카데미에서 로그아웃해야 합니다";
|
2676
|
+
var enter_academy_passcode = "아카데미 비밀번호를 입력하세요";
|
2677
|
+
var academy_passcode = "아카데미 비밀번호";
|
2678
|
+
var academy_invite = "아카데미 초대";
|
2679
|
+
var academy_invite_new_students = "아카데미 신입생 초대";
|
2680
|
+
var create_passcode = "비밀번호 생성";
|
2681
|
+
var update_passcode = "비밀번호 업데이트";
|
2682
|
+
var is_active = "활성화됨";
|
2683
|
+
var limited_emails = "제한된 이메일";
|
2684
|
+
var limited_used_times = "제한된 사용 시간";
|
2685
|
+
var used_times = "사용시간";
|
2686
|
+
var update_data_successfully = "데이터 업데이트 성공";
|
2687
|
+
var reset_data_successfully = "데이터 재설정 성공";
|
2688
|
+
var limited_used_times_is_required = "제한된 사용 시간이 필요합니다";
|
2689
|
+
var limited_emails_is_required = "제한된 이메일이 필요합니다";
|
2690
|
+
var are_you_sure_you_want_to_delete_the_passcode = "비밀번호({{passcode}})를 삭제하시겠습니까?";
|
2691
|
+
var expired_time = "만료된 시간";
|
2692
|
+
var expired_time_is_required = "만료된 시간은 필수 항목입니다.";
|
2693
|
+
var total_emails = "총 이메일";
|
2694
|
+
var academy_invite_detail = "아카데미 초대 세부정보";
|
2695
|
+
var are_you_sure_to_delete_academy_invite = "이 아카데미 초대를 삭제하시겠습니까?";
|
2696
|
+
var day = "낮";
|
2697
|
+
var days = "날";
|
2698
|
+
var emails = "이메일";
|
2699
|
+
var is_accepted = "승인됨";
|
2700
|
+
var re_send = "다시 보내기";
|
2701
|
+
var revoke = "취소";
|
2702
|
+
var resend_invite_successfully = "초대를 다시 보냈습니다.";
|
2703
|
+
var revoke_invite_successfully = "초대를 취소했습니다.";
|
2704
|
+
var create_invite_successfully = "초대를 성공적으로 만들었습니다";
|
2705
|
+
var must_be_a_number = "숫자여야 합니다.";
|
2706
|
+
var is_revoked = "취소됨";
|
2707
|
+
var is_sent = "전송됨";
|
2708
|
+
var is_send = "전송됨";
|
2709
|
+
var expired_date = "만료일";
|
2710
|
+
var reset_passcode = "사용된 시간 비밀번호 재설정";
|
2711
|
+
var at_academy = "학원에서";
|
2712
|
+
var sent_at = "보낸 시간";
|
2713
|
+
var create_data_successfully = "데이터를 성공적으로 생성했습니다";
|
2520
2714
|
var lang_ko = {
|
2521
2715
|
problem_solving: problem_solving,
|
2522
2716
|
my_story: my_story,
|
@@ -3169,9 +3363,95 @@ var lang_ko = {
|
|
3169
3363
|
total_solve_time: total_solve_time,
|
3170
3364
|
number_of_answer: number_of_answer,
|
3171
3365
|
time_comparison: time_comparison,
|
3366
|
+
import_student_exam_results: import_student_exam_results,
|
3367
|
+
file_required: file_required,
|
3368
|
+
exam_required: exam_required,
|
3369
|
+
teacher_required: teacher_required,
|
3172
3370
|
total_users: total_users,
|
3173
3371
|
added_date: added_date,
|
3174
|
-
|
3372
|
+
sync_exam_results: sync_exam_results,
|
3373
|
+
update_data_fail: update_data_fail,
|
3374
|
+
are_you_sure_to_sync_exam_results_to_academy: are_you_sure_to_sync_exam_results_to_academy,
|
3375
|
+
messages: messages,
|
3376
|
+
submit: submit,
|
3377
|
+
must_select_a_teacher_first: must_select_a_teacher_first,
|
3378
|
+
student_grade_is_invalid: student_grade_is_invalid,
|
3379
|
+
recent_users: recent_users,
|
3380
|
+
recent_students: recent_students,
|
3381
|
+
viewed_user: viewed_user,
|
3382
|
+
viewed_QNA: viewed_QNA,
|
3383
|
+
viewed_exam_result: viewed_exam_result,
|
3384
|
+
printed_exam_result: printed_exam_result,
|
3385
|
+
viewed_attendance: viewed_attendance,
|
3386
|
+
updated_user: updated_user,
|
3387
|
+
created_new_user: created_new_user,
|
3388
|
+
imported_user: imported_user,
|
3389
|
+
imported_remove_user: imported_remove_user,
|
3390
|
+
deleted_user: deleted_user,
|
3391
|
+
completed_QNA: completed_QNA,
|
3392
|
+
answered_QNA: answered_QNA,
|
3393
|
+
remove_message_QNA: remove_message_QNA,
|
3394
|
+
update_message_QNA: update_message_QNA,
|
3395
|
+
updated_attendance: updated_attendance,
|
3396
|
+
added_teacher_to_class: added_teacher_to_class,
|
3397
|
+
removed_teacher_from_class: removed_teacher_from_class,
|
3398
|
+
added_student_to_class: added_student_to_class,
|
3399
|
+
removed_student_from_class: removed_student_from_class,
|
3400
|
+
exam_detail: exam_detail,
|
3401
|
+
study_peak: study_peak,
|
3402
|
+
enter_pass_code: enter_pass_code,
|
3403
|
+
join_an_academy: join_an_academy,
|
3404
|
+
select_an_academy: select_an_academy,
|
3405
|
+
pass_code: pass_code,
|
3406
|
+
enter_academy_pass_code: enter_academy_pass_code,
|
3407
|
+
authentication_failed: authentication_failed,
|
3408
|
+
verifying: verifying,
|
3409
|
+
login: login,
|
3410
|
+
please_wait_a_moment: please_wait_a_moment,
|
3411
|
+
oops_sorry: oops_sorry,
|
3412
|
+
invitation_token_not_provided: invitation_token_not_provided,
|
3413
|
+
academy_invitation: academy_invitation,
|
3414
|
+
join_academy: join_academy,
|
3415
|
+
you_need_to_log_out_of_your_current_academy_to_use_the_invite_link: you_need_to_log_out_of_your_current_academy_to_use_the_invite_link,
|
3416
|
+
you_need_to_log_out_of_your_current_academy_to_use_the_academy_join_link: you_need_to_log_out_of_your_current_academy_to_use_the_academy_join_link,
|
3417
|
+
enter_academy_passcode: enter_academy_passcode,
|
3418
|
+
academy_passcode: academy_passcode,
|
3419
|
+
academy_invite: academy_invite,
|
3420
|
+
academy_invite_new_students: academy_invite_new_students,
|
3421
|
+
create_passcode: create_passcode,
|
3422
|
+
update_passcode: update_passcode,
|
3423
|
+
is_active: is_active,
|
3424
|
+
limited_emails: limited_emails,
|
3425
|
+
limited_used_times: limited_used_times,
|
3426
|
+
used_times: used_times,
|
3427
|
+
update_data_successfully: update_data_successfully,
|
3428
|
+
reset_data_successfully: reset_data_successfully,
|
3429
|
+
limited_used_times_is_required: limited_used_times_is_required,
|
3430
|
+
limited_emails_is_required: limited_emails_is_required,
|
3431
|
+
are_you_sure_you_want_to_delete_the_passcode: are_you_sure_you_want_to_delete_the_passcode,
|
3432
|
+
expired_time: expired_time,
|
3433
|
+
expired_time_is_required: expired_time_is_required,
|
3434
|
+
total_emails: total_emails,
|
3435
|
+
academy_invite_detail: academy_invite_detail,
|
3436
|
+
are_you_sure_to_delete_academy_invite: are_you_sure_to_delete_academy_invite,
|
3437
|
+
day: day,
|
3438
|
+
days: days,
|
3439
|
+
emails: emails,
|
3440
|
+
is_accepted: is_accepted,
|
3441
|
+
re_send: re_send,
|
3442
|
+
revoke: revoke,
|
3443
|
+
resend_invite_successfully: resend_invite_successfully,
|
3444
|
+
revoke_invite_successfully: revoke_invite_successfully,
|
3445
|
+
create_invite_successfully: create_invite_successfully,
|
3446
|
+
must_be_a_number: must_be_a_number,
|
3447
|
+
is_revoked: is_revoked,
|
3448
|
+
is_sent: is_sent,
|
3449
|
+
is_send: is_send,
|
3450
|
+
expired_date: expired_date,
|
3451
|
+
reset_passcode: reset_passcode,
|
3452
|
+
at_academy: at_academy,
|
3453
|
+
sent_at: sent_at,
|
3454
|
+
create_data_successfully: create_data_successfully
|
3175
3455
|
};
|
3176
3456
|
|
3177
3457
|
var problem_solving$1 = "Problem Solving";
|
@@ -3823,16 +4103,103 @@ var choose$1 = "Choose";
|
|
3823
4103
|
var additional_duration$1 = "Additional duration";
|
3824
4104
|
var enter_textbook_name_to_search$1 = "Enter textbook name to search";
|
3825
4105
|
var select_class_placeholder$1 = "Select class...";
|
3826
|
-
var user_name$1 = "
|
4106
|
+
var user_name$1 = "User Name";
|
3827
4107
|
var vulnerable_detail$1 = "Other students had a high percentage of correct answers, but I could not answer these questions correctly.";
|
3828
4108
|
var protracted_problem_detail$1 = "Compare the solution time among the correct answers.";
|
3829
4109
|
var number_of_correct_answers$1 = "Number of correct answers";
|
3830
4110
|
var total_solve_time$1 = "Total solve time";
|
3831
4111
|
var number_of_answer$1 = "{{ number }}";
|
3832
4112
|
var time_comparison$1 = "Time comparison";
|
4113
|
+
var import_student_exam_results$1 = "Import Student Exam Results";
|
4114
|
+
var file_required$1 = "File is required";
|
4115
|
+
var exam_required$1 = "Exam is required";
|
4116
|
+
var teacher_required$1 = "Teacher is required";
|
3833
4117
|
var total_users$1 = "Total users";
|
3834
4118
|
var added_date$1 = "Added date";
|
4119
|
+
var sync_exam_results$1 = "Sync exam results";
|
3835
4120
|
var update_data_fail$1 = "Update data fail";
|
4121
|
+
var are_you_sure_to_sync_exam_results_to_academy$1 = "Are you sure to sync exam results to academy \"{{ academyName }}\" (it will run in the background and take a while)";
|
4122
|
+
var messages$1 = {
|
4123
|
+
exam_sessions_are_being_synchronized: "{{ total }} exam sessions are being synchronized"
|
4124
|
+
};
|
4125
|
+
var submit$1 = "Submit";
|
4126
|
+
var must_select_a_teacher_first$1 = "Must select a teacher first";
|
4127
|
+
var student_grade_is_invalid$1 = "Student grade must be from 1 to 12";
|
4128
|
+
var recent_users$1 = "Recent Users";
|
4129
|
+
var recent_students$1 = "Recent Students";
|
4130
|
+
var viewed_user$1 = "Viewed User";
|
4131
|
+
var viewed_QNA$1 = "Viewed Question&Answer";
|
4132
|
+
var viewed_exam_result$1 = "Viewed Exam Results";
|
4133
|
+
var printed_exam_result$1 = "Printed Exam Result";
|
4134
|
+
var viewed_attendance$1 = "Viewed Attendance";
|
4135
|
+
var updated_user$1 = "Updated User";
|
4136
|
+
var created_new_user$1 = "Created New User";
|
4137
|
+
var imported_user$1 = "Imported User";
|
4138
|
+
var imported_remove_user$1 = "Imported Remove User";
|
4139
|
+
var deleted_user$1 = "Deleted User";
|
4140
|
+
var completed_QNA$1 = "Completed Question&Answer";
|
4141
|
+
var answered_QNA$1 = "Answered Question&Answer";
|
4142
|
+
var remove_message_QNA$1 = "Remove Message Question&Answer";
|
4143
|
+
var update_message_QNA$1 = "Update Message Question&Answer";
|
4144
|
+
var updated_attendance$1 = "Updated Attendance";
|
4145
|
+
var added_teacher_to_class$1 = "Added Teacher To Class";
|
4146
|
+
var removed_teacher_from_class$1 = "Removed Teacher From Class";
|
4147
|
+
var added_student_to_class$1 = "Added Student To Class";
|
4148
|
+
var removed_student_from_class$1 = "Removed Student From Class";
|
4149
|
+
var exam_detail$1 = "Exam detail";
|
4150
|
+
var study_peak$1 = "Study Peak";
|
4151
|
+
var enter_pass_code$1 = "Enter pass code";
|
4152
|
+
var join_an_academy$1 = "Join an academy";
|
4153
|
+
var select_an_academy$1 = "Select an academy";
|
4154
|
+
var pass_code$1 = "Pass Code";
|
4155
|
+
var enter_academy_pass_code$1 = "Enter academy pass code";
|
4156
|
+
var authentication_failed$1 = "Authentication failed!";
|
4157
|
+
var verifying$1 = "Verifying...";
|
4158
|
+
var login$1 = "Login";
|
4159
|
+
var please_wait_a_moment$1 = "Please wait a moment";
|
4160
|
+
var oops_sorry$1 = "Oops, sorry!";
|
4161
|
+
var invitation_token_not_provided$1 = "Invitation token not provided";
|
4162
|
+
var academy_invitation$1 = "Academy invitation";
|
4163
|
+
var join_academy$1 = "Join academy";
|
4164
|
+
var you_need_to_log_out_of_your_current_academy_to_use_the_invite_link$1 = "You need to log out of your current academy to use the invite link";
|
4165
|
+
var you_need_to_log_out_of_your_current_academy_to_use_the_academy_join_link$1 = "You need to log out of your current academy to use the academy join link";
|
4166
|
+
var enter_academy_passcode$1 = "Enter Academy Pass Code";
|
4167
|
+
var academy_passcode$1 = "Academy Pass Code";
|
4168
|
+
var academy_invite$1 = "Academy Invite";
|
4169
|
+
var academy_invite_new_students$1 = "Academy Invite New Students";
|
4170
|
+
var create_passcode$1 = "Create Pass Code";
|
4171
|
+
var update_passcode$1 = "Update Pass Code";
|
4172
|
+
var is_active$1 = "IsActive";
|
4173
|
+
var limited_emails$1 = "Limited Emails";
|
4174
|
+
var limited_used_times$1 = "Limited Used Times";
|
4175
|
+
var used_times$1 = "Used Times";
|
4176
|
+
var update_data_successfully$1 = "Update Data Successfully";
|
4177
|
+
var reset_data_successfully$1 = "Reset Data Successfully";
|
4178
|
+
var limited_used_times_is_required$1 = "Limited Used Times is required";
|
4179
|
+
var limited_emails_is_required$1 = "Limited Emails is Required";
|
4180
|
+
var are_you_sure_you_want_to_delete_the_passcode$1 = "Are you sure you want to delete the passcode: {{passcode}}?";
|
4181
|
+
var expired_time$1 = "Expired Time";
|
4182
|
+
var expired_time_is_required$1 = "Expiry Time is required";
|
4183
|
+
var total_emails$1 = "Total Emails";
|
4184
|
+
var academy_invite_detail$1 = "Academy Invite Detail";
|
4185
|
+
var are_you_sure_to_delete_academy_invite$1 = "Are you sure to delete this academy invite?";
|
4186
|
+
var day$1 = "day";
|
4187
|
+
var days$1 = "days";
|
4188
|
+
var emails$1 = "Emails";
|
4189
|
+
var is_accepted$1 = "Is Accepted";
|
4190
|
+
var re_send$1 = "Resend";
|
4191
|
+
var revoke$1 = "Revoke";
|
4192
|
+
var resend_invite_successfully$1 = "Resend invite successfully";
|
4193
|
+
var revoke_invite_successfully$1 = "Revoke invite successfully";
|
4194
|
+
var create_invite_successfully$1 = "Create invite successfully";
|
4195
|
+
var must_be_a_number$1 = "Must be a number";
|
4196
|
+
var is_revoked$1 = "Is Revoked";
|
4197
|
+
var is_sent$1 = "Is Sent";
|
4198
|
+
var is_send$1 = "Is Send";
|
4199
|
+
var expired_date$1 = "Expired Date";
|
4200
|
+
var reset_passcode$1 = "Reset Used Times Pass Code";
|
4201
|
+
var at_academy$1 = "At academy";
|
4202
|
+
var sent_at$1 = "Sent at";
|
3836
4203
|
var lang_en = {
|
3837
4204
|
problem_solving: problem_solving$1,
|
3838
4205
|
my_story: my_story$1,
|
@@ -4485,9 +4852,94 @@ var lang_en = {
|
|
4485
4852
|
total_solve_time: total_solve_time$1,
|
4486
4853
|
number_of_answer: number_of_answer$1,
|
4487
4854
|
time_comparison: time_comparison$1,
|
4855
|
+
import_student_exam_results: import_student_exam_results$1,
|
4856
|
+
file_required: file_required$1,
|
4857
|
+
exam_required: exam_required$1,
|
4858
|
+
teacher_required: teacher_required$1,
|
4488
4859
|
total_users: total_users$1,
|
4489
4860
|
added_date: added_date$1,
|
4490
|
-
|
4861
|
+
sync_exam_results: sync_exam_results$1,
|
4862
|
+
update_data_fail: update_data_fail$1,
|
4863
|
+
are_you_sure_to_sync_exam_results_to_academy: are_you_sure_to_sync_exam_results_to_academy$1,
|
4864
|
+
messages: messages$1,
|
4865
|
+
submit: submit$1,
|
4866
|
+
must_select_a_teacher_first: must_select_a_teacher_first$1,
|
4867
|
+
student_grade_is_invalid: student_grade_is_invalid$1,
|
4868
|
+
recent_users: recent_users$1,
|
4869
|
+
recent_students: recent_students$1,
|
4870
|
+
viewed_user: viewed_user$1,
|
4871
|
+
viewed_QNA: viewed_QNA$1,
|
4872
|
+
viewed_exam_result: viewed_exam_result$1,
|
4873
|
+
printed_exam_result: printed_exam_result$1,
|
4874
|
+
viewed_attendance: viewed_attendance$1,
|
4875
|
+
updated_user: updated_user$1,
|
4876
|
+
created_new_user: created_new_user$1,
|
4877
|
+
imported_user: imported_user$1,
|
4878
|
+
imported_remove_user: imported_remove_user$1,
|
4879
|
+
deleted_user: deleted_user$1,
|
4880
|
+
completed_QNA: completed_QNA$1,
|
4881
|
+
answered_QNA: answered_QNA$1,
|
4882
|
+
remove_message_QNA: remove_message_QNA$1,
|
4883
|
+
update_message_QNA: update_message_QNA$1,
|
4884
|
+
updated_attendance: updated_attendance$1,
|
4885
|
+
added_teacher_to_class: added_teacher_to_class$1,
|
4886
|
+
removed_teacher_from_class: removed_teacher_from_class$1,
|
4887
|
+
added_student_to_class: added_student_to_class$1,
|
4888
|
+
removed_student_from_class: removed_student_from_class$1,
|
4889
|
+
exam_detail: exam_detail$1,
|
4890
|
+
study_peak: study_peak$1,
|
4891
|
+
enter_pass_code: enter_pass_code$1,
|
4892
|
+
join_an_academy: join_an_academy$1,
|
4893
|
+
select_an_academy: select_an_academy$1,
|
4894
|
+
pass_code: pass_code$1,
|
4895
|
+
enter_academy_pass_code: enter_academy_pass_code$1,
|
4896
|
+
authentication_failed: authentication_failed$1,
|
4897
|
+
verifying: verifying$1,
|
4898
|
+
login: login$1,
|
4899
|
+
please_wait_a_moment: please_wait_a_moment$1,
|
4900
|
+
oops_sorry: oops_sorry$1,
|
4901
|
+
invitation_token_not_provided: invitation_token_not_provided$1,
|
4902
|
+
academy_invitation: academy_invitation$1,
|
4903
|
+
join_academy: join_academy$1,
|
4904
|
+
you_need_to_log_out_of_your_current_academy_to_use_the_invite_link: you_need_to_log_out_of_your_current_academy_to_use_the_invite_link$1,
|
4905
|
+
you_need_to_log_out_of_your_current_academy_to_use_the_academy_join_link: you_need_to_log_out_of_your_current_academy_to_use_the_academy_join_link$1,
|
4906
|
+
enter_academy_passcode: enter_academy_passcode$1,
|
4907
|
+
academy_passcode: academy_passcode$1,
|
4908
|
+
academy_invite: academy_invite$1,
|
4909
|
+
academy_invite_new_students: academy_invite_new_students$1,
|
4910
|
+
create_passcode: create_passcode$1,
|
4911
|
+
update_passcode: update_passcode$1,
|
4912
|
+
is_active: is_active$1,
|
4913
|
+
limited_emails: limited_emails$1,
|
4914
|
+
limited_used_times: limited_used_times$1,
|
4915
|
+
used_times: used_times$1,
|
4916
|
+
update_data_successfully: update_data_successfully$1,
|
4917
|
+
reset_data_successfully: reset_data_successfully$1,
|
4918
|
+
limited_used_times_is_required: limited_used_times_is_required$1,
|
4919
|
+
limited_emails_is_required: limited_emails_is_required$1,
|
4920
|
+
are_you_sure_you_want_to_delete_the_passcode: are_you_sure_you_want_to_delete_the_passcode$1,
|
4921
|
+
expired_time: expired_time$1,
|
4922
|
+
expired_time_is_required: expired_time_is_required$1,
|
4923
|
+
total_emails: total_emails$1,
|
4924
|
+
academy_invite_detail: academy_invite_detail$1,
|
4925
|
+
are_you_sure_to_delete_academy_invite: are_you_sure_to_delete_academy_invite$1,
|
4926
|
+
day: day$1,
|
4927
|
+
days: days$1,
|
4928
|
+
emails: emails$1,
|
4929
|
+
is_accepted: is_accepted$1,
|
4930
|
+
re_send: re_send$1,
|
4931
|
+
revoke: revoke$1,
|
4932
|
+
resend_invite_successfully: resend_invite_successfully$1,
|
4933
|
+
revoke_invite_successfully: revoke_invite_successfully$1,
|
4934
|
+
create_invite_successfully: create_invite_successfully$1,
|
4935
|
+
must_be_a_number: must_be_a_number$1,
|
4936
|
+
is_revoked: is_revoked$1,
|
4937
|
+
is_sent: is_sent$1,
|
4938
|
+
is_send: is_send$1,
|
4939
|
+
expired_date: expired_date$1,
|
4940
|
+
reset_passcode: reset_passcode$1,
|
4941
|
+
at_academy: at_academy$1,
|
4942
|
+
sent_at: sent_at$1
|
4491
4943
|
};
|
4492
4944
|
|
4493
4945
|
i18n.use(reactI18next.initReactI18next).init({
|
@@ -4583,6 +5035,7 @@ var TheLanguageDropdown = function TheLanguageDropdown(_ref) {
|
|
4583
5035
|
};
|
4584
5036
|
|
4585
5037
|
var useSwitchAcademy = function useSwitchAcademy(role, history, homeAcademyUrl, homeUrl, canFetchAcademies) {
|
5038
|
+
var _user$roles;
|
4586
5039
|
if (role === void 0) {
|
4587
5040
|
role = exports.Role.Student;
|
4588
5041
|
}
|
@@ -4658,8 +5111,9 @@ var useSwitchAcademy = function useSwitchAcademy(role, history, homeAcademyUrl,
|
|
4658
5111
|
isLoading && dispatch(setLoading(true));
|
4659
5112
|
var academyId = selectedAcademy ? selectedAcademy.id : 0;
|
4660
5113
|
var academyDomain = selectedAcademy ? selectedAcademy.domain : undefined;
|
5114
|
+
var isSuperAdminUser = user && !user.academyDomain;
|
4661
5115
|
var _temp4 = _catch(function () {
|
4662
|
-
return Promise.resolve(switchAcademy(academyId)).then(function (res) {
|
5116
|
+
return Promise.resolve(isSuperAdminUser ? switchSuperAdminAcademy(academyId, role) : switchAcademy(academyId, role)).then(function (res) {
|
4663
5117
|
var data = res.data;
|
4664
5118
|
var requestBody = {
|
4665
5119
|
accessToken: data.accessToken,
|
@@ -4680,16 +5134,15 @@ var useSwitchAcademy = function useSwitchAcademy(role, history, homeAcademyUrl,
|
|
4680
5134
|
return Promise.reject(e);
|
4681
5135
|
}
|
4682
5136
|
};
|
4683
|
-
var handleLogOutAcademy = function handleLogOutAcademy(
|
5137
|
+
var handleLogOutAcademy = function handleLogOutAcademy(callback) {
|
4684
5138
|
try {
|
4685
5139
|
var _temp7 = function _temp7() {
|
4686
5140
|
dispatch(setLoading(false));
|
4687
5141
|
callback();
|
4688
5142
|
};
|
4689
5143
|
dispatch(setLoading(true));
|
4690
|
-
var academyDomain = selectedAcademy ? selectedAcademy.domain : undefined;
|
4691
5144
|
var _temp6 = _catch(function () {
|
4692
|
-
return Promise.resolve(switchAcademy(0)).then(function (res) {
|
5145
|
+
return Promise.resolve(switchAcademy(0, role)).then(function (res) {
|
4693
5146
|
var data = res.data;
|
4694
5147
|
var requestBody = {
|
4695
5148
|
accessToken: data.accessToken,
|
@@ -4697,12 +5150,11 @@ var useSwitchAcademy = function useSwitchAcademy(role, history, homeAcademyUrl,
|
|
4697
5150
|
academyId: 0,
|
4698
5151
|
role: role
|
4699
5152
|
};
|
4700
|
-
|
4701
|
-
|
4702
|
-
return Promise.resolve(handleLoginAccessToken(requestBody, false, user.academyDomain ? academyDomain : undefined)).then(function () {});
|
5153
|
+
localStorage.removeItem(ACADEMY_DOMAIN);
|
5154
|
+
return Promise.resolve(handleLoginAccessToken(requestBody, false)).then(function () {});
|
4703
5155
|
});
|
4704
5156
|
}, function (error) {
|
4705
|
-
|
5157
|
+
localStorage.removeItem(ACADEMY_DOMAIN);
|
4706
5158
|
reactToastify.toast.error(getErrorMessage(t, error));
|
4707
5159
|
});
|
4708
5160
|
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(_temp7) : _temp7(_temp6));
|
@@ -4712,7 +5164,7 @@ var useSwitchAcademy = function useSwitchAcademy(role, history, homeAcademyUrl,
|
|
4712
5164
|
};
|
4713
5165
|
React.useEffect(function () {
|
4714
5166
|
canFetchAcademies && getAcademies();
|
4715
|
-
}, [canFetchAcademies, user === null || user === void 0 ? void 0 : user.academyDomain, user === null || user === void 0 ? void 0 : user.email]);
|
5167
|
+
}, [canFetchAcademies, user === null || user === void 0 ? void 0 : user.academyDomain, user === null || user === void 0 ? void 0 : user.email, user === null || user === void 0 ? void 0 : (_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.join(",")]);
|
4716
5168
|
React.useEffect(function () {
|
4717
5169
|
canFetchAcademies && isReFetchUserAcademies && getAcademies(false);
|
4718
5170
|
}, [canFetchAcademies, isReFetchUserAcademies]);
|
@@ -4808,7 +5260,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
4808
5260
|
display: "flex",
|
4809
5261
|
alignItems: "center"
|
4810
5262
|
}
|
4811
|
-
},
|
5263
|
+
}, React__default.createElement(material.Stack, {
|
4812
5264
|
flexDirection: "column",
|
4813
5265
|
gap: "2px"
|
4814
5266
|
}, React__default.createElement(material.Typography, {
|
@@ -4829,28 +5281,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
4829
5281
|
lineHeight: '1.5em',
|
4830
5282
|
color: styles.gray_500
|
4831
5283
|
}
|
4832
|
-
}, selectedAcademy.name))
|
4833
|
-
flexDirection: "column",
|
4834
|
-
gap: "2px"
|
4835
|
-
}, React__default.createElement(material.Typography, {
|
4836
|
-
textAlign: "start",
|
4837
|
-
className: "" + styles["line-clamp"],
|
4838
|
-
sx: {
|
4839
|
-
fontSize: 14,
|
4840
|
-
fontWeight: 900,
|
4841
|
-
lineHeight: '1.5em',
|
4842
|
-
color: styles.gray_900
|
4843
|
-
}
|
4844
|
-
}), React__default.createElement(material.Typography, {
|
4845
|
-
textAlign: "start",
|
4846
|
-
className: "" + styles["line-clamp"],
|
4847
|
-
sx: {
|
4848
|
-
fontSize: 14,
|
4849
|
-
fontWeight: 600,
|
4850
|
-
lineHeight: '1.5em',
|
4851
|
-
color: styles.gray_500
|
4852
|
-
}
|
4853
|
-
}, t("no_academy_selected"))))), React__default.createElement(material.Grid, {
|
5284
|
+
}, selectedAcademy !== null && selectedAcademy !== void 0 && selectedAcademy.name ? selectedAcademy.name : t("no_academy_selected"))))), React__default.createElement(material.Grid, {
|
4854
5285
|
item: true,
|
4855
5286
|
xs: 6,
|
4856
5287
|
lg: 2,
|
@@ -4950,7 +5381,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
4950
5381
|
}
|
4951
5382
|
}, option.name))), option.id === (selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.id) && React__default.createElement("div", {
|
4952
5383
|
onClick: function onClick() {
|
4953
|
-
return handleLogOutAcademy(
|
5384
|
+
return handleLogOutAcademy(handleClose);
|
4954
5385
|
}
|
4955
5386
|
}, React__default.createElement(io5.IoCloseCircle, {
|
4956
5387
|
size: 18,
|
@@ -6455,14 +6886,14 @@ var MessageStatus;
|
|
6455
6886
|
})(MessageStatus || (MessageStatus = {}));
|
6456
6887
|
|
6457
6888
|
var types = {
|
6458
|
-
|
6459
|
-
|
6460
|
-
|
6461
|
-
|
6462
|
-
|
6463
|
-
|
6464
|
-
|
6465
|
-
|
6889
|
+
__proto__: null,
|
6890
|
+
get MessageSortBy () { return MessageSortBy; },
|
6891
|
+
get OrderBy () { return OrderBy; },
|
6892
|
+
get StudentSortBy () { return StudentSortBy; },
|
6893
|
+
get StudentOrderBy () { return StudentOrderBy; },
|
6894
|
+
get MessageAction () { return MessageAction; },
|
6895
|
+
get MessageSourceType () { return MessageSourceType; },
|
6896
|
+
get MessageStatus () { return MessageStatus; }
|
6466
6897
|
};
|
6467
6898
|
|
6468
6899
|
var ExamStatus;
|
@@ -6486,7 +6917,8 @@ var MESSAGE_DEFAULT_FILTER = {
|
|
6486
6917
|
sortColumnName: MessageSortBy.CreatedAt
|
6487
6918
|
};
|
6488
6919
|
|
6489
|
-
var useMessageList = function useMessageList() {
|
6920
|
+
var useMessageList = function useMessageList(_ref) {
|
6921
|
+
var student = _ref.student;
|
6490
6922
|
var _useState = React.useState([]),
|
6491
6923
|
messages = _useState[0],
|
6492
6924
|
setMessages = _useState[1];
|
@@ -6498,13 +6930,19 @@ var useMessageList = function useMessageList() {
|
|
6498
6930
|
setLoading = _useState3[1];
|
6499
6931
|
var _useTranslation = reactI18next.useTranslation(),
|
6500
6932
|
t = _useTranslation.t;
|
6933
|
+
var roles = reactRedux.useSelector(function (state) {
|
6934
|
+
var _state$common, _state$common$user;
|
6935
|
+
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.roles) || [];
|
6936
|
+
});
|
6937
|
+
var isTeacher = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Teacher);
|
6938
|
+
var isFirst = true;
|
6501
6939
|
var getMessageList = function getMessageList(conversationId) {
|
6502
6940
|
try {
|
6503
|
-
var
|
6941
|
+
var _temp3 = function _temp3() {
|
6504
6942
|
setLoading(false);
|
6505
6943
|
};
|
6506
6944
|
setLoading(true);
|
6507
|
-
var
|
6945
|
+
var _temp2 = _catch(function () {
|
6508
6946
|
var filter = _extends({}, messageFilter);
|
6509
6947
|
return Promise.resolve(getMessagesByConversation(conversationId, filter)).then(function (res) {
|
6510
6948
|
return Promise.resolve(updateLastTimeReadConversation(conversationId)).then(function () {
|
@@ -6516,19 +6954,32 @@ var useMessageList = function useMessageList() {
|
|
6516
6954
|
totalPages: res.data.totalPages
|
6517
6955
|
});
|
6518
6956
|
});
|
6957
|
+
var _temp = function () {
|
6958
|
+
if (isFirst && isTeacher) {
|
6959
|
+
return Promise.resolve(createRecentUserActionListApi({
|
6960
|
+
userId: (student === null || student === void 0 ? void 0 : student.id) || 0,
|
6961
|
+
action: RecentUserAction$1.ViewedQNA,
|
6962
|
+
data: "" + conversationId,
|
6963
|
+
roles: [exports.Role.Teacher]
|
6964
|
+
})).then(function () {
|
6965
|
+
isFirst = false;
|
6966
|
+
});
|
6967
|
+
}
|
6968
|
+
}();
|
6969
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
6519
6970
|
});
|
6520
6971
|
});
|
6521
6972
|
}, function (error) {
|
6522
6973
|
reactToastify.toast.error(getErrorMessage(t, error));
|
6523
6974
|
});
|
6524
|
-
return Promise.resolve(
|
6975
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
|
6525
6976
|
} catch (e) {
|
6526
6977
|
return Promise.reject(e);
|
6527
6978
|
}
|
6528
6979
|
};
|
6529
6980
|
var handleLoadMore = function handleLoadMore(conversationId) {
|
6530
6981
|
try {
|
6531
|
-
var
|
6982
|
+
var _temp5 = function _temp5(_result) {
|
6532
6983
|
if (_exit) return _result;
|
6533
6984
|
setLoading(false);
|
6534
6985
|
return true;
|
@@ -6539,7 +6990,7 @@ var useMessageList = function useMessageList() {
|
|
6539
6990
|
currentPage: ((messageFilter === null || messageFilter === void 0 ? void 0 : messageFilter.currentPage) || 1) + 1
|
6540
6991
|
});
|
6541
6992
|
setLoading(true);
|
6542
|
-
var
|
6993
|
+
var _temp4 = _catch(function () {
|
6543
6994
|
return Promise.resolve(getMessagesByConversation(conversationId, filter)).then(function (res) {
|
6544
6995
|
return Promise.resolve(updateLastTimeReadConversation(conversationId)).then(function () {
|
6545
6996
|
if (res.data.items.length) {
|
@@ -6563,7 +7014,7 @@ var useMessageList = function useMessageList() {
|
|
6563
7014
|
reactToastify.toast.error(getErrorMessage(t, error));
|
6564
7015
|
_exit = true;
|
6565
7016
|
});
|
6566
|
-
return Promise.resolve(
|
7017
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
6567
7018
|
} catch (e) {
|
6568
7019
|
return Promise.reject(e);
|
6569
7020
|
}
|
@@ -6574,19 +7025,19 @@ var useMessageList = function useMessageList() {
|
|
6574
7025
|
};
|
6575
7026
|
var handleDeleteMessage = function handleDeleteMessage(conversationId, id, callback) {
|
6576
7027
|
try {
|
6577
|
-
var
|
7028
|
+
var _temp7 = function _temp7(_result2) {
|
6578
7029
|
if (_exit2) return _result2;
|
6579
7030
|
callback();
|
6580
7031
|
};
|
6581
7032
|
var _exit2 = false;
|
6582
7033
|
if (isLoading) return Promise.resolve();
|
6583
|
-
var
|
7034
|
+
var _temp6 = _catch(function () {
|
6584
7035
|
return Promise.resolve(deleteMessage(conversationId, id)).then(function () {});
|
6585
7036
|
}, function (error) {
|
6586
7037
|
reactToastify.toast.error(getErrorMessage(t, error));
|
6587
7038
|
_exit2 = true;
|
6588
7039
|
});
|
6589
|
-
return Promise.resolve(
|
7040
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(_temp7) : _temp7(_temp6));
|
6590
7041
|
} catch (e) {
|
6591
7042
|
return Promise.reject(e);
|
6592
7043
|
}
|
@@ -6610,19 +7061,19 @@ var useMessageList = function useMessageList() {
|
|
6610
7061
|
};
|
6611
7062
|
var handleUpdateMessage = function handleUpdateMessage(conversationId, id, message, callback) {
|
6612
7063
|
try {
|
6613
|
-
var
|
7064
|
+
var _temp9 = function _temp9(_result3) {
|
6614
7065
|
if (_exit3) return _result3;
|
6615
7066
|
setLoading(false);
|
6616
7067
|
callback();
|
6617
7068
|
};
|
6618
7069
|
var _exit3 = false;
|
6619
|
-
var
|
7070
|
+
var _temp8 = _catch(function () {
|
6620
7071
|
return Promise.resolve(updateMessage(conversationId, id, message)).then(function () {});
|
6621
7072
|
}, function (error) {
|
6622
7073
|
reactToastify.toast.error(getErrorMessage(t, error));
|
6623
7074
|
_exit3 = true;
|
6624
7075
|
});
|
6625
|
-
return Promise.resolve(
|
7076
|
+
return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp9) : _temp9(_temp8));
|
6626
7077
|
} catch (e) {
|
6627
7078
|
return Promise.reject(e);
|
6628
7079
|
}
|
@@ -6677,7 +7128,9 @@ var useChatContainer = function useChatContainer(props) {
|
|
6677
7128
|
var _useState4 = React.useState(true),
|
6678
7129
|
isScrollToEnd = _useState4[0],
|
6679
7130
|
setScrollToEnd = _useState4[1];
|
6680
|
-
var _useMessageList = useMessageList(
|
7131
|
+
var _useMessageList = useMessageList({
|
7132
|
+
student: student
|
7133
|
+
}),
|
6681
7134
|
isLoadingMessages = _useMessageList.isLoading,
|
6682
7135
|
messages = _useMessageList.messages,
|
6683
7136
|
messageFilter = _useMessageList.messageFilter,
|
@@ -6960,8 +7413,10 @@ var usePusherConversation = function usePusherConversation(onNewMessageConversat
|
|
6960
7413
|
return {};
|
6961
7414
|
};
|
6962
7415
|
|
7416
|
+
var _templateObject;
|
7417
|
+
var BorderedTextField = material.styled(material.TextField)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n & .MuiOutlinedInput-root {\n &.Mui-focused fieldset {\n border-width: 1px;\n border-color: ", ";\n }\n }\n & .MuiOutlinedInput-root:hover {\n fieldset {\n border-width: 1px;\n border-color: ", ";\n }\n }\n"])), styles.dark, styles.less_dark);
|
6963
7418
|
var InputText = function InputText(props) {
|
6964
|
-
return React__default.createElement(
|
7419
|
+
return React__default.createElement(BorderedTextField, Object.assign({
|
6965
7420
|
sx: {
|
6966
7421
|
"& input": {
|
6967
7422
|
py: "7.5px",
|
@@ -7753,12 +8208,22 @@ var OrderType;
|
|
7753
8208
|
OrderType["DESC"] = "DESC";
|
7754
8209
|
})(OrderType || (OrderType = {}));
|
7755
8210
|
|
8211
|
+
var RecentUserAction$1;
|
8212
|
+
(function (RecentUserAction) {
|
8213
|
+
RecentUserAction["ViewedUser"] = "ViewedUser";
|
8214
|
+
RecentUserAction["ViewedQNA"] = "ViewedQNA";
|
8215
|
+
RecentUserAction["ViewedExamResult"] = "ViewedExamResult";
|
8216
|
+
RecentUserAction["PrintedExamResult"] = "PrintedExamResult";
|
8217
|
+
RecentUserAction["ViewedAttendance"] = "ViewedAttendance";
|
8218
|
+
})(RecentUserAction$1 || (RecentUserAction$1 = {}));
|
8219
|
+
|
7756
8220
|
|
7757
8221
|
|
7758
8222
|
var index = {
|
7759
|
-
|
7760
|
-
|
7761
|
-
|
8223
|
+
__proto__: null,
|
8224
|
+
get OrderType () { return OrderType; },
|
8225
|
+
get ExamStatus () { return ExamStatus$1; },
|
8226
|
+
get RecentUserAction () { return RecentUserAction$1; }
|
7762
8227
|
};
|
7763
8228
|
|
7764
8229
|
var TextbookSortBy;
|
@@ -8002,6 +8467,8 @@ var useExam = function useExam(props) {
|
|
8002
8467
|
};
|
8003
8468
|
};
|
8004
8469
|
|
8470
|
+
var PAGE_TITLE_DETAIL = "textbook_detail";
|
8471
|
+
var PAGE_TITLE_CREATE = "create_textbook";
|
8005
8472
|
var useTextbookDetail = function useTextbookDetail(props) {
|
8006
8473
|
var role = props.role,
|
8007
8474
|
isReadonlyParam = props.isReadonlyParam,
|
@@ -8703,7 +9170,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8703
9170
|
handleChangeExamRequest(exam);
|
8704
9171
|
};
|
8705
9172
|
React.useEffect(function () {
|
8706
|
-
document.title = t("
|
9173
|
+
document.title = t("study_peak") + " | " + t(id ? PAGE_TITLE_DETAIL : PAGE_TITLE_CREATE);
|
8707
9174
|
}, [id, t]);
|
8708
9175
|
React.useEffect(function () {
|
8709
9176
|
setReadonly(textbook.isCreatedByAdmin || !!isReadonlyParam);
|
@@ -9761,6 +10228,22 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
9761
10228
|
}));
|
9762
10229
|
};
|
9763
10230
|
|
10231
|
+
var checkSuperUrl = function checkSuperUrl(superUrls, pathname) {
|
10232
|
+
return superUrls.some(function (i) {
|
10233
|
+
if (i.includes(":")) {
|
10234
|
+
var urls = i.split("/");
|
10235
|
+
var names = pathname.split("/");
|
10236
|
+
if (urls.length != names.length) return false;
|
10237
|
+
var isMatches = true;
|
10238
|
+
urls.forEach(function (u, index) {
|
10239
|
+
if (u != names[index] && !u.startsWith(":")) isMatches = false;
|
10240
|
+
});
|
10241
|
+
return isMatches;
|
10242
|
+
}
|
10243
|
+
return pathname.startsWith(i);
|
10244
|
+
});
|
10245
|
+
};
|
10246
|
+
|
9764
10247
|
var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superUrls, homeUrl, homeAcademyUrl, isAuthPage) {
|
9765
10248
|
if (isAuthPage === void 0) {
|
9766
10249
|
isAuthPage = true;
|
@@ -9779,9 +10262,7 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
|
|
9779
10262
|
var paramAcademyDomain = searchParams.get("domain");
|
9780
10263
|
var domain = getAcademyDomain();
|
9781
10264
|
if (!!email !== isAuthPage) return;
|
9782
|
-
var isSuperUrl = superUrls
|
9783
|
-
return pathname.startsWith(i);
|
9784
|
-
});
|
10265
|
+
var isSuperUrl = checkSuperUrl(superUrls, pathname);
|
9785
10266
|
if (!academyDomain) {
|
9786
10267
|
if (!isSuperUrl) {
|
9787
10268
|
!paramAcademyDomain && domain && searchParams.set("domain", domain);
|
@@ -9822,7 +10303,7 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
|
|
9822
10303
|
};
|
9823
10304
|
React.useEffect(function () {
|
9824
10305
|
changeAcademySearchParams();
|
9825
|
-
}, [
|
10306
|
+
}, [pathname, window.location.search, isAuthPage, email, academyDomain]);
|
9826
10307
|
};
|
9827
10308
|
|
9828
10309
|
var DEFAULT_PAGING_RESPONSE = {
|
@@ -9940,12 +10421,13 @@ var useList = function useList(fetchData, defaultQuery) {
|
|
9940
10421
|
|
9941
10422
|
|
9942
10423
|
var index$1 = {
|
9943
|
-
|
9944
|
-
|
9945
|
-
|
9946
|
-
|
10424
|
+
__proto__: null,
|
10425
|
+
useLogin: useLogin,
|
10426
|
+
useAutoAcademyDomain: useAutoAcademyDomain,
|
10427
|
+
useList: useList
|
9947
10428
|
};
|
9948
10429
|
|
10430
|
+
var PAGE_TITLE$1 = "textbooks";
|
9949
10431
|
var useTextbookList = function useTextbookList(props) {
|
9950
10432
|
var role = props.role,
|
9951
10433
|
navigate = props.navigate;
|
@@ -10009,6 +10491,9 @@ var useTextbookList = function useTextbookList(props) {
|
|
10009
10491
|
return Promise.reject(e);
|
10010
10492
|
}
|
10011
10493
|
};
|
10494
|
+
React.useEffect(function () {
|
10495
|
+
document.title = t("study_peak") + " | " + t(PAGE_TITLE$1);
|
10496
|
+
}, [t]);
|
10012
10497
|
return {
|
10013
10498
|
filter: filter,
|
10014
10499
|
textSearchRef: textSearchRef,
|
@@ -10232,9 +10717,9 @@ var TextbookList = function TextbookList(props) {
|
|
10232
10717
|
|
10233
10718
|
|
10234
10719
|
var index$2 = {
|
10235
|
-
|
10236
|
-
|
10237
|
-
|
10720
|
+
__proto__: null,
|
10721
|
+
TextbookList: TextbookList,
|
10722
|
+
TextbookDetail: TextbookViewDetail
|
10238
10723
|
};
|
10239
10724
|
|
10240
10725
|
var _excluded$5 = ["defaultValue", "options", "isDisabled", "scrollBottom", "value", "isMulti"];
|
@@ -10344,9 +10829,6 @@ var getResultsCategoriesTeacher = function getResultsCategoriesTeacher(id, stude
|
|
10344
10829
|
var createConversationApi = function createConversationApi(data) {
|
10345
10830
|
return api.post(BASE_URL + "/api/conversation", data);
|
10346
10831
|
};
|
10347
|
-
var getCheckStatusExam = function getCheckStatusExam(examCode) {
|
10348
|
-
return api.get(EXAM_SESSION_URL + "/" + examCode + "/status");
|
10349
|
-
};
|
10350
10832
|
|
10351
10833
|
var toNumberOrder = function toNumberOrder(value) {
|
10352
10834
|
return "The " + value + (value % 10 === 1 ? 'st' : value % 10 === 2 ? 'nd' : value % 10 === 3 ? 'rd' : 'th');
|
@@ -11145,6 +11627,28 @@ var defaultSeries = function defaultSeries(t) {
|
|
11145
11627
|
}];
|
11146
11628
|
};
|
11147
11629
|
|
11630
|
+
var RECENT_USER_URL = BASE_URL + "/api/recentUsers";
|
11631
|
+
var getRecentUserActionListApi = function getRecentUserActionListApi(query) {
|
11632
|
+
return api.get("" + RECENT_USER_URL, {
|
11633
|
+
params: _extends({}, query)
|
11634
|
+
});
|
11635
|
+
};
|
11636
|
+
var createRecentUserActionListApi = function createRecentUserActionListApi(_ref) {
|
11637
|
+
var userId = _ref.userId,
|
11638
|
+
action = _ref.action,
|
11639
|
+
data = _ref.data,
|
11640
|
+
roles = _ref.roles;
|
11641
|
+
return api.post("" + RECENT_USER_URL, {
|
11642
|
+
userId: userId,
|
11643
|
+
action: action,
|
11644
|
+
data: data
|
11645
|
+
}, {
|
11646
|
+
params: {
|
11647
|
+
roles: roles
|
11648
|
+
}
|
11649
|
+
});
|
11650
|
+
};
|
11651
|
+
|
11148
11652
|
var useExamResult = function useExamResult(searchParam, history, examSessionId, studentId, code, handleChangeTab, selectedTab) {
|
11149
11653
|
var _allSeries$dataChartI;
|
11150
11654
|
if (examSessionId === void 0) {
|
@@ -11169,97 +11673,94 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11169
11673
|
var _state$common2;
|
11170
11674
|
return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
|
11171
11675
|
});
|
11172
|
-
var _useState = React.useState(),
|
11173
|
-
|
11174
|
-
|
11676
|
+
var _useState = React.useState(false),
|
11677
|
+
isLoading = _useState[0],
|
11678
|
+
setIsLoading = _useState[1];
|
11175
11679
|
var _useState2 = React.useState(),
|
11176
|
-
|
11177
|
-
|
11178
|
-
var _useState3 = React.useState(
|
11179
|
-
|
11180
|
-
|
11680
|
+
resultData = _useState2[0],
|
11681
|
+
setResultData = _useState2[1];
|
11682
|
+
var _useState3 = React.useState(),
|
11683
|
+
effectSize = _useState3[0],
|
11684
|
+
setEffectSize = _useState3[1];
|
11181
11685
|
var _useState4 = React.useState([]),
|
11182
|
-
|
11183
|
-
|
11686
|
+
longTimeSpend = _useState4[0],
|
11687
|
+
setLongTimeSpend = _useState4[1];
|
11184
11688
|
var _useState5 = React.useState([]),
|
11185
|
-
|
11186
|
-
|
11187
|
-
var _useState6 = React.useState(
|
11188
|
-
|
11189
|
-
|
11190
|
-
var _useState7 = React.useState(
|
11191
|
-
|
11192
|
-
|
11689
|
+
timelyOrderQuestions = _useState5[0],
|
11690
|
+
setTimelyOrderQuestions = _useState5[1];
|
11691
|
+
var _useState6 = React.useState([]),
|
11692
|
+
categoryResponses = _useState6[0],
|
11693
|
+
setCategoryResponses = _useState6[1];
|
11694
|
+
var _useState7 = React.useState(0),
|
11695
|
+
dataChartIndex = _useState7[0],
|
11696
|
+
setDataChartIndex = _useState7[1];
|
11697
|
+
var _useState8 = React.useState(""),
|
11698
|
+
openProblem = _useState8[0],
|
11699
|
+
setOpenProblem = _useState8[1];
|
11193
11700
|
var _useTranslation = reactI18next.useTranslation(),
|
11194
11701
|
t = _useTranslation.t;
|
11195
11702
|
var getStudentData = function getStudentData(examCode) {
|
11196
11703
|
try {
|
11197
|
-
var
|
11198
|
-
|
11199
|
-
dispatch(setLoading(false));
|
11200
|
-
}
|
11201
|
-
var _temp = _catch(function () {
|
11202
|
-
return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
|
11203
|
-
var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
|
11204
|
-
handleChangeTab(0);
|
11205
|
-
setDataChartIndex(0);
|
11206
|
-
setResultData((_result$0$data = result[0].data) === null || _result$0$data === void 0 ? void 0 : _result$0$data.data);
|
11207
|
-
setLongTimeSpend((_result$1$data = result[1].data) === null || _result$1$data === void 0 ? void 0 : _result$1$data.data);
|
11208
|
-
setEffectSize((_result$2$data = result[2].data) === null || _result$2$data === void 0 ? void 0 : _result$2$data.data);
|
11209
|
-
setTimelyOrderQuestions((_result$3$data = result[3].data) === null || _result$3$data === void 0 ? void 0 : _result$3$data.data);
|
11210
|
-
setCategoryResponses(((_result$4$data = result[4].data) === null || _result$4$data === void 0 ? void 0 : _result$4$data.data) || []);
|
11211
|
-
});
|
11212
|
-
}, function (error) {
|
11213
|
-
reactToastify.toast.error(getErrorMessage(t, error));
|
11214
|
-
});
|
11215
|
-
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
11704
|
+
var _temp2 = function _temp2() {
|
11705
|
+
setIsLoading(false);
|
11216
11706
|
};
|
11217
11707
|
if (!examCode) return Promise.resolve();
|
11218
|
-
|
11219
|
-
var
|
11220
|
-
return Promise.resolve(
|
11221
|
-
|
11222
|
-
|
11223
|
-
|
11708
|
+
setIsLoading(true);
|
11709
|
+
var _temp = _catch(function () {
|
11710
|
+
return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
|
11711
|
+
var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
|
11712
|
+
handleChangeTab(0);
|
11713
|
+
setDataChartIndex(0);
|
11714
|
+
setResultData((_result$0$data = result[0].data) === null || _result$0$data === void 0 ? void 0 : _result$0$data.data);
|
11715
|
+
setLongTimeSpend((_result$1$data = result[1].data) === null || _result$1$data === void 0 ? void 0 : _result$1$data.data);
|
11716
|
+
setEffectSize((_result$2$data = result[2].data) === null || _result$2$data === void 0 ? void 0 : _result$2$data.data);
|
11717
|
+
setTimelyOrderQuestions((_result$3$data = result[3].data) === null || _result$3$data === void 0 ? void 0 : _result$3$data.data);
|
11718
|
+
setCategoryResponses(((_result$4$data = result[4].data) === null || _result$4$data === void 0 ? void 0 : _result$4$data.data) || []);
|
11224
11719
|
});
|
11720
|
+
}, function (error) {
|
11721
|
+
reactToastify.toast.error(getErrorMessage(t, error));
|
11225
11722
|
});
|
11226
|
-
return Promise.resolve(
|
11723
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
11227
11724
|
} catch (e) {
|
11228
11725
|
return Promise.reject(e);
|
11229
11726
|
}
|
11230
11727
|
};
|
11231
11728
|
var getStudentDataByTeacher = function getStudentDataByTeacher(examCode, examSessionId, studentId) {
|
11232
11729
|
try {
|
11233
|
-
var
|
11234
|
-
|
11235
|
-
dispatch(setLoading(false));
|
11236
|
-
}
|
11237
|
-
var _temp5 = _catch(function () {
|
11238
|
-
return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
|
11239
|
-
var _result$0$data2, _result$1$data2, _result$2$data2, _result$3$data2, _result$4$data2;
|
11240
|
-
handleChangeTab(0);
|
11241
|
-
setDataChartIndex(0);
|
11242
|
-
setResultData((_result$0$data2 = result[0].data) === null || _result$0$data2 === void 0 ? void 0 : _result$0$data2.data);
|
11243
|
-
setLongTimeSpend((_result$1$data2 = result[1].data) === null || _result$1$data2 === void 0 ? void 0 : _result$1$data2.data);
|
11244
|
-
setEffectSize((_result$2$data2 = result[2].data) === null || _result$2$data2 === void 0 ? void 0 : _result$2$data2.data);
|
11245
|
-
setTimelyOrderQuestions((_result$3$data2 = result[3].data) === null || _result$3$data2 === void 0 ? void 0 : _result$3$data2.data);
|
11246
|
-
setCategoryResponses(((_result$4$data2 = result[4].data) === null || _result$4$data2 === void 0 ? void 0 : _result$4$data2.data) || []);
|
11247
|
-
});
|
11248
|
-
}, function (error) {
|
11249
|
-
reactToastify.toast.error(getErrorMessage(t, error));
|
11250
|
-
});
|
11251
|
-
return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
|
11730
|
+
var _temp5 = function _temp5() {
|
11731
|
+
setIsLoading(false);
|
11252
11732
|
};
|
11253
11733
|
if (!examCode || !examSessionId || !studentId) return Promise.resolve();
|
11254
|
-
|
11255
|
-
var
|
11256
|
-
return Promise.resolve(
|
11257
|
-
|
11258
|
-
|
11259
|
-
|
11734
|
+
setIsLoading(true);
|
11735
|
+
var _temp4 = _catch(function () {
|
11736
|
+
return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
|
11737
|
+
var _result$0$data2, _result$1$data2, _result$2$data2, _result$3$data2, _result$4$data2;
|
11738
|
+
function _temp3(_createRecentUserActi) {
|
11739
|
+
_createRecentUserActi;
|
11740
|
+
}
|
11741
|
+
handleChangeTab(0);
|
11742
|
+
setDataChartIndex(0);
|
11743
|
+
setResultData((_result$0$data2 = result[0].data) === null || _result$0$data2 === void 0 ? void 0 : _result$0$data2.data);
|
11744
|
+
setLongTimeSpend((_result$1$data2 = result[1].data) === null || _result$1$data2 === void 0 ? void 0 : _result$1$data2.data);
|
11745
|
+
setEffectSize((_result$2$data2 = result[2].data) === null || _result$2$data2 === void 0 ? void 0 : _result$2$data2.data);
|
11746
|
+
setTimelyOrderQuestions((_result$3$data2 = result[3].data) === null || _result$3$data2 === void 0 ? void 0 : _result$3$data2.data);
|
11747
|
+
setCategoryResponses(((_result$4$data2 = result[4].data) === null || _result$4$data2 === void 0 ? void 0 : _result$4$data2.data) || []);
|
11748
|
+
return isStudent ? _temp3(!isStudent && createRecentUserActionListApi({
|
11749
|
+
userId: studentId,
|
11750
|
+
action: RecentUserAction$1.ViewedExamResult,
|
11751
|
+
data: "" + examSessionId,
|
11752
|
+
roles: [exports.Role.Teacher]
|
11753
|
+
})) : Promise.resolve(!isStudent && createRecentUserActionListApi({
|
11754
|
+
userId: studentId,
|
11755
|
+
action: RecentUserAction$1.ViewedExamResult,
|
11756
|
+
data: "" + examSessionId,
|
11757
|
+
roles: [exports.Role.Teacher]
|
11758
|
+
})).then(_temp3);
|
11260
11759
|
});
|
11760
|
+
}, function (error) {
|
11761
|
+
reactToastify.toast.error(getErrorMessage(t, error));
|
11261
11762
|
});
|
11262
|
-
return Promise.resolve(
|
11763
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
11263
11764
|
} catch (e) {
|
11264
11765
|
return Promise.reject(e);
|
11265
11766
|
}
|
@@ -11435,13 +11936,13 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11435
11936
|
var series = (_allSeries$dataChartI = allSeries[dataChartIndex]) != null ? _allSeries$dataChartI : defaultSeries(t);
|
11436
11937
|
var handleExportPdf = function handleExportPdf() {
|
11437
11938
|
try {
|
11438
|
-
var
|
11939
|
+
var _temp24 = function _temp24(_result) {
|
11439
11940
|
if (_exit) return _result;
|
11440
11941
|
dispatch(setLoading(false));
|
11441
11942
|
};
|
11442
11943
|
var _exit = false;
|
11443
11944
|
dispatch(setLoading(true));
|
11444
|
-
var
|
11945
|
+
var _temp23 = _catch(function () {
|
11445
11946
|
var canvas = document.querySelector("#canvas");
|
11446
11947
|
var headerCanvas = document.querySelector("#header-canvas");
|
11447
11948
|
if (!canvas || !headerCanvas) {
|
@@ -11463,24 +11964,38 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11463
11964
|
var imgWidth = WIDTH_PAPER;
|
11464
11965
|
var chartWidth = WIDTH_PAPER - 20;
|
11465
11966
|
return Promise.resolve(html2canvas(headerCanvas)).then(function (header) {
|
11466
|
-
function
|
11967
|
+
function _temp22() {
|
11968
|
+
function _temp20(_createRecentUserActi2) {
|
11969
|
+
_createRecentUserActi2;
|
11970
|
+
}
|
11467
11971
|
doc.save("download.pdf");
|
11972
|
+
return isStudent ? _temp20(!isStudent && createRecentUserActionListApi({
|
11973
|
+
userId: studentId,
|
11974
|
+
action: RecentUserAction$1.PrintedExamResult,
|
11975
|
+
data: "" + examSessionId,
|
11976
|
+
roles: [exports.Role.Teacher]
|
11977
|
+
})) : Promise.resolve(!isStudent && createRecentUserActionListApi({
|
11978
|
+
userId: studentId,
|
11979
|
+
action: RecentUserAction$1.PrintedExamResult,
|
11980
|
+
data: "" + examSessionId,
|
11981
|
+
roles: [exports.Role.Teacher]
|
11982
|
+
})).then(_temp20);
|
11468
11983
|
}
|
11469
11984
|
var imgHeaderHeight = header.height * imgWidth / header.width;
|
11470
11985
|
var imgHeaderData = header.toDataURL('image/png');
|
11471
11986
|
doc.addImage(imgHeaderData, 'PNG', 0, 0, imgWidth, imgHeaderHeight);
|
11472
11987
|
line += imgHeaderHeight;
|
11473
11988
|
if (line > HEIGHT_PAPER) breakPage();
|
11474
|
-
var
|
11989
|
+
var _temp21 = function () {
|
11475
11990
|
if (canvas && canvas.childElementCount > 0) {
|
11476
11991
|
var _index = 0;
|
11477
|
-
var
|
11992
|
+
var _temp19 = _for(function () {
|
11478
11993
|
return _index < canvas.childElementCount;
|
11479
11994
|
}, function () {
|
11480
11995
|
return _index++;
|
11481
11996
|
}, function () {
|
11482
|
-
function
|
11483
|
-
function
|
11997
|
+
function _temp18() {
|
11998
|
+
function _temp16() {
|
11484
11999
|
line += 20;
|
11485
12000
|
}
|
11486
12001
|
var printChartTitle = function printChartTitle() {
|
@@ -11495,11 +12010,11 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11495
12010
|
return Promise.reject(e);
|
11496
12011
|
}
|
11497
12012
|
};
|
11498
|
-
var
|
12013
|
+
var _temp15 = function () {
|
11499
12014
|
if (printContainerEls.length) {
|
11500
|
-
var
|
11501
|
-
function
|
11502
|
-
function
|
12015
|
+
var _temp14 = _forTo(printContainerEls, function (i) {
|
12016
|
+
function _temp13() {
|
12017
|
+
function _temp11() {
|
11503
12018
|
var printTitle = function printTitle() {
|
11504
12019
|
try {
|
11505
12020
|
if (!printTitleHeight || !printTitleData) return Promise.resolve();
|
@@ -11528,10 +12043,10 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11528
12043
|
var printContents = printContainerEl.querySelectorAll("." + PrintContentClassName);
|
11529
12044
|
if (!printContents.length) return;
|
11530
12045
|
printTitle();
|
11531
|
-
var
|
12046
|
+
var _temp9 = _forTo(printContents, function (j) {
|
11532
12047
|
var rowItem = printContents[j];
|
11533
12048
|
return Promise.resolve(html2canvas(rowItem)).then(function (rowItemCanvas) {
|
11534
|
-
function
|
12049
|
+
function _temp8() {
|
11535
12050
|
doc.addImage(data, 'PNG', 10, line, chartWidth, height);
|
11536
12051
|
line += height;
|
11537
12052
|
}
|
@@ -11539,25 +12054,25 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11539
12054
|
var data = rowItemCanvas.toDataURL('image/png');
|
11540
12055
|
if (i === 0 && j === 0 && line + height + (printHeaderHeight || 0) + ((chartTitleHeight || 0) + 10) + 20 > HEIGHT_PAPER) breakPage();
|
11541
12056
|
i === 0 && j === 0 && printChartTitle();
|
11542
|
-
var
|
12057
|
+
var _temp7 = function () {
|
11543
12058
|
if (line + height + 20 > HEIGHT_PAPER) {
|
11544
12059
|
breakPage();
|
11545
12060
|
return Promise.resolve(printHeader()).then(function () {});
|
11546
12061
|
} else {
|
11547
|
-
var
|
12062
|
+
var _temp25 = function () {
|
11548
12063
|
if (j === 0) {
|
11549
12064
|
return Promise.resolve(printHeader(10)).then(function () {});
|
11550
12065
|
}
|
11551
12066
|
}();
|
11552
|
-
if (
|
12067
|
+
if (_temp25 && _temp25.then) return _temp25.then(function () {});
|
11553
12068
|
}
|
11554
12069
|
}();
|
11555
|
-
return
|
12070
|
+
return _temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7);
|
11556
12071
|
});
|
11557
12072
|
});
|
11558
|
-
if (
|
12073
|
+
if (_temp9 && _temp9.then) return _temp9.then(function () {});
|
11559
12074
|
}
|
11560
|
-
var
|
12075
|
+
var _temp10 = function () {
|
11561
12076
|
if (printHeaderEl) {
|
11562
12077
|
return Promise.resolve(html2canvas(printHeaderEl)).then(function (_html2canvas3) {
|
11563
12078
|
printHeaderCanvas = _html2canvas3;
|
@@ -11566,7 +12081,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11566
12081
|
});
|
11567
12082
|
}
|
11568
12083
|
}();
|
11569
|
-
return
|
12084
|
+
return _temp10 && _temp10.then ? _temp10.then(_temp11) : _temp11(_temp10);
|
11570
12085
|
}
|
11571
12086
|
var printContainerEl = printContainerEls[i];
|
11572
12087
|
var printTitleEl = printContainerEl.querySelector("." + PrintTitleClassName);
|
@@ -11577,7 +12092,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11577
12092
|
var printHeaderCanvas = null;
|
11578
12093
|
var printHeaderHeight = null;
|
11579
12094
|
var printHeaderData = "";
|
11580
|
-
var
|
12095
|
+
var _temp12 = function () {
|
11581
12096
|
if (printTitleEl) {
|
11582
12097
|
return Promise.resolve(html2canvas(printTitleEl)).then(function (_html2canvas2) {
|
11583
12098
|
printTitleCanvas = _html2canvas2;
|
@@ -11586,9 +12101,9 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11586
12101
|
});
|
11587
12102
|
}
|
11588
12103
|
}();
|
11589
|
-
return
|
12104
|
+
return _temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12);
|
11590
12105
|
});
|
11591
|
-
if (
|
12106
|
+
if (_temp14 && _temp14.then) return _temp14.then(function () {});
|
11592
12107
|
} else {
|
11593
12108
|
return Promise.resolve(html2canvas(chart)).then(function (chartCanvas) {
|
11594
12109
|
var imgBodyHeight = chartCanvas.height * chartWidth / chartCanvas.width;
|
@@ -11601,7 +12116,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11601
12116
|
});
|
11602
12117
|
}
|
11603
12118
|
}();
|
11604
|
-
return
|
12119
|
+
return _temp15 && _temp15.then ? _temp15.then(_temp16) : _temp16(_temp15);
|
11605
12120
|
}
|
11606
12121
|
var chart = canvas.children.item(_index);
|
11607
12122
|
if (chart.getAttribute("id") === "header-canvas") return;
|
@@ -11610,7 +12125,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11610
12125
|
var printChartTitleCanvas = null;
|
11611
12126
|
var chartTitleHeight = null;
|
11612
12127
|
var chartTitleData = "";
|
11613
|
-
var
|
12128
|
+
var _temp17 = function () {
|
11614
12129
|
if (chartTitle && printContainerEls.length) {
|
11615
12130
|
return Promise.resolve(html2canvas(chartTitle)).then(function (_html2canvas) {
|
11616
12131
|
printChartTitleCanvas = _html2canvas;
|
@@ -11619,12 +12134,12 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11619
12134
|
});
|
11620
12135
|
}
|
11621
12136
|
}();
|
11622
|
-
return
|
12137
|
+
return _temp17 && _temp17.then ? _temp17.then(_temp18) : _temp18(_temp17);
|
11623
12138
|
});
|
11624
|
-
if (
|
12139
|
+
if (_temp19 && _temp19.then) return _temp19.then(function () {});
|
11625
12140
|
}
|
11626
12141
|
}();
|
11627
|
-
return
|
12142
|
+
return _temp21 && _temp21.then ? _temp21.then(_temp22) : _temp22(_temp21);
|
11628
12143
|
});
|
11629
12144
|
}, function (error) {
|
11630
12145
|
console.log({
|
@@ -11632,7 +12147,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11632
12147
|
});
|
11633
12148
|
reactToastify.toast.error(getErrorMessage(t, error));
|
11634
12149
|
});
|
11635
|
-
return Promise.resolve(
|
12150
|
+
return Promise.resolve(_temp23 && _temp23.then ? _temp23.then(_temp24) : _temp24(_temp23));
|
11636
12151
|
} catch (e) {
|
11637
12152
|
return Promise.reject(e);
|
11638
12153
|
}
|
@@ -11644,6 +12159,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11644
12159
|
return utcToLocalTime(resultData === null || resultData === void 0 ? void 0 : resultData.startTime, "HH:mm") + " ~ " + utcToLocalTime(resultData === null || resultData === void 0 ? void 0 : resultData.finishTime, "HH:mm");
|
11645
12160
|
}, [resultData === null || resultData === void 0 ? void 0 : resultData.startTime, resultData === null || resultData === void 0 ? void 0 : resultData.finishTime]);
|
11646
12161
|
return {
|
12162
|
+
isLoading: isLoading,
|
11647
12163
|
examTime: examTime,
|
11648
12164
|
series: series,
|
11649
12165
|
chartOptions: chartOptions,
|
@@ -13283,6 +13799,7 @@ function MyAnswer(_ref) {
|
|
13283
13799
|
justifyContent: "flex-end"
|
13284
13800
|
}
|
13285
13801
|
}, React__default.createElement("span", {
|
13802
|
+
className: "pointer",
|
13286
13803
|
onClick: function onClick(e) {
|
13287
13804
|
return handleOpenChat(e, question === null || question === void 0 ? void 0 : question.id);
|
13288
13805
|
}
|
@@ -14394,6 +14911,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
14394
14911
|
selected = _useTab.selected,
|
14395
14912
|
handleChangeTab = _useTab.handleChangeTab;
|
14396
14913
|
var _useExamResult = useExamResult(searchParams, history, examSessionId, studentId, code, handleChangeTab, selected),
|
14914
|
+
isLoading = _useExamResult.isLoading,
|
14397
14915
|
examTime = _useExamResult.examTime,
|
14398
14916
|
series = _useExamResult.series,
|
14399
14917
|
allSeries = _useExamResult.allSeries,
|
@@ -14418,7 +14936,9 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
14418
14936
|
openCreateQuestionDialog = _useCreateQuestionDia.openCreateQuestionDialog,
|
14419
14937
|
toggleCreateQuestion = _useCreateQuestionDia.toggleCreateQuestion;
|
14420
14938
|
var isTabletUp = material.useMediaQuery('(min-width:900px)');
|
14421
|
-
return React__default.createElement(React.Fragment, null,
|
14939
|
+
return React__default.createElement(React.Fragment, null, React__default.createElement(LoadingComponent, {
|
14940
|
+
isLoading: isLoading
|
14941
|
+
}), timelyOrderQuestions[dataChartIndex] && longTimeSpend && resultData && effectSize ? React__default.createElement("div", {
|
14422
14942
|
style: {
|
14423
14943
|
width: "100%"
|
14424
14944
|
}
|
@@ -14852,10 +15372,22 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
14852
15372
|
})) : React__default.createElement(React.Fragment, null));
|
14853
15373
|
};
|
14854
15374
|
|
15375
|
+
var RecentUserActionSortBy;
|
15376
|
+
(function (RecentUserActionSortBy) {
|
15377
|
+
RecentUserActionSortBy["CreatedAt"] = "CreatedAt";
|
15378
|
+
})(RecentUserActionSortBy || (RecentUserActionSortBy = {}));
|
15379
|
+
var OrderBy$1;
|
15380
|
+
(function (OrderBy) {
|
15381
|
+
OrderBy["ASC"] = "ASC";
|
15382
|
+
OrderBy["DESC"] = "DESC";
|
15383
|
+
})(OrderBy$1 || (OrderBy$1 = {}));
|
15384
|
+
|
14855
15385
|
|
14856
15386
|
|
14857
15387
|
var index$3 = {
|
14858
|
-
|
15388
|
+
__proto__: null,
|
15389
|
+
get OrderBy () { return OrderBy$1; },
|
15390
|
+
get RecentUserActionSortBy () { return RecentUserActionSortBy; }
|
14859
15391
|
};
|
14860
15392
|
|
14861
15393
|
var getLocalDayOfWeek = function getLocalDayOfWeek(utcDateTime, dayOfWeek) {
|
@@ -14891,12 +15423,12 @@ var getRemainTime = function getRemainTime(startTime, duration) {
|
|
14891
15423
|
};
|
14892
15424
|
|
14893
15425
|
var times = {
|
14894
|
-
|
14895
|
-
|
14896
|
-
|
14897
|
-
|
14898
|
-
|
14899
|
-
|
15426
|
+
__proto__: null,
|
15427
|
+
getLocalDayOfWeek: getLocalDayOfWeek,
|
15428
|
+
getUtcDayOfWeek: getUtcDayOfWeek,
|
15429
|
+
timeSpanToLocalMoment: timeSpanToLocalMoment,
|
15430
|
+
convertHHMMSStoSeconds: convertHHMMSStoSeconds,
|
15431
|
+
getRemainTime: getRemainTime
|
14900
15432
|
};
|
14901
15433
|
|
14902
15434
|
var SIGN_IN_SUPER_ADMIN_URL = SUPER_ADMIN_BASE_URL + "/api/auth/login";
|
@@ -14922,6 +15454,7 @@ var signInSuperAdminApi = function signInSuperAdminApi(_ref2) {
|
|
14922
15454
|
});
|
14923
15455
|
};
|
14924
15456
|
|
15457
|
+
var PAGE_TITLE$2 = "sign_in";
|
14925
15458
|
var useLogin$2 = function useLogin(_ref) {
|
14926
15459
|
var history = _ref.history,
|
14927
15460
|
_ref$role = _ref.role,
|
@@ -15012,8 +15545,13 @@ var useLogin$2 = function useLogin(_ref) {
|
|
15012
15545
|
};
|
15013
15546
|
React.useEffect(function () {
|
15014
15547
|
var token = getAccessToken();
|
15015
|
-
|
15016
|
-
|
15548
|
+
var academyDomain = getAcademyDomain();
|
15549
|
+
if (token && academyDomain) window.location.href = homeAcademyUrl;
|
15550
|
+
if (token && !academyDomain) window.location.href = homeUrl;
|
15551
|
+
}, [homeAcademyUrl, homeUrl]);
|
15552
|
+
React.useEffect(function () {
|
15553
|
+
document.title = t("study_peak") + " | " + t(PAGE_TITLE$2);
|
15554
|
+
}, [t]);
|
15017
15555
|
return {
|
15018
15556
|
handleSubmit: handleSubmit,
|
15019
15557
|
handleClearAcademyDomain: handleClearAcademyDomain,
|
@@ -15514,15 +16052,14 @@ var Header = function Header(_ref) {
|
|
15514
16052
|
var path = _ref2.path,
|
15515
16053
|
icon = _ref2.icon,
|
15516
16054
|
label = _ref2.label,
|
15517
|
-
isMain = _ref2.isMain,
|
15518
16055
|
activePaths = _ref2.activePaths;
|
15519
16056
|
return React__default.createElement(reactRouterDom.Link, {
|
15520
16057
|
key: path,
|
15521
16058
|
"aria-current": "page",
|
15522
|
-
to: !academyDomain
|
16059
|
+
to: !academyDomain ? "#" : path,
|
15523
16060
|
className: "text-decoration-none " + ((activePaths !== null && activePaths !== void 0 && activePaths.length ? activePaths.some(function (a) {
|
15524
|
-
return pathname
|
15525
|
-
}) : pathname
|
16061
|
+
return pathname === a;
|
16062
|
+
}) : pathname === path) ? "" + styles["router-link-active"] : "") + " " + styles["tabText"] + " " + (!academyDomain ? styles["disabled-link"] : "")
|
15526
16063
|
}, React__default.createElement(material.Stack, {
|
15527
16064
|
sx: {
|
15528
16065
|
justifyContent: "center",
|
@@ -15551,7 +16088,7 @@ var Header = function Header(_ref) {
|
|
15551
16088
|
alignItems: "center"
|
15552
16089
|
}, React__default.createElement(reactRouterDom.Link, {
|
15553
16090
|
"aria-current": "page",
|
15554
|
-
to: homeRoute.path,
|
16091
|
+
to: academyDomain ? homeRoute.path : academyListRoute.path,
|
15555
16092
|
className: "border-none"
|
15556
16093
|
}, React__default.createElement(material.Stack, {
|
15557
16094
|
justifyContent: "center",
|
@@ -15569,53 +16106,28 @@ var Header = function Header(_ref) {
|
|
15569
16106
|
}))));
|
15570
16107
|
};
|
15571
16108
|
|
15572
|
-
var ACADEMY_URL$1 = BASE_URL + "/api/academy";
|
15573
|
-
var getAcademyList$1 = function getAcademyList() {
|
15574
|
-
return api.get("" + ACADEMY_URL$1);
|
15575
|
-
};
|
15576
|
-
var switchAcademy$1 = function switchAcademy(academyId) {
|
15577
|
-
return api.post(ACADEMY_URL$1 + "/switch-academy?academyId=" + academyId);
|
15578
|
-
};
|
15579
|
-
|
15580
16109
|
var useAcademyList = function useAcademyList(history, role, homeAcademyUrl, homeUrl, registerUrl) {
|
15581
16110
|
var dispatch = reactRedux.useDispatch();
|
15582
16111
|
var _useLogin = useLogin(history, homeAcademyUrl, homeUrl, registerUrl),
|
15583
16112
|
handleLoginAccessToken = _useLogin.handleLoginAccessToken;
|
15584
|
-
var
|
15585
|
-
|
15586
|
-
|
16113
|
+
var academyList = reactRedux.useSelector(function (state) {
|
16114
|
+
var _state$academies;
|
16115
|
+
return (state === null || state === void 0 ? void 0 : (_state$academies = state.academies) === null || _state$academies === void 0 ? void 0 : _state$academies.items) || [];
|
16116
|
+
});
|
15587
16117
|
var email = reactRedux.useSelector(function (state) {
|
15588
16118
|
var _state$common, _state$common$user;
|
15589
16119
|
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;
|
15590
16120
|
});
|
15591
16121
|
var _useTranslation = reactI18next.useTranslation(),
|
15592
16122
|
t = _useTranslation.t;
|
15593
|
-
var
|
16123
|
+
var handleSwitchAcademy = function handleSwitchAcademy(id, domain) {
|
15594
16124
|
try {
|
15595
16125
|
var _temp2 = function _temp2() {
|
15596
16126
|
dispatch(setLoading(false));
|
15597
16127
|
};
|
15598
16128
|
dispatch(setLoading(true));
|
15599
16129
|
var _temp = _catch(function () {
|
15600
|
-
return Promise.resolve(
|
15601
|
-
setAcademyList(res.data.items || []);
|
15602
|
-
});
|
15603
|
-
}, function (error) {
|
15604
|
-
reactToastify.toast.error(getErrorMessage(t, error));
|
15605
|
-
});
|
15606
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
15607
|
-
} catch (e) {
|
15608
|
-
return Promise.reject(e);
|
15609
|
-
}
|
15610
|
-
};
|
15611
|
-
var handleSwitchAcademy = function handleSwitchAcademy(id, domain) {
|
15612
|
-
try {
|
15613
|
-
var _temp4 = function _temp4() {
|
15614
|
-
dispatch(setLoading(false));
|
15615
|
-
};
|
15616
|
-
dispatch(setLoading(true));
|
15617
|
-
var _temp3 = _catch(function () {
|
15618
|
-
return Promise.resolve(switchAcademy$1(id)).then(function (res) {
|
16130
|
+
return Promise.resolve(switchSuperAdminAcademy(id, role)).then(function (res) {
|
15619
16131
|
var data = res.data;
|
15620
16132
|
var requestBody = {
|
15621
16133
|
accessToken: data.accessToken,
|
@@ -15629,14 +16141,11 @@ var useAcademyList = function useAcademyList(history, role, homeAcademyUrl, home
|
|
15629
16141
|
}, function (error) {
|
15630
16142
|
reactToastify.toast.error(getErrorMessage(t, error));
|
15631
16143
|
});
|
15632
|
-
return Promise.resolve(
|
16144
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
15633
16145
|
} catch (e) {
|
15634
16146
|
return Promise.reject(e);
|
15635
16147
|
}
|
15636
16148
|
};
|
15637
|
-
React.useEffect(function () {
|
15638
|
-
getAcademies();
|
15639
|
-
}, []);
|
15640
16149
|
return {
|
15641
16150
|
academyList: academyList,
|
15642
16151
|
handleSwitchAcademy: handleSwitchAcademy
|
@@ -15676,6 +16185,220 @@ var AcademyCard = function AcademyCard(_ref) {
|
|
15676
16185
|
}, t("switch"))));
|
15677
16186
|
};
|
15678
16187
|
|
16188
|
+
var PassCodeDialog = function PassCodeDialog(_ref) {
|
16189
|
+
var open = _ref.open,
|
16190
|
+
onClose = _ref.onClose,
|
16191
|
+
onSubmit = _ref.onSubmit,
|
16192
|
+
academyDomain = _ref.academyDomain;
|
16193
|
+
var _useTranslation = reactI18next.useTranslation(),
|
16194
|
+
t = _useTranslation.t;
|
16195
|
+
var _useState = React.useState(""),
|
16196
|
+
passCode = _useState[0],
|
16197
|
+
setPassCode = _useState[1];
|
16198
|
+
var handleClose = function handleClose(event, reason) {
|
16199
|
+
onClose(event, reason);
|
16200
|
+
};
|
16201
|
+
var handleSubmit = function handleSubmit() {
|
16202
|
+
try {
|
16203
|
+
var data = {
|
16204
|
+
code: passCode,
|
16205
|
+
academyDomain: academyDomain
|
16206
|
+
};
|
16207
|
+
return Promise.resolve(onSubmit(data, handleClose)).then(function () {});
|
16208
|
+
} catch (e) {
|
16209
|
+
return Promise.reject(e);
|
16210
|
+
}
|
16211
|
+
};
|
16212
|
+
var handleChangePassCode = function handleChangePassCode(e) {
|
16213
|
+
setPassCode(e.target.value);
|
16214
|
+
};
|
16215
|
+
var theme = material.useTheme();
|
16216
|
+
return React__default.createElement(CommonDialog, {
|
16217
|
+
open: open,
|
16218
|
+
onClose: handleClose,
|
16219
|
+
size: "xs",
|
16220
|
+
title: t("join_an_academy")
|
16221
|
+
}, React__default.createElement(material.DialogContent, {
|
16222
|
+
sx: {
|
16223
|
+
overflowY: "unset"
|
16224
|
+
}
|
16225
|
+
}, React__default.createElement(material.Stack, {
|
16226
|
+
direction: "column",
|
16227
|
+
spacing: 2,
|
16228
|
+
zIndex: 1,
|
16229
|
+
position: "relative"
|
16230
|
+
}, React__default.createElement(material.FormGroup, null, React__default.createElement(material.FormLabel, {
|
16231
|
+
className: "fw-medium mb-1"
|
16232
|
+
}, t("pass_code"), React__default.createElement("span", {
|
16233
|
+
className: "text-danger"
|
16234
|
+
}, "*")), React__default.createElement(InputText, {
|
16235
|
+
id: "pass-code",
|
16236
|
+
placeholder: t("enter_pass_code"),
|
16237
|
+
value: passCode,
|
16238
|
+
onChange: handleChangePassCode
|
16239
|
+
})))), React__default.createElement(material.DialogActions, {
|
16240
|
+
className: ""
|
16241
|
+
}, React__default.createElement(material.Button, {
|
16242
|
+
variant: "contained",
|
16243
|
+
sx: {
|
16244
|
+
bgcolor: theme.palette.grey[700]
|
16245
|
+
},
|
16246
|
+
onClick: handleClose
|
16247
|
+
}, t("cancel")), React__default.createElement(material.Button, {
|
16248
|
+
variant: "contained",
|
16249
|
+
onClick: handleSubmit,
|
16250
|
+
disabled: !passCode.trim().length
|
16251
|
+
}, t("submit"))));
|
16252
|
+
};
|
16253
|
+
|
16254
|
+
var PASS_CODE_URL = SUPER_ADMIN_BASE_URL + "/api/passCodes";
|
16255
|
+
var checkPassCodeApi = function checkPassCodeApi(code, academyDomain) {
|
16256
|
+
return api.post(PASS_CODE_URL + "/check", {
|
16257
|
+
code: code,
|
16258
|
+
academyDomain: academyDomain
|
16259
|
+
});
|
16260
|
+
};
|
16261
|
+
|
16262
|
+
var usePassCodeCheck = function usePassCodeCheck(props) {
|
16263
|
+
var history = props.history,
|
16264
|
+
role = props.role,
|
16265
|
+
homeAcademyUrl = props.homeAcademyUrl,
|
16266
|
+
homeUrl = props.homeUrl,
|
16267
|
+
registerUrl = props.registerUrl,
|
16268
|
+
domain = props.domain;
|
16269
|
+
var _useTranslation = reactI18next.useTranslation(),
|
16270
|
+
t = _useTranslation.t;
|
16271
|
+
var dispatch = reactRedux.useDispatch();
|
16272
|
+
var email = reactRedux.useSelector(function (state) {
|
16273
|
+
var _state$common, _state$common$user;
|
16274
|
+
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;
|
16275
|
+
});
|
16276
|
+
var academyDomain = reactRedux.useSelector(function (state) {
|
16277
|
+
var _state$common2, _state$common2$user;
|
16278
|
+
return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : _state$common2$user.academyDomain;
|
16279
|
+
});
|
16280
|
+
var _useState = React.useState(),
|
16281
|
+
academy = _useState[0],
|
16282
|
+
setAcademy = _useState[1];
|
16283
|
+
var _useState2 = React.useState(),
|
16284
|
+
isLoadingAcademy = _useState2[0],
|
16285
|
+
setLoadingAcademy = _useState2[1];
|
16286
|
+
var _useLogin = useLogin(history, homeAcademyUrl, homeUrl, registerUrl),
|
16287
|
+
handleLoginAccessToken = _useLogin.handleLoginAccessToken;
|
16288
|
+
var handleCheckPassCode = function handleCheckPassCode(form, callback) {
|
16289
|
+
try {
|
16290
|
+
var _temp2 = function _temp2(_result) {
|
16291
|
+
if (_exit) return _result;
|
16292
|
+
dispatch(setLoading(false));
|
16293
|
+
};
|
16294
|
+
var _exit = false;
|
16295
|
+
dispatch(setLoading(true));
|
16296
|
+
var _temp = _catch(function () {
|
16297
|
+
if (role !== exports.Role.Student) {
|
16298
|
+
_exit = true;
|
16299
|
+
return;
|
16300
|
+
}
|
16301
|
+
return Promise.resolve(checkPassCodeApi(form.code, form.academyDomain)).then(function (res) {
|
16302
|
+
var data = res.data;
|
16303
|
+
var requestBody = {
|
16304
|
+
accessToken: data.accessToken,
|
16305
|
+
email: email,
|
16306
|
+
academyId: data.academyId,
|
16307
|
+
role: exports.Role.Student
|
16308
|
+
};
|
16309
|
+
return Promise.resolve(handleLoginAccessToken(requestBody, false)).then(function () {
|
16310
|
+
localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
|
16311
|
+
callback === null || callback === void 0 ? void 0 : callback();
|
16312
|
+
});
|
16313
|
+
});
|
16314
|
+
}, function (error) {
|
16315
|
+
reactToastify.toast.error(getErrorMessage(t, error));
|
16316
|
+
});
|
16317
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
16318
|
+
} catch (e) {
|
16319
|
+
return Promise.reject(e);
|
16320
|
+
}
|
16321
|
+
};
|
16322
|
+
var getAcademyByDomain = function getAcademyByDomain() {
|
16323
|
+
try {
|
16324
|
+
var _temp6 = function _temp6(_result2) {
|
16325
|
+
if (_exit2) return _result2;
|
16326
|
+
setLoadingAcademy(false);
|
16327
|
+
};
|
16328
|
+
var _exit2 = false;
|
16329
|
+
if (!domain) return Promise.resolve();
|
16330
|
+
setLoadingAcademy(true);
|
16331
|
+
var _temp5 = _catch(function () {
|
16332
|
+
return Promise.resolve(getAcademyByDomainApi(domain, exports.Role.Student)).then(function (res) {
|
16333
|
+
var _res$data;
|
16334
|
+
var _exit3 = false;
|
16335
|
+
function _temp4(_result3) {
|
16336
|
+
if (_exit3) return _result3;
|
16337
|
+
setAcademy(academy);
|
16338
|
+
}
|
16339
|
+
var academy = (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.data;
|
16340
|
+
var _temp3 = function () {
|
16341
|
+
if (academy.isOwned) {
|
16342
|
+
return Promise.resolve(switchSuperAdminAcademy(academy.id, exports.Role.Student)).then(function (switchAcademyRes) {
|
16343
|
+
var switchAcademyData = switchAcademyRes.data;
|
16344
|
+
var requestBody = {
|
16345
|
+
accessToken: switchAcademyData.accessToken,
|
16346
|
+
email: email,
|
16347
|
+
academyId: academy.id,
|
16348
|
+
role: exports.Role.Student
|
16349
|
+
};
|
16350
|
+
localStorage.setItem(ACADEMY_DOMAIN, domain);
|
16351
|
+
return Promise.resolve(handleLoginAccessToken(requestBody, false)).then(function () {
|
16352
|
+
_exit2 = true;
|
16353
|
+
});
|
16354
|
+
});
|
16355
|
+
}
|
16356
|
+
}();
|
16357
|
+
return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
|
16358
|
+
});
|
16359
|
+
}, function (error) {
|
16360
|
+
console.log("error", error);
|
16361
|
+
});
|
16362
|
+
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
|
16363
|
+
} catch (e) {
|
16364
|
+
return Promise.reject(e);
|
16365
|
+
}
|
16366
|
+
};
|
16367
|
+
React.useEffect(function () {
|
16368
|
+
email && !academyDomain && getAcademyByDomain();
|
16369
|
+
}, [domain, academyDomain, email]);
|
16370
|
+
return {
|
16371
|
+
academy: academy,
|
16372
|
+
isLoadingAcademy: isLoadingAcademy,
|
16373
|
+
academyDomain: academyDomain,
|
16374
|
+
email: email,
|
16375
|
+
handleCheckPassCode: handleCheckPassCode
|
16376
|
+
};
|
16377
|
+
};
|
16378
|
+
|
16379
|
+
var PassCodeCheck = function PassCodeCheck(props) {
|
16380
|
+
var role = props.role,
|
16381
|
+
open = props.open,
|
16382
|
+
domain = props.domain,
|
16383
|
+
onClose = props.onClose;
|
16384
|
+
var _usePassCodeCheck = usePassCodeCheck(props),
|
16385
|
+
academy = _usePassCodeCheck.academy,
|
16386
|
+
isLoadingAcademy = _usePassCodeCheck.isLoadingAcademy,
|
16387
|
+
academyDomain = _usePassCodeCheck.academyDomain,
|
16388
|
+
email = _usePassCodeCheck.email,
|
16389
|
+
handleCheckPassCode = _usePassCodeCheck.handleCheckPassCode;
|
16390
|
+
if (role !== exports.Role.Student || domain && isLoadingAcademy === false && !academy) return React__default.createElement(NotFound, null);
|
16391
|
+
return React__default.createElement(React.Fragment, null, React__default.createElement(LoadingComponent, {
|
16392
|
+
isLoading: !!isLoadingAcademy
|
16393
|
+
}), !!email && !academyDomain && (!domain || !!academy) && React__default.createElement(PassCodeDialog, {
|
16394
|
+
open: open,
|
16395
|
+
academyDomain: domain,
|
16396
|
+
onClose: onClose,
|
16397
|
+
onSubmit: handleCheckPassCode
|
16398
|
+
}));
|
16399
|
+
};
|
16400
|
+
|
16401
|
+
var PAGE_TITLE$3 = "academy_list";
|
15679
16402
|
var AcademyList = function AcademyList(_ref) {
|
15680
16403
|
var theme = _ref.theme,
|
15681
16404
|
history = _ref.history,
|
@@ -15685,10 +16408,19 @@ var AcademyList = function AcademyList(_ref) {
|
|
15685
16408
|
registerUrl = _ref.registerUrl;
|
15686
16409
|
var _useTranslation = reactI18next.useTranslation(),
|
15687
16410
|
t = _useTranslation.t;
|
16411
|
+
var _useState = React.useState(false),
|
16412
|
+
isOpenPassCode = _useState[0],
|
16413
|
+
setOpenPassCode = _useState[1];
|
16414
|
+
var handleTogglePassCodeDialog = function handleTogglePassCodeDialog() {
|
16415
|
+
setOpenPassCode(!isOpenPassCode);
|
16416
|
+
};
|
15688
16417
|
useAutoAcademyDomain(function () {}, history, [], "", window.location.pathname, true);
|
15689
16418
|
var _useAcademyList = useAcademyList(history, role, homeAcademyUrl, homeUrl, registerUrl),
|
15690
16419
|
academyList = _useAcademyList.academyList,
|
15691
16420
|
handleSwitchAcademy = _useAcademyList.handleSwitchAcademy;
|
16421
|
+
React.useEffect(function () {
|
16422
|
+
document.title = t("study_peak") + " | " + t(PAGE_TITLE$3);
|
16423
|
+
}, [t]);
|
15692
16424
|
return React__default.createElement("div", {
|
15693
16425
|
className: "py-3 px-4"
|
15694
16426
|
}, React__default.createElement(Grid, {
|
@@ -15697,10 +16429,18 @@ var AcademyList = function AcademyList(_ref) {
|
|
15697
16429
|
}, React__default.createElement(Grid, {
|
15698
16430
|
item: true,
|
15699
16431
|
xs: 12
|
16432
|
+
}, React__default.createElement(material.Stack, {
|
16433
|
+
direction: "row",
|
16434
|
+
justifyContent: "space-between",
|
16435
|
+
alignItems: "center",
|
16436
|
+
spacing: 3
|
15700
16437
|
}, React__default.createElement(Typography, {
|
15701
16438
|
fontSize: 24,
|
15702
16439
|
fontWeight: 600
|
15703
|
-
}, t("academy_list"))
|
16440
|
+
}, t("academy_list")), role === exports.Role.Student && React__default.createElement(material.Button, {
|
16441
|
+
variant: "contained",
|
16442
|
+
onClick: handleTogglePassCodeDialog
|
16443
|
+
}, t("enter_academy_pass_code")))), React__default.createElement(Grid, {
|
15704
16444
|
item: true,
|
15705
16445
|
xs: 12
|
15706
16446
|
}, React__default.createElement(Grid, {
|
@@ -15720,7 +16460,20 @@ var AcademyList = function AcademyList(_ref) {
|
|
15720
16460
|
}), !academyList.length && React__default.createElement(Grid, {
|
15721
16461
|
item: true,
|
15722
16462
|
xs: 3
|
15723
|
-
}, React__default.createElement("span", null, t("no_academy_available"), ".")))))
|
16463
|
+
}, React__default.createElement("span", null, t("no_academy_available"), "."))))), React__default.createElement(PassCodeCheck, {
|
16464
|
+
role: role,
|
16465
|
+
open: isOpenPassCode,
|
16466
|
+
onClose: handleTogglePassCodeDialog,
|
16467
|
+
homeAcademyUrl: homeAcademyUrl,
|
16468
|
+
homeUrl: homeUrl,
|
16469
|
+
registerUrl: registerUrl,
|
16470
|
+
history: history
|
16471
|
+
}));
|
16472
|
+
};
|
16473
|
+
|
16474
|
+
var EXAM_SESSION_URL$1 = BASE_URL + "/api/examSession";
|
16475
|
+
var getCheckStatusExam = function getCheckStatusExam(examCode) {
|
16476
|
+
return api.get(EXAM_SESSION_URL$1 + "/" + examCode + "/status");
|
15724
16477
|
};
|
15725
16478
|
|
15726
16479
|
var ONE_SECOND_IN_MILLISECONDS = 1000;
|
@@ -15731,6 +16484,7 @@ var useCountDownTimer = function useCountDownTimer(props) {
|
|
15731
16484
|
duration = props.duration,
|
15732
16485
|
fetchedCount = props.fetchedCount,
|
15733
16486
|
onFinish = props.onFinish;
|
16487
|
+
var dispatch = reactRedux.useDispatch();
|
15734
16488
|
var _useState = React.useState(),
|
15735
16489
|
remainTime = _useState[0],
|
15736
16490
|
setRemainTime = _useState[1];
|
@@ -15743,9 +16497,11 @@ var useCountDownTimer = function useCountDownTimer(props) {
|
|
15743
16497
|
return Promise.resolve();
|
15744
16498
|
}
|
15745
16499
|
var _temp = _catch(function () {
|
16500
|
+
dispatch(setLoading(true));
|
15746
16501
|
return Promise.resolve(getCheckStatusExam(code)).then(function (res) {
|
15747
16502
|
if (res.data.data.status === ExamStatus$1.Completed) {
|
15748
|
-
|
16503
|
+
clearTimeout(checkStatusRef.current);
|
16504
|
+
dispatch(setLoading(false));
|
15749
16505
|
onFinish();
|
15750
16506
|
} else {
|
15751
16507
|
checkStatusRef.current = setTimeout(checkLiveExamStatus, ONE_SECOND_IN_MILLISECONDS);
|
@@ -15766,7 +16522,6 @@ var useCountDownTimer = function useCountDownTimer(props) {
|
|
15766
16522
|
var animate = function animate() {
|
15767
16523
|
if (!startTime || !duration) return;
|
15768
16524
|
if (typeof remainTime === "number" && remainTime <= 0) {
|
15769
|
-
onFinish();
|
15770
16525
|
return;
|
15771
16526
|
}
|
15772
16527
|
var remain = getRemainTime(startTime, duration);
|
@@ -15776,7 +16531,6 @@ var useCountDownTimer = function useCountDownTimer(props) {
|
|
15776
16531
|
}
|
15777
16532
|
if (remain <= 0) {
|
15778
16533
|
setRemainTime(0);
|
15779
|
-
checkLiveExamStatus();
|
15780
16534
|
return;
|
15781
16535
|
}
|
15782
16536
|
setRemainTime(remain || 0);
|
@@ -15785,61 +16539,15 @@ var useCountDownTimer = function useCountDownTimer(props) {
|
|
15785
16539
|
requestRef.current = requestAnimationFrame(animate);
|
15786
16540
|
return function () {
|
15787
16541
|
!!requestRef.current && cancelAnimationFrame(requestRef.current);
|
15788
|
-
!!checkStatusRef.current && clearTimeout(checkStatusRef.current);
|
15789
16542
|
setRemainTime(undefined);
|
15790
16543
|
};
|
15791
|
-
}, [startTime, duration, fetchedCount
|
16544
|
+
}, [startTime, duration, fetchedCount]);
|
15792
16545
|
React.useEffect(function () {
|
15793
|
-
if (typeof remainTime === "number" && remainTime <= 0)
|
15794
|
-
}, [remainTime,
|
16546
|
+
if (typeof remainTime === "number" && remainTime <= 0) checkLiveExamStatus();
|
16547
|
+
}, [remainTime, checkLiveExamStatus]);
|
15795
16548
|
return remainTime;
|
15796
16549
|
};
|
15797
16550
|
|
15798
|
-
var EXAM_SESSION_URL$1 = BASE_URL + "/api/examSession";
|
15799
|
-
var getCheckStatusExam$1 = function getCheckStatusExam(examCode) {
|
15800
|
-
return api.get(EXAM_SESSION_URL$1 + "/" + examCode + "/status");
|
15801
|
-
};
|
15802
|
-
|
15803
|
-
var useCheckExam = function useCheckExam(code, status) {
|
15804
|
-
var _useState = React.useState({}),
|
15805
|
-
isCheckExam = _useState[0],
|
15806
|
-
setCheckExam = _useState[1];
|
15807
|
-
var isCheck = !code ? false : isCheckExam[code];
|
15808
|
-
var checkExam = function checkExam() {
|
15809
|
-
try {
|
15810
|
-
if (!code || isCheck) return Promise.resolve();
|
15811
|
-
if (status === ExamStatus$1.Completed) {
|
15812
|
-
setCheckExam(function (state) {
|
15813
|
-
var _extends2;
|
15814
|
-
return _extends({}, state, (_extends2 = {}, _extends2[code] = true, _extends2));
|
15815
|
-
});
|
15816
|
-
return Promise.resolve();
|
15817
|
-
}
|
15818
|
-
var _temp = _catch(function () {
|
15819
|
-
return Promise.resolve(getCheckStatusExam$1(code)).then(function () {
|
15820
|
-
setCheckExam(function (state) {
|
15821
|
-
var _extends3;
|
15822
|
-
return _extends({}, state, (_extends3 = {}, _extends3[code] = true, _extends3));
|
15823
|
-
});
|
15824
|
-
});
|
15825
|
-
}, function (error) {
|
15826
|
-
console.log({
|
15827
|
-
error: error
|
15828
|
-
});
|
15829
|
-
});
|
15830
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
15831
|
-
} catch (e) {
|
15832
|
-
return Promise.reject(e);
|
15833
|
-
}
|
15834
|
-
};
|
15835
|
-
React.useEffect(function () {
|
15836
|
-
checkExam();
|
15837
|
-
}, [code]);
|
15838
|
-
return {
|
15839
|
-
isCheck: isCheck
|
15840
|
-
};
|
15841
|
-
};
|
15842
|
-
|
15843
16551
|
var useLoadMore = function useLoadMore(props) {
|
15844
16552
|
var onLoadMore = props.onLoadMore,
|
15845
16553
|
loading = props.loading;
|
@@ -15940,28 +16648,28 @@ var useVirtualizeList = function useVirtualizeList(totalItems, rowHeight, offset
|
|
15940
16648
|
|
15941
16649
|
exports.moment = moment;
|
15942
16650
|
Object.defineProperty(exports, 'I18nextProvider', {
|
15943
|
-
|
15944
|
-
|
15945
|
-
|
15946
|
-
|
16651
|
+
enumerable: true,
|
16652
|
+
get: function () {
|
16653
|
+
return reactI18next.I18nextProvider;
|
16654
|
+
}
|
15947
16655
|
});
|
15948
16656
|
Object.defineProperty(exports, 'useTranslation', {
|
15949
|
-
|
15950
|
-
|
15951
|
-
|
15952
|
-
|
16657
|
+
enumerable: true,
|
16658
|
+
get: function () {
|
16659
|
+
return reactI18next.useTranslation;
|
16660
|
+
}
|
15953
16661
|
});
|
15954
16662
|
Object.defineProperty(exports, 'ToastContainer', {
|
15955
|
-
|
15956
|
-
|
15957
|
-
|
15958
|
-
|
16663
|
+
enumerable: true,
|
16664
|
+
get: function () {
|
16665
|
+
return reactToastify.ToastContainer;
|
16666
|
+
}
|
15959
16667
|
});
|
15960
16668
|
Object.defineProperty(exports, 'toast', {
|
15961
|
-
|
15962
|
-
|
15963
|
-
|
15964
|
-
|
16669
|
+
enumerable: true,
|
16670
|
+
get: function () {
|
16671
|
+
return reactToastify.toast;
|
16672
|
+
}
|
15965
16673
|
});
|
15966
16674
|
exports.ACADEMY_DOMAIN = ACADEMY_DOMAIN;
|
15967
16675
|
exports.ACCESS_TOKEN = ACCESS_TOKEN;
|
@@ -15995,11 +16703,14 @@ exports.InputText = InputText;
|
|
15995
16703
|
exports.LANGUAGES = LANGUAGES;
|
15996
16704
|
exports.LayoutContext = LayoutContext;
|
15997
16705
|
exports.Loading = Loading;
|
16706
|
+
exports.LoadingComponent = LoadingComponent;
|
15998
16707
|
exports.Login = Login;
|
15999
16708
|
exports.LoginWithPassword = SignIn;
|
16000
16709
|
exports.NotFound = NotFound;
|
16001
16710
|
exports.PUSHER_CONFIG = PUSHER_CONFIG;
|
16711
|
+
exports.PassCodeCheck = PassCodeCheck;
|
16002
16712
|
exports.QuestionCountSelector = QuestionCountSelector;
|
16713
|
+
exports.RecentUserAction = RecentUserAction;
|
16003
16714
|
exports.SUPER_ADMIN_BASE_URL = SUPER_ADMIN_BASE_URL;
|
16004
16715
|
exports.ScoreSelector = ScoreSelector;
|
16005
16716
|
exports.SubjectSelector = SubjectSelector;
|
@@ -16012,12 +16723,15 @@ exports.Types = index$3;
|
|
16012
16723
|
exports.api = api;
|
16013
16724
|
exports.apiUpload = apiUpload;
|
16014
16725
|
exports.canAccessRoute = canAccess;
|
16726
|
+
exports.checkSuperUrl = checkSuperUrl;
|
16727
|
+
exports.createRecentUserActionListApi = createRecentUserActionListApi;
|
16015
16728
|
exports.diffFromNow = diffFromNow;
|
16016
16729
|
exports.formatTime = formatTime;
|
16017
16730
|
exports.getAcademyDomain = getAcademyDomain;
|
16018
16731
|
exports.getAccessToken = getAccessToken;
|
16019
16732
|
exports.getErrorMessage = getErrorMessage;
|
16020
16733
|
exports.getOrdinalSuffix = getOrdinalSuffix;
|
16734
|
+
exports.getRecentUserActionListApi = getRecentUserActionListApi;
|
16021
16735
|
exports.i18n = i18n;
|
16022
16736
|
exports.minutesToTimeSpan = minutesToTimeSpan;
|
16023
16737
|
exports.setAlert = setAlert;
|
@@ -16032,7 +16746,6 @@ exports.toISOString = toISOString;
|
|
16032
16746
|
exports.useAutoAcademyDomain = useAutoAcademyDomain;
|
16033
16747
|
exports.useCategorySelect = useCategorySelect;
|
16034
16748
|
exports.useChatContainer = useChatContainer;
|
16035
|
-
exports.useCheckExam = useCheckExam;
|
16036
16749
|
exports.useCountDownTimer = useCountDownTimer;
|
16037
16750
|
exports.useGoogleSignOut = useGoogleSignOut;
|
16038
16751
|
exports.useLanguage = useLanguage;
|