touchstudy-core 0.1.82 → 0.1.83
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/configs/types.d.ts +1 -0
- package/dist/containers/Login/apiClient/index.d.ts +15 -0
- package/dist/containers/Login/configs/helpers.d.ts +1 -0
- package/dist/containers/Login/hooks/useLogin.d.ts +21 -4
- package/dist/containers/Login/hooks/useLoginWithEmail.d.ts +10 -0
- package/dist/containers/Login/views/Login.d.ts +1 -1
- package/dist/containers/Login/views/LoginWithEmail.d.ts +11 -0
- package/dist/containers/Login/views/block/BlockLogin.d.ts +15 -1
- package/dist/index.css +6 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +484 -95
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +483 -95
- package/dist/index.modern.js.map +1 -1
- package/dist/services/recentUserActionService.d.ts +4 -4
- package/dist/utils/types/login.d.ts +1 -0
- package/dist/utils/types/recentUserAction.d.ts +1 -2
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
import { createAction, createReducer, configureStore } from '@reduxjs/toolkit';
|
2
2
|
import moment from 'moment';
|
3
3
|
export { default as moment } from 'moment';
|
4
|
-
import React__default, { useState, useCallback,
|
4
|
+
import React__default, { useEffect, useState, useCallback, Fragment as Fragment$1, useMemo, useRef, createElement } from 'react';
|
5
5
|
import { Formik, Form, Field } from 'formik';
|
6
|
-
import { object, string,
|
6
|
+
import { object, string, number } from 'yup';
|
7
7
|
import GoogleLogin, { useGoogleLogout } from '@leecheuk/react-google-login';
|
8
8
|
import { useDispatch, useSelector } from 'react-redux';
|
9
9
|
import axios from 'axios';
|
10
10
|
import { useTranslation, initReactI18next } from 'react-i18next';
|
11
11
|
export { I18nextProvider, useTranslation } from 'react-i18next';
|
12
|
-
import { Paper, Card, Stack,
|
12
|
+
import { Paper, Card, Stack, Box, Typography, TextField, Button, Grid, Dialog, DialogTitle, IconButton, DialogContent, DialogActions, Pagination, styled, useTheme, useMediaQuery, MenuList, Tooltip, tooltipClasses, ClickAwayListener, CircularProgress, FormControl, RadioGroup, FormControlLabel, Radio, FormGroup, FormLabel, Checkbox, InputLabel, Container, Table, TableBody, TableRow, TableCell, TableHead, InputBase, List, ListItem } from '@mui/material';
|
13
|
+
import { blue } from '@mui/material/colors';
|
14
|
+
import { GoogleReCaptcha, GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';
|
13
15
|
import { gapi } from 'gapi-script';
|
16
|
+
import { toast } from 'react-toastify';
|
17
|
+
export { ToastContainer, toast } from 'react-toastify';
|
14
18
|
import 'moment/locale/ko.js';
|
15
19
|
import 'moment/locale/en-au.js';
|
16
20
|
import Pusher from 'pusher-js';
|
@@ -21,8 +25,6 @@ import Popover from '@mui/material/Popover';
|
|
21
25
|
import MenuItem from '@mui/material/MenuItem';
|
22
26
|
import IconButton$1 from '@mui/material/IconButton';
|
23
27
|
import { GoArrowSwitch } from 'react-icons/go';
|
24
|
-
import { toast } from 'react-toastify';
|
25
|
-
export { ToastContainer, toast } from 'react-toastify';
|
26
28
|
import Select, { components } from 'react-select';
|
27
29
|
import { FaCaretDown, FaTrash, FaPlus, FaSave, FaPencilAlt, FaPlusCircle, FaTimes, FaSortUp, FaSortDown, FaEye } from 'react-icons/fa';
|
28
30
|
import { PiDotsNineLight } from 'react-icons/pi';
|
@@ -471,14 +473,16 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
471
473
|
return Promise.resolve(apiLogin()).then(function (loginResponse) {
|
472
474
|
var isFirstLogin = loginResponse.isFirstLogin,
|
473
475
|
token = loginResponse.token,
|
474
|
-
user = loginResponse.user
|
476
|
+
user = loginResponse.user,
|
477
|
+
isSuperAdmin = loginResponse.isSuperAdmin;
|
475
478
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
476
479
|
var needToRegister = isStudent && isFirstLogin && isAcademy;
|
477
480
|
var redirectUrl = getRedirectUrl();
|
478
481
|
if (isStudent && !registerUrl) throw new Error("an_unexpected_error_has_occurred");
|
479
482
|
if (!redirectUrl) redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
480
483
|
redirectLoginUser(_extends({}, user, {
|
481
|
-
isNotEnoughStatements: isFirstLogin
|
484
|
+
isNotEnoughStatements: isFirstLogin,
|
485
|
+
isSuperAdmin: isSuperAdmin
|
482
486
|
}), token, redirectUrl);
|
483
487
|
});
|
484
488
|
}, function (error) {
|
@@ -711,20 +715,33 @@ var SloganFullLogoEn = function SloganFullLogoEn(_ref) {
|
|
711
715
|
}))));
|
712
716
|
};
|
713
717
|
|
714
|
-
var schema =
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
})
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
718
|
+
var schema = function schema(t, isOTP) {
|
719
|
+
return object({
|
720
|
+
email: string().when([], function (_ref, schema) {
|
721
|
+
return !isOTP ? schema.email(t("invalid_email_address")).required(t("email_is_required")) : schema;
|
722
|
+
}),
|
723
|
+
otp: number().typeError(t("must_be_number")).when([], function (_ref2, schema) {
|
724
|
+
return isOTP ? schema.required(t("otp_is_required")).positive().integer() : schema;
|
725
|
+
})
|
726
|
+
});
|
727
|
+
};
|
728
|
+
var BlockLogin = function BlockLogin(_ref3) {
|
729
|
+
var isOTP = _ref3.isOTP,
|
730
|
+
isEmail = _ref3.isEmail,
|
731
|
+
defaultInfo = _ref3.defaultInfo,
|
732
|
+
onVerify = _ref3.onVerify,
|
733
|
+
tokenReCaptcha = _ref3.tokenReCaptcha,
|
734
|
+
refreshReCaptcha = _ref3.refreshReCaptcha,
|
735
|
+
handleSwitchOTP = _ref3.handleSwitchOTP,
|
736
|
+
handleSwitchEmail = _ref3.handleSwitchEmail,
|
737
|
+
history = _ref3.history,
|
738
|
+
_ref3$role = _ref3.role,
|
739
|
+
role = _ref3$role === void 0 ? Role.Student : _ref3$role,
|
740
|
+
homeAcademyUrl = _ref3.homeAcademyUrl,
|
741
|
+
homeUrl = _ref3.homeUrl,
|
742
|
+
registerUrl = _ref3.registerUrl,
|
743
|
+
clientId = _ref3.clientId,
|
744
|
+
onSubmit = _ref3.onSubmit;
|
728
745
|
var language = useSelector(function (state) {
|
729
746
|
var _state$common;
|
730
747
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
|
@@ -769,19 +786,32 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
769
786
|
sx: {
|
770
787
|
gap: 4,
|
771
788
|
p: 6,
|
772
|
-
display:
|
773
|
-
flexDirection:
|
774
|
-
alignItems:
|
789
|
+
display: "flex",
|
790
|
+
flexDirection: "column",
|
791
|
+
alignItems: "center"
|
775
792
|
}
|
776
793
|
}, React__default.createElement(Formik, {
|
777
794
|
initialValues: defaultInfo,
|
778
|
-
validationSchema:
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
795
|
+
validationSchema: function validationSchema() {
|
796
|
+
return schema(t, isOTP);
|
797
|
+
},
|
798
|
+
onSubmit: onSubmit
|
799
|
+
}, function (_ref4) {
|
800
|
+
var errors = _ref4.errors,
|
801
|
+
values = _ref4.values,
|
802
|
+
setFieldValue = _ref4.setFieldValue;
|
803
|
+
console.log({
|
804
|
+
errors: errors,
|
805
|
+
values: values
|
806
|
+
});
|
807
|
+
useEffect(function () {
|
808
|
+
if (isOTP) {
|
809
|
+
setFieldValue("email", "");
|
810
|
+
} else {
|
811
|
+
setFieldValue("otp", "");
|
812
|
+
}
|
813
|
+
}, [isOTP, isEmail]);
|
814
|
+
return React__default.createElement(Form, null, React__default.createElement("div", {
|
785
815
|
className: "" + styles["block-form"]
|
786
816
|
}, React__default.createElement(Stack, {
|
787
817
|
py: 2,
|
@@ -791,7 +821,7 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
791
821
|
width: "300px"
|
792
822
|
}) : React__default.createElement(SloganFullLogoEn, {
|
793
823
|
width: "300px"
|
794
|
-
})), React__default.createElement("div", {
|
824
|
+
})), !isOTP && !isEmail && React__default.createElement("div", {
|
795
825
|
className: "p-0 mt-1 mb-4"
|
796
826
|
}, React__default.createElement(GoogleLogin, {
|
797
827
|
clientId: clientId,
|
@@ -801,18 +831,152 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
801
831
|
cookiePolicy: "single_host_origin",
|
802
832
|
className: "" + styles["btn-login-google"],
|
803
833
|
isSignedIn: true
|
804
|
-
})
|
834
|
+
}), React__default.createElement(Box, {
|
835
|
+
onClick: function onClick() {
|
836
|
+
return handleSwitchEmail(true);
|
837
|
+
},
|
838
|
+
sx: {
|
839
|
+
cursor: "pointer",
|
840
|
+
my: 4
|
841
|
+
}
|
842
|
+
}, React__default.createElement(Typography, {
|
843
|
+
fontSize: "14px",
|
844
|
+
fontWeight: 700,
|
845
|
+
color: blue[700]
|
846
|
+
}, t("sign_in_with_email"))))), (isEmail || isOTP) && React__default.createElement(Stack, null, !isOTP ? React__default.createElement(Stack, {
|
847
|
+
flexDirection: "column",
|
848
|
+
gap: 1
|
849
|
+
}, React__default.createElement(Typography, {
|
850
|
+
fontWeight: 700,
|
851
|
+
fontSize: "14px"
|
852
|
+
}, t("email")), React__default.createElement(Field, {
|
853
|
+
name: "email",
|
854
|
+
render: function render(_ref5) {
|
855
|
+
var field = _ref5.field;
|
856
|
+
return React__default.createElement(TextField, Object.assign({}, field));
|
857
|
+
}
|
858
|
+
}), !!(errors !== null && errors !== void 0 && errors.email) && React__default.createElement(Typography, {
|
859
|
+
fontWeight: 500,
|
860
|
+
fontSize: "10px",
|
861
|
+
lineHeight: "11.93px",
|
862
|
+
color: !(errors !== null && errors !== void 0 && errors.email) ? "#97A1AF" : "#F34B4B"
|
863
|
+
}, errors === null || errors === void 0 ? void 0 : errors.email)) : React__default.createElement(Stack, {
|
864
|
+
flexDirection: "column",
|
865
|
+
gap: 1
|
866
|
+
}, React__default.createElement(Typography, {
|
867
|
+
fontWeight: 700,
|
868
|
+
fontSize: "14px"
|
869
|
+
}, t("OTP")), React__default.createElement(Field, {
|
870
|
+
name: "otp",
|
871
|
+
render: function render(_ref6) {
|
872
|
+
var field = _ref6.field;
|
873
|
+
return React__default.createElement(TextField, Object.assign({}, field));
|
874
|
+
}
|
875
|
+
}), !!(errors !== null && errors !== void 0 && errors.otp) && React__default.createElement(Typography, {
|
876
|
+
fontWeight: 500,
|
877
|
+
fontSize: "10px",
|
878
|
+
lineHeight: "11.93px",
|
879
|
+
color: !(errors !== null && errors !== void 0 && errors.otp) ? "#97A1AF" : "#F34B4B"
|
880
|
+
}, errors === null || errors === void 0 ? void 0 : errors.otp)), React__default.createElement(Stack, {
|
881
|
+
flexDirection: "row",
|
882
|
+
alignItems: "center",
|
883
|
+
gap: 2,
|
884
|
+
my: 2
|
885
|
+
}, React__default.createElement(GoogleReCaptcha, {
|
886
|
+
onVerify: onVerify,
|
887
|
+
refreshReCaptcha: refreshReCaptcha
|
888
|
+
})), React__default.createElement(Box, {
|
889
|
+
onClick: function onClick() {
|
890
|
+
handleSwitchEmail(false);
|
891
|
+
handleSwitchOTP(false);
|
892
|
+
},
|
893
|
+
sx: {
|
894
|
+
cursor: "pointer",
|
895
|
+
my: 2
|
896
|
+
}
|
897
|
+
}, React__default.createElement(Typography, {
|
898
|
+
fontSize: "14px",
|
899
|
+
fontWeight: 700,
|
900
|
+
color: blue[700]
|
901
|
+
}, t("sign_in_with_google_account"))), React__default.createElement(Stack, {
|
902
|
+
flexDirection: "row",
|
903
|
+
justifyContent: "end",
|
904
|
+
gap: 1,
|
905
|
+
mt: 2
|
906
|
+
}, React__default.createElement(Button, {
|
907
|
+
variant: "contained",
|
908
|
+
color: "primary",
|
909
|
+
type: "submit",
|
910
|
+
disabled: !tokenReCaptcha
|
911
|
+
}, t("submit")))));
|
805
912
|
})));
|
806
913
|
};
|
807
914
|
|
915
|
+
var SIGN_IN_SUPER_ADMIN_URL = SUPER_ADMIN_BASE_URL + "/api/auth/login";
|
916
|
+
var SIGN_IN_URL = BASE_URL + "/api/auth/login";
|
917
|
+
var signInApi = function signInApi(_ref) {
|
918
|
+
var email = _ref.email,
|
919
|
+
password = _ref.password,
|
920
|
+
role = _ref.role;
|
921
|
+
return api.post(SIGN_IN_URL + "/demo", {
|
922
|
+
email: email,
|
923
|
+
password: password,
|
924
|
+
role: role
|
925
|
+
});
|
926
|
+
};
|
927
|
+
var signInWithEmailApi = function signInWithEmailApi(_ref2) {
|
928
|
+
var academyDomain = _ref2.academyDomain,
|
929
|
+
email = _ref2.email,
|
930
|
+
reCaptcha = _ref2.reCaptcha;
|
931
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/email", {
|
932
|
+
email: email,
|
933
|
+
reCaptcha: reCaptcha
|
934
|
+
}, {
|
935
|
+
headers: {
|
936
|
+
Domain: window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '')
|
937
|
+
}
|
938
|
+
});
|
939
|
+
};
|
940
|
+
var signInWithOTPApi = function signInWithOTPApi(_ref3) {
|
941
|
+
var academyDomain = _ref3.academyDomain,
|
942
|
+
otp = _ref3.otp,
|
943
|
+
role = _ref3.role;
|
944
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/otp", {
|
945
|
+
otp: otp,
|
946
|
+
role: role
|
947
|
+
});
|
948
|
+
};
|
949
|
+
var signInWithKeyApi = function signInWithKeyApi(_ref4) {
|
950
|
+
var academyDomain = _ref4.academyDomain,
|
951
|
+
key = _ref4.key,
|
952
|
+
role = _ref4.role;
|
953
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/email/key", {
|
954
|
+
key: key,
|
955
|
+
role: role
|
956
|
+
});
|
957
|
+
};
|
958
|
+
var signInSuperAdminApi = function signInSuperAdminApi(_ref5) {
|
959
|
+
var email = _ref5.email,
|
960
|
+
password = _ref5.password,
|
961
|
+
role = _ref5.role;
|
962
|
+
return api.post(SIGN_IN_SUPER_ADMIN_URL + "/demo", {
|
963
|
+
email: email,
|
964
|
+
password: password,
|
965
|
+
role: role
|
966
|
+
});
|
967
|
+
};
|
968
|
+
|
808
969
|
var defaultInfo = {
|
809
970
|
email: "",
|
810
|
-
|
811
|
-
captcha: "",
|
812
|
-
rememberMe: false
|
971
|
+
otp: ""
|
813
972
|
};
|
814
973
|
var PAGE_TITLE = "sign_in";
|
815
|
-
var useLogin$1 = function useLogin(
|
974
|
+
var useLogin$1 = function useLogin(_ref) {
|
975
|
+
var history = _ref.history,
|
976
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
977
|
+
homeUrl = _ref.homeUrl,
|
978
|
+
registerUrl = _ref.registerUrl,
|
979
|
+
role = _ref.role;
|
816
980
|
var _useState = useState(false),
|
817
981
|
openLogin = _useState[0],
|
818
982
|
setOpenLogin = _useState[1];
|
@@ -822,6 +986,7 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
822
986
|
var _useState3 = useState(),
|
823
987
|
clientId = _useState3[0],
|
824
988
|
setClientId = _useState3[1];
|
989
|
+
var dispatch = useDispatch();
|
825
990
|
var _useTranslation = useTranslation(),
|
826
991
|
t = _useTranslation.t;
|
827
992
|
var toggle = useCallback(function () {
|
@@ -830,6 +995,96 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
830
995
|
var _useState4 = useState(false),
|
831
996
|
isShowPassword = _useState4[0],
|
832
997
|
setIsShowPassword = _useState4[1];
|
998
|
+
var _useState5 = useState(false),
|
999
|
+
isOTP = _useState5[0],
|
1000
|
+
setIsOTP = _useState5[1];
|
1001
|
+
var _useState6 = useState(false),
|
1002
|
+
isEmail = _useState6[0],
|
1003
|
+
setIsEmail = _useState6[1];
|
1004
|
+
var searchParams = new URLSearchParams(window.location.search);
|
1005
|
+
var paramDomain = searchParams.get("domain");
|
1006
|
+
var academyDomainStorage = getAcademyDomain();
|
1007
|
+
var academyDomain = paramDomain || academyDomainStorage || "";
|
1008
|
+
var _useState7 = useState(""),
|
1009
|
+
tokenReCaptcha = _useState7[0],
|
1010
|
+
setTokenReCaptcha = _useState7[1];
|
1011
|
+
var _useState8 = useState(false),
|
1012
|
+
refreshReCaptcha = _useState8[0],
|
1013
|
+
setRefreshReCaptcha = _useState8[1];
|
1014
|
+
var handleSwitchOTP = function handleSwitchOTP(bool) {
|
1015
|
+
setIsOTP(bool);
|
1016
|
+
};
|
1017
|
+
var handleSwitchEmail = function handleSwitchEmail(bool) {
|
1018
|
+
setIsEmail(bool);
|
1019
|
+
};
|
1020
|
+
var onVerify = useCallback(function (token) {
|
1021
|
+
setTokenReCaptcha(token);
|
1022
|
+
}, []);
|
1023
|
+
var redirectLoginUser = function redirectLoginUser(data, token, redirectUrl) {
|
1024
|
+
localStorage.setItem(ACCESS_TOKEN, token);
|
1025
|
+
!data.academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
1026
|
+
!!data.academyDomain && localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
|
1027
|
+
dispatch(setUser(_extends({}, data)));
|
1028
|
+
if (redirectUrl) pushTo(history, redirectUrl);
|
1029
|
+
};
|
1030
|
+
var handleSubmit = function handleSubmit(values) {
|
1031
|
+
try {
|
1032
|
+
var _temp5 = function _temp5() {
|
1033
|
+
dispatch(setLoading(false));
|
1034
|
+
};
|
1035
|
+
if (!tokenReCaptcha) return Promise.resolve();
|
1036
|
+
dispatch(setLoading(true));
|
1037
|
+
var email = values.email,
|
1038
|
+
otp = values.otp;
|
1039
|
+
var _temp4 = _catch(function () {
|
1040
|
+
function _temp3() {
|
1041
|
+
var _temp = function () {
|
1042
|
+
if (otp) {
|
1043
|
+
return Promise.resolve(signInWithOTPApi({
|
1044
|
+
academyDomain: academyDomain,
|
1045
|
+
otp: otp,
|
1046
|
+
role: role
|
1047
|
+
})).then(function (res) {
|
1048
|
+
var loginResponse = res === null || res === void 0 ? void 0 : res.data;
|
1049
|
+
var isFirstLogin = loginResponse.isFirstLogin,
|
1050
|
+
token = loginResponse.token,
|
1051
|
+
user = loginResponse.user;
|
1052
|
+
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
1053
|
+
var needToRegister = isFirstLogin && isAcademy;
|
1054
|
+
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
1055
|
+
handleSwitchOTP(false);
|
1056
|
+
redirectLoginUser(user, token, redirectUrl);
|
1057
|
+
});
|
1058
|
+
}
|
1059
|
+
}();
|
1060
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
1061
|
+
}
|
1062
|
+
var _temp2 = function () {
|
1063
|
+
if (email) {
|
1064
|
+
return Promise.resolve(signInWithEmailApi({
|
1065
|
+
academyDomain: academyDomain,
|
1066
|
+
email: email,
|
1067
|
+
reCaptcha: tokenReCaptcha
|
1068
|
+
})).then(function () {
|
1069
|
+
toast.success(t("please_check_your_mailbox"));
|
1070
|
+
handleSwitchOTP(true);
|
1071
|
+
handleSwitchEmail(false);
|
1072
|
+
setRefreshReCaptcha(function (b) {
|
1073
|
+
return !b;
|
1074
|
+
});
|
1075
|
+
});
|
1076
|
+
}
|
1077
|
+
}();
|
1078
|
+
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
|
1079
|
+
}, function (error) {
|
1080
|
+
console.log(error);
|
1081
|
+
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
1082
|
+
});
|
1083
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
1084
|
+
} catch (e) {
|
1085
|
+
return Promise.reject(e);
|
1086
|
+
}
|
1087
|
+
};
|
833
1088
|
useEffect(function () {
|
834
1089
|
setClientId(GOOGLE_CLIENT_ID);
|
835
1090
|
}, []);
|
@@ -852,6 +1107,13 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
852
1107
|
document.title = t("study_peak") + " | " + t(PAGE_TITLE);
|
853
1108
|
}, [t]);
|
854
1109
|
return {
|
1110
|
+
isOTP: isOTP,
|
1111
|
+
isEmail: isEmail,
|
1112
|
+
onVerify: onVerify,
|
1113
|
+
tokenReCaptcha: tokenReCaptcha,
|
1114
|
+
refreshReCaptcha: refreshReCaptcha,
|
1115
|
+
handleSwitchOTP: handleSwitchOTP,
|
1116
|
+
handleSwitchEmail: handleSwitchEmail,
|
855
1117
|
clientId: clientId,
|
856
1118
|
defaultInfo: defaultInfo,
|
857
1119
|
openLogin: openLogin,
|
@@ -859,6 +1121,7 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
859
1121
|
isShowPassword: isShowPassword,
|
860
1122
|
setIsShowPassword: setIsShowPassword,
|
861
1123
|
infoUser: infoUser,
|
1124
|
+
handleSubmit: handleSubmit,
|
862
1125
|
setInfoUser: setInfoUser
|
863
1126
|
};
|
864
1127
|
};
|
@@ -961,9 +1224,23 @@ var _excluded = ["history"];
|
|
961
1224
|
var Login = function Login(_ref) {
|
962
1225
|
var history = _ref.history,
|
963
1226
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
964
|
-
var _useLogin = useLogin$1(
|
1227
|
+
var _useLogin = useLogin$1({
|
1228
|
+
homeAcademyUrl: rest.homeAcademyUrl,
|
1229
|
+
homeUrl: rest.homeUrl,
|
1230
|
+
role: rest.role,
|
1231
|
+
registerUrl: rest.registerUrl,
|
1232
|
+
history: history
|
1233
|
+
}),
|
1234
|
+
isOTP = _useLogin.isOTP,
|
1235
|
+
isEmail = _useLogin.isEmail,
|
1236
|
+
onVerify = _useLogin.onVerify,
|
965
1237
|
defaultInfo = _useLogin.defaultInfo,
|
966
|
-
clientId = _useLogin.clientId
|
1238
|
+
clientId = _useLogin.clientId,
|
1239
|
+
tokenReCaptcha = _useLogin.tokenReCaptcha,
|
1240
|
+
handleSubmit = _useLogin.handleSubmit,
|
1241
|
+
handleSwitchOTP = _useLogin.handleSwitchOTP,
|
1242
|
+
refreshReCaptcha = _useLogin.refreshReCaptcha,
|
1243
|
+
handleSwitchEmail = _useLogin.handleSwitchEmail;
|
967
1244
|
useLanguage(history);
|
968
1245
|
return React__default.createElement("div", {
|
969
1246
|
className: styles["login"] + " font-family-lato"
|
@@ -975,11 +1252,21 @@ var Login = function Login(_ref) {
|
|
975
1252
|
item: true,
|
976
1253
|
xs: 12,
|
977
1254
|
className: "d-flex justify-content-center h-100 align-items-center"
|
978
|
-
}, clientId && React__default.createElement(
|
1255
|
+
}, clientId && React__default.createElement(GoogleReCaptchaProvider, {
|
1256
|
+
reCaptchaKey: GOOGLE_RECAPTCHA_KEY
|
1257
|
+
}, React__default.createElement(BlockLogin, Object.assign({
|
1258
|
+
isOTP: isOTP,
|
1259
|
+
onVerify: onVerify,
|
1260
|
+
isEmail: isEmail,
|
1261
|
+
tokenReCaptcha: tokenReCaptcha,
|
1262
|
+
refreshReCaptcha: refreshReCaptcha,
|
1263
|
+
handleSwitchOTP: handleSwitchOTP,
|
1264
|
+
handleSwitchEmail: handleSwitchEmail,
|
979
1265
|
defaultInfo: defaultInfo,
|
980
1266
|
history: history,
|
981
|
-
clientId: clientId
|
982
|
-
|
1267
|
+
clientId: clientId,
|
1268
|
+
onSubmit: handleSubmit
|
1269
|
+
}, rest))))));
|
983
1270
|
};
|
984
1271
|
|
985
1272
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
@@ -1379,7 +1666,9 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls, showL
|
|
1379
1666
|
};
|
1380
1667
|
var checkRoleUser = useCallback(function () {
|
1381
1668
|
if (!(user !== null && user !== void 0 && user.email)) return;
|
1382
|
-
|
1669
|
+
var isAdmin = roles.includes(Role.Admin);
|
1670
|
+
if (isAdmin && role === Role.Teacher) return;
|
1671
|
+
if (!roles.includes(role) && !!academyDomain && (role !== Role.Teacher || !roles.includes(Role.Admin))) {
|
1383
1672
|
alert(t("user_not_allow_to_register_role", {
|
1384
1673
|
user: user.email,
|
1385
1674
|
role: role
|
@@ -1839,6 +2128,7 @@ var there_are_no_recent_exams = "최근 시험이 없습니다";
|
|
1839
2128
|
var you_have_started_an_exam_with_code_code_do_you_want_to_continue = "{{code}} 코드로 시험을 시작했습니다. 계속하시겠습니까?";
|
1840
2129
|
var here = "여기";
|
1841
2130
|
var do_you_want_to_complete_the_exam = "시험을 완료처리 하시겠습니까?";
|
2131
|
+
var do_you_want_to_cancel_the_exam = "시험을 취소하시겠습니까? (학생의 결과는 모두 삭제됩니다)";
|
1842
2132
|
var are_you_sure_you_want_to_delete_the_exam = "시험을 삭제하시겠습니까?";
|
1843
2133
|
var are_you_sure_you_want_to_delete_the_textbook = "교과서를 삭제하시겠습니까?";
|
1844
2134
|
var are_you_sure_you_want_to_delete_the_user = "사용자 {{user}}을(를) 삭제하시겠습니까?";
|
@@ -2082,6 +2372,7 @@ var parent_name = "부모님 성함";
|
|
2082
2372
|
var users = "사용자";
|
2083
2373
|
var new_user = "새로운 사용자";
|
2084
2374
|
var academy_admin = "아카데미 관리자";
|
2375
|
+
var super_admin = "최고 관리자";
|
2085
2376
|
var switch_academy_admin = "스위치 아카데미 관리자";
|
2086
2377
|
var switch_academy = "스위치 아카데미";
|
2087
2378
|
var there_are_no_lessons_this_week = "이번주는 수업이 없습니다";
|
@@ -2372,6 +2663,7 @@ var textbook_subject_is_required = "교과서 과목은 필수입니다";
|
|
2372
2663
|
var update_the_textbook_successfully = "교과서를 성공적으로 업데이트했습니다.";
|
2373
2664
|
var create_the_textbook_successfully = "교과서를 성공적으로 만들었습니다.";
|
2374
2665
|
var finish_exam_successful = "시험을 성공적으로 마쳤습니다";
|
2666
|
+
var cancel_exam_successful = "시험을 성공적으로 취소했습니다";
|
2375
2667
|
var you_has_been_kicked_out = "당신은 쫓겨났습니다";
|
2376
2668
|
var the_teacher_has_closed_or_deleted_the_exam = "선생님이 시험을 종료했거나 삭제했습니다. 나중에 다시 시도해 주세요.";
|
2377
2669
|
var check_in_lesson_successfully = "수업 체크인 성공";
|
@@ -2466,6 +2758,7 @@ var added_date = "추가된 날짜";
|
|
2466
2758
|
var sync_exam_results = "시험 결과 동기화";
|
2467
2759
|
var update_data_fail = "데이터 업데이트 실패";
|
2468
2760
|
var add_students_to_class = "수업에 학생 추가";
|
2761
|
+
var add_teachers_to_class = "수업에 교사 추가";
|
2469
2762
|
var click_to_choose_file = "파일을 선택하려면 클릭하세요.";
|
2470
2763
|
var exam_data = "시험 데이터";
|
2471
2764
|
var questions_correct_rate = "질문 정답률";
|
@@ -2582,6 +2875,15 @@ var allowed_to_send_pop_ups_and_use_redirects = "팝업 보내기 및 리디렉
|
|
2582
2875
|
var disable_ask_where_to_save_each_file_before_downloading = "다운로드하기 전에 각 파일을 저장할 위치 묻기 비활성화";
|
2583
2876
|
var total_number_of_selected_results = "선택된 결과의 총 개수";
|
2584
2877
|
var choose_to_print = "인쇄를 선택하세요";
|
2878
|
+
var exam_has_been_cancelled = "시험이 취소되었습니다";
|
2879
|
+
var or = "또는";
|
2880
|
+
var sign_in_with_email = "이메일로 로그인";
|
2881
|
+
var please_check_your_mailbox = "우편함을 확인해 주세요";
|
2882
|
+
var otp_is_required = "OTP가 필요합니다";
|
2883
|
+
var min_is_1 = "최소값은 1입니다.";
|
2884
|
+
var max_is_6 = "최대는 6입니다";
|
2885
|
+
var must_be_number = "숫자여야 합니다.";
|
2886
|
+
var sign_in_with_google_account = "구글 계정으로 로그인";
|
2585
2887
|
var lang_ko = {
|
2586
2888
|
problem_solving: problem_solving,
|
2587
2889
|
my_story: my_story,
|
@@ -2622,6 +2924,7 @@ var lang_ko = {
|
|
2622
2924
|
you_have_started_an_exam_with_code_code_do_you_want_to_continue: you_have_started_an_exam_with_code_code_do_you_want_to_continue,
|
2623
2925
|
here: here,
|
2624
2926
|
do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam,
|
2927
|
+
do_you_want_to_cancel_the_exam: do_you_want_to_cancel_the_exam,
|
2625
2928
|
are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam,
|
2626
2929
|
are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook,
|
2627
2930
|
are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user,
|
@@ -2862,6 +3165,7 @@ var lang_ko = {
|
|
2862
3165
|
users: users,
|
2863
3166
|
new_user: new_user,
|
2864
3167
|
academy_admin: academy_admin,
|
3168
|
+
super_admin: super_admin,
|
2865
3169
|
switch_academy_admin: switch_academy_admin,
|
2866
3170
|
switch_academy: switch_academy,
|
2867
3171
|
there_are_no_lessons_this_week: there_are_no_lessons_this_week,
|
@@ -3147,6 +3451,7 @@ var lang_ko = {
|
|
3147
3451
|
update_the_textbook_successfully: update_the_textbook_successfully,
|
3148
3452
|
create_the_textbook_successfully: create_the_textbook_successfully,
|
3149
3453
|
finish_exam_successful: finish_exam_successful,
|
3454
|
+
cancel_exam_successful: cancel_exam_successful,
|
3150
3455
|
you_has_been_kicked_out: you_has_been_kicked_out,
|
3151
3456
|
the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam,
|
3152
3457
|
check_in_lesson_successfully: check_in_lesson_successfully,
|
@@ -3242,6 +3547,7 @@ var lang_ko = {
|
|
3242
3547
|
sync_exam_results: sync_exam_results,
|
3243
3548
|
update_data_fail: update_data_fail,
|
3244
3549
|
add_students_to_class: add_students_to_class,
|
3550
|
+
add_teachers_to_class: add_teachers_to_class,
|
3245
3551
|
click_to_choose_file: click_to_choose_file,
|
3246
3552
|
exam_data: exam_data,
|
3247
3553
|
questions_correct_rate: questions_correct_rate,
|
@@ -3355,7 +3661,16 @@ var lang_ko = {
|
|
3355
3661
|
allowed_to_send_pop_ups_and_use_redirects: allowed_to_send_pop_ups_and_use_redirects,
|
3356
3662
|
disable_ask_where_to_save_each_file_before_downloading: disable_ask_where_to_save_each_file_before_downloading,
|
3357
3663
|
total_number_of_selected_results: total_number_of_selected_results,
|
3358
|
-
choose_to_print: choose_to_print
|
3664
|
+
choose_to_print: choose_to_print,
|
3665
|
+
exam_has_been_cancelled: exam_has_been_cancelled,
|
3666
|
+
or: or,
|
3667
|
+
sign_in_with_email: sign_in_with_email,
|
3668
|
+
please_check_your_mailbox: please_check_your_mailbox,
|
3669
|
+
otp_is_required: otp_is_required,
|
3670
|
+
min_is_1: min_is_1,
|
3671
|
+
max_is_6: max_is_6,
|
3672
|
+
must_be_number: must_be_number,
|
3673
|
+
sign_in_with_google_account: sign_in_with_google_account
|
3359
3674
|
};
|
3360
3675
|
|
3361
3676
|
var problem_solving$1 = "Problem Solving";
|
@@ -3395,6 +3710,7 @@ var there_are_no_recent_exams$1 = "There are no recent exams";
|
|
3395
3710
|
var you_have_started_an_exam_with_code_code_do_you_want_to_continue$1 = "You have started an exam with code {{code}}, do you want to continue?";
|
3396
3711
|
var here$1 = "here";
|
3397
3712
|
var do_you_want_to_complete_the_exam$1 = "Do you want to complete the exam?";
|
3713
|
+
var do_you_want_to_cancel_the_exam$1 = "Do you want to cancel the exam? (All student results will be deleted)";
|
3398
3714
|
var are_you_sure_you_want_to_delete_the_exam$1 = "Are you sure you want to delete the exam?";
|
3399
3715
|
var are_you_sure_you_want_to_delete_the_textbook$1 = "Are you sure you want to delete the textbook?";
|
3400
3716
|
var are_you_sure_you_want_to_delete_the_user$1 = "Are you sure you want to delete the user: {{user}}?";
|
@@ -3663,6 +3979,7 @@ var parent_name$1 = "Parent name";
|
|
3663
3979
|
var users$1 = "Users";
|
3664
3980
|
var new_user$1 = "New user";
|
3665
3981
|
var academy_admin$1 = "Academy Admin";
|
3982
|
+
var super_admin$1 = "Super Admin";
|
3666
3983
|
var switch_academy_admin$1 = "Switch Academy Admin";
|
3667
3984
|
var switch_academy$1 = "Switch Academy";
|
3668
3985
|
var there_are_no_lessons_this_week$1 = "There are no lessons this week";
|
@@ -3942,7 +4259,8 @@ var textbook_name_is_required$1 = "Textbook name is required";
|
|
3942
4259
|
var textbook_subject_is_required$1 = "Textbook subject is required";
|
3943
4260
|
var update_the_textbook_successfully$1 = "Update the textbook successfully";
|
3944
4261
|
var create_the_textbook_successfully$1 = "Create the textbook successfully";
|
3945
|
-
var finish_exam_successful$1 = "Finish exam
|
4262
|
+
var finish_exam_successful$1 = "Finish exam successfully";
|
4263
|
+
var cancel_exam_successful$1 = "Cancel exam successfully";
|
3946
4264
|
var you_has_been_kicked_out$1 = "You has been kicked out";
|
3947
4265
|
var the_teacher_has_closed_or_deleted_the_exam$1 = "The teacher has closed or deleted the exam, please try again later";
|
3948
4266
|
var check_in_lesson_successfully$1 = "Check in lesson successfully";
|
@@ -4023,6 +4341,7 @@ var added_date$1 = "Added date";
|
|
4023
4341
|
var sync_exam_results$1 = "Sync exam results";
|
4024
4342
|
var update_data_fail$1 = "Update data fail";
|
4025
4343
|
var add_students_to_class$1 = "Add students to class";
|
4344
|
+
var add_teachers_to_class$1 = "Add teachers to class";
|
4026
4345
|
var click_to_choose_file$1 = "Click to choose file";
|
4027
4346
|
var exam_data$1 = "Exam Data";
|
4028
4347
|
var questions_correct_rate$1 = "Questions Correct Rate";
|
@@ -4139,6 +4458,15 @@ var allowed_to_send_pop_ups_and_use_redirects$1 = "Allowed to send pop-ups and u
|
|
4139
4458
|
var disable_ask_where_to_save_each_file_before_downloading$1 = "Disable ask where to save each file before downloading";
|
4140
4459
|
var total_number_of_selected_results$1 = "Total number of selected results";
|
4141
4460
|
var choose_to_print$1 = "Choose to print";
|
4461
|
+
var exam_has_been_cancelled$1 = "The exam has been cancelled";
|
4462
|
+
var or$1 = "Or";
|
4463
|
+
var sign_in_with_email$1 = "Sign in with email";
|
4464
|
+
var please_check_your_mailbox$1 = "Please check your mailbox";
|
4465
|
+
var otp_is_required$1 = "OTP is required";
|
4466
|
+
var min_is_1$1 = "Min is 1";
|
4467
|
+
var max_is_6$1 = "Max is 6";
|
4468
|
+
var must_be_number$1 = "Must be number";
|
4469
|
+
var sign_in_with_google_account$1 = "Sign in with google account";
|
4142
4470
|
var lang_en = {
|
4143
4471
|
problem_solving: problem_solving$1,
|
4144
4472
|
my_story: my_story$1,
|
@@ -4179,6 +4507,7 @@ var lang_en = {
|
|
4179
4507
|
you_have_started_an_exam_with_code_code_do_you_want_to_continue: you_have_started_an_exam_with_code_code_do_you_want_to_continue$1,
|
4180
4508
|
here: here$1,
|
4181
4509
|
do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam$1,
|
4510
|
+
do_you_want_to_cancel_the_exam: do_you_want_to_cancel_the_exam$1,
|
4182
4511
|
are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam$1,
|
4183
4512
|
are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook$1,
|
4184
4513
|
are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user$1,
|
@@ -4444,6 +4773,7 @@ var lang_en = {
|
|
4444
4773
|
users: users$1,
|
4445
4774
|
new_user: new_user$1,
|
4446
4775
|
academy_admin: academy_admin$1,
|
4776
|
+
super_admin: super_admin$1,
|
4447
4777
|
switch_academy_admin: switch_academy_admin$1,
|
4448
4778
|
switch_academy: switch_academy$1,
|
4449
4779
|
there_are_no_lessons_this_week: there_are_no_lessons_this_week$1,
|
@@ -4719,6 +5049,7 @@ var lang_en = {
|
|
4719
5049
|
update_the_textbook_successfully: update_the_textbook_successfully$1,
|
4720
5050
|
create_the_textbook_successfully: create_the_textbook_successfully$1,
|
4721
5051
|
finish_exam_successful: finish_exam_successful$1,
|
5052
|
+
cancel_exam_successful: cancel_exam_successful$1,
|
4722
5053
|
you_has_been_kicked_out: you_has_been_kicked_out$1,
|
4723
5054
|
the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam$1,
|
4724
5055
|
check_in_lesson_successfully: check_in_lesson_successfully$1,
|
@@ -4800,6 +5131,7 @@ var lang_en = {
|
|
4800
5131
|
sync_exam_results: sync_exam_results$1,
|
4801
5132
|
update_data_fail: update_data_fail$1,
|
4802
5133
|
add_students_to_class: add_students_to_class$1,
|
5134
|
+
add_teachers_to_class: add_teachers_to_class$1,
|
4803
5135
|
click_to_choose_file: click_to_choose_file$1,
|
4804
5136
|
exam_data: exam_data$1,
|
4805
5137
|
questions_correct_rate: questions_correct_rate$1,
|
@@ -4913,7 +5245,16 @@ var lang_en = {
|
|
4913
5245
|
allowed_to_send_pop_ups_and_use_redirects: allowed_to_send_pop_ups_and_use_redirects$1,
|
4914
5246
|
disable_ask_where_to_save_each_file_before_downloading: disable_ask_where_to_save_each_file_before_downloading$1,
|
4915
5247
|
total_number_of_selected_results: total_number_of_selected_results$1,
|
4916
|
-
choose_to_print: choose_to_print$1
|
5248
|
+
choose_to_print: choose_to_print$1,
|
5249
|
+
exam_has_been_cancelled: exam_has_been_cancelled$1,
|
5250
|
+
or: or$1,
|
5251
|
+
sign_in_with_email: sign_in_with_email$1,
|
5252
|
+
please_check_your_mailbox: please_check_your_mailbox$1,
|
5253
|
+
otp_is_required: otp_is_required$1,
|
5254
|
+
min_is_1: min_is_1$1,
|
5255
|
+
max_is_6: max_is_6$1,
|
5256
|
+
must_be_number: must_be_number$1,
|
5257
|
+
sign_in_with_google_account: sign_in_with_google_account$1
|
4917
5258
|
};
|
4918
5259
|
|
4919
5260
|
i18n.use(initReactI18next).init({
|
@@ -5187,7 +5528,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
5187
5528
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
5188
5529
|
});
|
5189
5530
|
var isAdmin = role === Role.Admin;
|
5190
|
-
var isSuperAdmin = user && !user.academyDomain && ((_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(Role.Admin));
|
5531
|
+
var isSuperAdmin = user && (!user.academyDomain && ((_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(Role.Admin)) || user.isSuperAdmin);
|
5191
5532
|
var _useTranslation = useTranslation(),
|
5192
5533
|
t = _useTranslation.t;
|
5193
5534
|
var _useState = useState(null),
|
@@ -6933,7 +7274,7 @@ var useMessageList = function useMessageList(_ref) {
|
|
6933
7274
|
userId: (student === null || student === void 0 ? void 0 : student.id) || 0,
|
6934
7275
|
action: RecentUserAction$1.ViewedQNA,
|
6935
7276
|
data: "" + conversationId,
|
6936
|
-
|
7277
|
+
isAdmin: !isTeacher
|
6937
7278
|
})).then(function () {
|
6938
7279
|
isFirst = false;
|
6939
7280
|
});
|
@@ -7101,6 +7442,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
7101
7442
|
var _useState4 = useState(true),
|
7102
7443
|
isScrollToEnd = _useState4[0],
|
7103
7444
|
setScrollToEnd = _useState4[1];
|
7445
|
+
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(Role.Admin);
|
7104
7446
|
var _useMessageList = useMessageList({
|
7105
7447
|
student: student
|
7106
7448
|
}),
|
@@ -7226,9 +7568,6 @@ var useChatContainer = function useChatContainer(props) {
|
|
7226
7568
|
if (!data) return;
|
7227
7569
|
var parsedData = JSON.parse(data);
|
7228
7570
|
if (parsedData.id) setSelectedConversation(JSON.parse(data));
|
7229
|
-
console.log({
|
7230
|
-
data: JSON.parse(data)
|
7231
|
-
});
|
7232
7571
|
};
|
7233
7572
|
var handleLoadMoreMessages = function handleLoadMoreMessages() {
|
7234
7573
|
try {
|
@@ -7295,11 +7634,11 @@ var useChatContainer = function useChatContainer(props) {
|
|
7295
7634
|
var results = messages.map(function (i) {
|
7296
7635
|
var _i$sender;
|
7297
7636
|
return _extends({}, i, {
|
7298
|
-
isMe: (infoUser === null || infoUser === void 0 ? void 0 : infoUser.id) === ((_i$sender = i.sender) === null || _i$sender === void 0 ? void 0 : _i$sender.id)
|
7637
|
+
isMe: isAdmin && !i.isStudent || (infoUser === null || infoUser === void 0 ? void 0 : infoUser.id) === ((_i$sender = i.sender) === null || _i$sender === void 0 ? void 0 : _i$sender.id)
|
7299
7638
|
});
|
7300
7639
|
});
|
7301
7640
|
return results;
|
7302
|
-
}, [JSON.stringify(messages), infoUser === null || infoUser === void 0 ? void 0 : infoUser.id]);
|
7641
|
+
}, [JSON.stringify(messages), infoUser === null || infoUser === void 0 ? void 0 : infoUser.id, isAdmin]);
|
7303
7642
|
useEffect(function () {
|
7304
7643
|
getMessageConversation();
|
7305
7644
|
}, [JSON.stringify(selectedConversation)]);
|
@@ -11627,23 +11966,11 @@ var getRecentUserActionListApi = function getRecentUserActionListApi(query) {
|
|
11627
11966
|
params: _extends({}, query)
|
11628
11967
|
});
|
11629
11968
|
};
|
11630
|
-
var createRecentUserActionListApi = function createRecentUserActionListApi(
|
11631
|
-
|
11632
|
-
action = _ref.action,
|
11633
|
-
data = _ref.data,
|
11634
|
-
roles = _ref.roles;
|
11635
|
-
return api.post("" + RECENT_USER_URL, {
|
11636
|
-
userId: userId,
|
11637
|
-
action: action,
|
11638
|
-
data: data
|
11639
|
-
}, {
|
11640
|
-
params: {
|
11641
|
-
roles: roles
|
11642
|
-
}
|
11643
|
-
});
|
11969
|
+
var createRecentUserActionListApi = function createRecentUserActionListApi(recentData) {
|
11970
|
+
return api.post("" + RECENT_USER_URL, recentData);
|
11644
11971
|
};
|
11645
11972
|
|
11646
|
-
var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw","loader":"_2uC7T","dot":"_Xz-Mr","bounce":"_3THgz"};
|
11973
|
+
var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","overall-response-1":"_1AeGu","overall-response-2":"_1xTB0","overall-response-3":"_3Yu_5","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw","loader":"_2uC7T","dot":"_Xz-Mr","bounce":"_3THgz"};
|
11647
11974
|
|
11648
11975
|
var useExamResult = function useExamResult(props) {
|
11649
11976
|
var _allSeries$dataChartI;
|
@@ -11663,6 +11990,7 @@ var useExamResult = function useExamResult(props) {
|
|
11663
11990
|
});
|
11664
11991
|
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
11665
11992
|
var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Role.Student);
|
11993
|
+
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(Role.Admin);
|
11666
11994
|
var examCode = query.get("examCode") || code;
|
11667
11995
|
var language = useSelector(function (state) {
|
11668
11996
|
var _state$common2;
|
@@ -11749,12 +12077,12 @@ var useExamResult = function useExamResult(props) {
|
|
11749
12077
|
userId: studentId,
|
11750
12078
|
action: isPrint ? RecentUserAction$1.PrintedExamResult : RecentUserAction$1.ViewedExamResult,
|
11751
12079
|
data: "" + examSessionId,
|
11752
|
-
|
12080
|
+
isAdmin: isAdmin
|
11753
12081
|
})) : Promise.resolve(!isStudent && createRecentUserActionListApi({
|
11754
12082
|
userId: studentId,
|
11755
12083
|
action: isPrint ? RecentUserAction$1.PrintedExamResult : RecentUserAction$1.ViewedExamResult,
|
11756
12084
|
data: "" + examSessionId,
|
11757
|
-
|
12085
|
+
isAdmin: isAdmin
|
11758
12086
|
})).then(_temp3);
|
11759
12087
|
});
|
11760
12088
|
}, function (error) {
|
@@ -13512,6 +13840,9 @@ function MyAnswer(_ref) {
|
|
13512
13840
|
if (diff > 0) prefix = "+";
|
13513
13841
|
return "" + prefix + formatTimeSecond(Math.abs(diff), t);
|
13514
13842
|
};
|
13843
|
+
var getOverallColorClassName = function getOverallColorClassName(correctRate) {
|
13844
|
+
return styles$4["overall-response-" + (correctRate < 40 ? 1 : correctRate <= 70 ? 2 : 3)];
|
13845
|
+
};
|
13515
13846
|
var renderQuestions = function renderQuestions(questions) {
|
13516
13847
|
return questions.map(function (question, index) {
|
13517
13848
|
var _questions;
|
@@ -13594,7 +13925,7 @@ function MyAnswer(_ref) {
|
|
13594
13925
|
style: {
|
13595
13926
|
margin: 0
|
13596
13927
|
},
|
13597
|
-
className: styles$4["answer-response"] + " " +
|
13928
|
+
className: styles$4["answer-response"] + " " + getOverallColorClassName(question.overallCorrectRate)
|
13598
13929
|
}, question.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
|
13599
13930
|
style: {
|
13600
13931
|
margin: 0
|
@@ -15409,29 +15740,6 @@ var times = {
|
|
15409
15740
|
getRemainTime: getRemainTime
|
15410
15741
|
};
|
15411
15742
|
|
15412
|
-
var SIGN_IN_SUPER_ADMIN_URL = SUPER_ADMIN_BASE_URL + "/api/auth/login";
|
15413
|
-
var SIGN_IN_URL = BASE_URL + "/api/auth/login";
|
15414
|
-
var signInApi = function signInApi(_ref) {
|
15415
|
-
var email = _ref.email,
|
15416
|
-
password = _ref.password,
|
15417
|
-
role = _ref.role;
|
15418
|
-
return api.post(SIGN_IN_URL + "/demo", {
|
15419
|
-
email: email,
|
15420
|
-
password: password,
|
15421
|
-
role: role
|
15422
|
-
});
|
15423
|
-
};
|
15424
|
-
var signInSuperAdminApi = function signInSuperAdminApi(_ref2) {
|
15425
|
-
var email = _ref2.email,
|
15426
|
-
password = _ref2.password,
|
15427
|
-
role = _ref2.role;
|
15428
|
-
return api.post(SIGN_IN_SUPER_ADMIN_URL + "/demo", {
|
15429
|
-
email: email,
|
15430
|
-
password: password,
|
15431
|
-
role: role
|
15432
|
-
});
|
15433
|
-
};
|
15434
|
-
|
15435
15743
|
var PAGE_TITLE$2 = "sign_in";
|
15436
15744
|
var useLogin$2 = function useLogin(_ref) {
|
15437
15745
|
var history = _ref.history,
|
@@ -17089,5 +17397,85 @@ var PrintExamView2 = function PrintExamView2(_ref) {
|
|
17089
17397
|
}, t("print_pdf"))));
|
17090
17398
|
};
|
17091
17399
|
|
17092
|
-
|
17400
|
+
var urlSafeFormat = function urlSafeFormat(text) {
|
17401
|
+
return text.replaceAll(' ', "+");
|
17402
|
+
};
|
17403
|
+
|
17404
|
+
var useLoginWithEmail = function useLoginWithEmail(_ref) {
|
17405
|
+
var history = _ref.history,
|
17406
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
17407
|
+
homeUrl = _ref.homeUrl,
|
17408
|
+
registerUrl = _ref.registerUrl,
|
17409
|
+
role = _ref.role;
|
17410
|
+
var _useLocation = useLocation(),
|
17411
|
+
searchLocation = _useLocation.search;
|
17412
|
+
var _useTranslation = useTranslation(),
|
17413
|
+
t = _useTranslation.t;
|
17414
|
+
var searchParams = new URLSearchParams(searchLocation);
|
17415
|
+
var key = urlSafeFormat(searchParams.get("key") || "");
|
17416
|
+
var dispatch = useDispatch();
|
17417
|
+
var paramDomain = searchParams.get("domain");
|
17418
|
+
var academyDomainStorage = getAcademyDomain();
|
17419
|
+
var academyDomain = paramDomain || academyDomainStorage || "";
|
17420
|
+
var handleSignIn = function handleSignIn() {
|
17421
|
+
try {
|
17422
|
+
var _temp2 = function _temp2() {
|
17423
|
+
dispatch(setLoading(false));
|
17424
|
+
};
|
17425
|
+
dispatch(setLoading(true));
|
17426
|
+
var _temp = _catch(function () {
|
17427
|
+
return Promise.resolve(signInWithKeyApi({
|
17428
|
+
academyDomain: academyDomain,
|
17429
|
+
key: key,
|
17430
|
+
role: role
|
17431
|
+
})).then(function (res) {
|
17432
|
+
var loginResponse = res === null || res === void 0 ? void 0 : res.data;
|
17433
|
+
var isFirstLogin = loginResponse.isFirstLogin,
|
17434
|
+
token = loginResponse.token,
|
17435
|
+
user = loginResponse.user;
|
17436
|
+
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
17437
|
+
var needToRegister = isFirstLogin && isAcademy;
|
17438
|
+
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
17439
|
+
redirectLoginUser(user, token, redirectUrl);
|
17440
|
+
});
|
17441
|
+
}, function (error) {
|
17442
|
+
console.log(error);
|
17443
|
+
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
17444
|
+
});
|
17445
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
17446
|
+
} catch (e) {
|
17447
|
+
return Promise.reject(e);
|
17448
|
+
}
|
17449
|
+
};
|
17450
|
+
var redirectLoginUser = function redirectLoginUser(data, token, redirectUrl) {
|
17451
|
+
localStorage.setItem(ACCESS_TOKEN, token);
|
17452
|
+
!data.academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
17453
|
+
!!data.academyDomain && localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
|
17454
|
+
dispatch(setUser(_extends({}, data)));
|
17455
|
+
if (redirectUrl) pushTo(history, redirectUrl);
|
17456
|
+
};
|
17457
|
+
useEffect(function () {
|
17458
|
+
if (!key) return;
|
17459
|
+
handleSignIn();
|
17460
|
+
});
|
17461
|
+
return {};
|
17462
|
+
};
|
17463
|
+
|
17464
|
+
var LoginWithEmail = function LoginWithEmail(_ref) {
|
17465
|
+
var history = _ref.history,
|
17466
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
17467
|
+
homeUrl = _ref.homeUrl,
|
17468
|
+
registerUrl = _ref.registerUrl,
|
17469
|
+
role = _ref.role;
|
17470
|
+
useLoginWithEmail({
|
17471
|
+
history: history,
|
17472
|
+
homeAcademyUrl: homeAcademyUrl,
|
17473
|
+
homeUrl: homeUrl,
|
17474
|
+
registerUrl: registerUrl,
|
17475
|
+
role: role
|
17476
|
+
});
|
17477
|
+
return React__default.createElement(Loading, null);
|
17478
|
+
};
|
17479
|
+
|
17480
|
+
export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, Language, LayoutContext, Loading, LoadingComponent, Login, LoginWithEmail, SignIn as LoginWithPassword, NotFound, PUSHER_CONFIG, PassCodeCheck, PrintExamResultView, PrintExamView2, QuestionCountSelector, RecentUserAction, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, api, apiUpload, canAccess as canAccessRoute, checkSuperUrl, createRecentUserActionListApi, diffFromNow, formatTime, getAcademyDomain, getAccessToken, getErrorMessage, getOrdinalSuffix, getRecentUserActionListApi, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useLoadMore, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
|
17093
17481
|
//# sourceMappingURL=index.modern.js.map
|