touchstudy-core 0.1.81 → 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/components/Print/configs/constants.d.ts +4 -0
- package/dist/containers/ExamResult/hooks/usePrintView.d.ts +2 -0
- package/dist/containers/ExamResult/views/PrintExamResult.d.ts +2 -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 +586 -105
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +585 -105
- 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.js
CHANGED
@@ -5,14 +5,17 @@ var moment = _interopDefault(require('moment'));
|
|
5
5
|
var React = require('react');
|
6
6
|
var React__default = _interopDefault(React);
|
7
7
|
var formik = require('formik');
|
8
|
-
var
|
8
|
+
var Yup = require('yup');
|
9
9
|
var GoogleLogin = require('@leecheuk/react-google-login');
|
10
10
|
var GoogleLogin__default = _interopDefault(GoogleLogin);
|
11
11
|
var reactRedux = require('react-redux');
|
12
12
|
var axios = _interopDefault(require('axios'));
|
13
13
|
var reactI18next = require('react-i18next');
|
14
14
|
var material = require('@mui/material');
|
15
|
+
var colors = require('@mui/material/colors');
|
16
|
+
var reactGoogleRecaptchaV3 = require('react-google-recaptcha-v3');
|
15
17
|
var gapiScript = require('gapi-script');
|
18
|
+
var reactToastify = require('react-toastify');
|
16
19
|
require('moment/locale/ko.js');
|
17
20
|
require('moment/locale/en-au.js');
|
18
21
|
var Pusher = _interopDefault(require('pusher-js'));
|
@@ -24,7 +27,6 @@ var Popover = _interopDefault(require('@mui/material/Popover'));
|
|
24
27
|
var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
|
25
28
|
var IconButton = _interopDefault(require('@mui/material/IconButton'));
|
26
29
|
var go = require('react-icons/go');
|
27
|
-
var reactToastify = require('react-toastify');
|
28
30
|
var Select = require('react-select');
|
29
31
|
var Select__default = _interopDefault(Select);
|
30
32
|
var fa = require('react-icons/fa');
|
@@ -472,14 +474,16 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
472
474
|
return Promise.resolve(apiLogin()).then(function (loginResponse) {
|
473
475
|
var isFirstLogin = loginResponse.isFirstLogin,
|
474
476
|
token = loginResponse.token,
|
475
|
-
user = loginResponse.user
|
477
|
+
user = loginResponse.user,
|
478
|
+
isSuperAdmin = loginResponse.isSuperAdmin;
|
476
479
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
477
480
|
var needToRegister = isStudent && isFirstLogin && isAcademy;
|
478
481
|
var redirectUrl = getRedirectUrl();
|
479
482
|
if (isStudent && !registerUrl) throw new Error("an_unexpected_error_has_occurred");
|
480
483
|
if (!redirectUrl) redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
481
484
|
redirectLoginUser(_extends({}, user, {
|
482
|
-
isNotEnoughStatements: isFirstLogin
|
485
|
+
isNotEnoughStatements: isFirstLogin,
|
486
|
+
isSuperAdmin: isSuperAdmin
|
483
487
|
}), token, redirectUrl);
|
484
488
|
});
|
485
489
|
}, function (error) {
|
@@ -712,20 +716,33 @@ var SloganFullLogoEn = function SloganFullLogoEn(_ref) {
|
|
712
716
|
}))));
|
713
717
|
};
|
714
718
|
|
715
|
-
var schema =
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
})
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
719
|
+
var schema = function schema(t, isOTP) {
|
720
|
+
return Yup.object({
|
721
|
+
email: Yup.string().when([], function (_ref, schema) {
|
722
|
+
return !isOTP ? schema.email(t("invalid_email_address")).required(t("email_is_required")) : schema;
|
723
|
+
}),
|
724
|
+
otp: Yup.number().typeError(t("must_be_number")).when([], function (_ref2, schema) {
|
725
|
+
return isOTP ? schema.required(t("otp_is_required")).positive().integer() : schema;
|
726
|
+
})
|
727
|
+
});
|
728
|
+
};
|
729
|
+
var BlockLogin = function BlockLogin(_ref3) {
|
730
|
+
var isOTP = _ref3.isOTP,
|
731
|
+
isEmail = _ref3.isEmail,
|
732
|
+
defaultInfo = _ref3.defaultInfo,
|
733
|
+
onVerify = _ref3.onVerify,
|
734
|
+
tokenReCaptcha = _ref3.tokenReCaptcha,
|
735
|
+
refreshReCaptcha = _ref3.refreshReCaptcha,
|
736
|
+
handleSwitchOTP = _ref3.handleSwitchOTP,
|
737
|
+
handleSwitchEmail = _ref3.handleSwitchEmail,
|
738
|
+
history = _ref3.history,
|
739
|
+
_ref3$role = _ref3.role,
|
740
|
+
role = _ref3$role === void 0 ? exports.Role.Student : _ref3$role,
|
741
|
+
homeAcademyUrl = _ref3.homeAcademyUrl,
|
742
|
+
homeUrl = _ref3.homeUrl,
|
743
|
+
registerUrl = _ref3.registerUrl,
|
744
|
+
clientId = _ref3.clientId,
|
745
|
+
onSubmit = _ref3.onSubmit;
|
729
746
|
var language = reactRedux.useSelector(function (state) {
|
730
747
|
var _state$common;
|
731
748
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
|
@@ -770,19 +787,32 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
770
787
|
sx: {
|
771
788
|
gap: 4,
|
772
789
|
p: 6,
|
773
|
-
display:
|
774
|
-
flexDirection:
|
775
|
-
alignItems:
|
790
|
+
display: "flex",
|
791
|
+
flexDirection: "column",
|
792
|
+
alignItems: "center"
|
776
793
|
}
|
777
794
|
}, React__default.createElement(formik.Formik, {
|
778
795
|
initialValues: defaultInfo,
|
779
|
-
validationSchema:
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
796
|
+
validationSchema: function validationSchema() {
|
797
|
+
return schema(t, isOTP);
|
798
|
+
},
|
799
|
+
onSubmit: onSubmit
|
800
|
+
}, function (_ref4) {
|
801
|
+
var errors = _ref4.errors,
|
802
|
+
values = _ref4.values,
|
803
|
+
setFieldValue = _ref4.setFieldValue;
|
804
|
+
console.log({
|
805
|
+
errors: errors,
|
806
|
+
values: values
|
807
|
+
});
|
808
|
+
React.useEffect(function () {
|
809
|
+
if (isOTP) {
|
810
|
+
setFieldValue("email", "");
|
811
|
+
} else {
|
812
|
+
setFieldValue("otp", "");
|
813
|
+
}
|
814
|
+
}, [isOTP, isEmail]);
|
815
|
+
return React__default.createElement(formik.Form, null, React__default.createElement("div", {
|
786
816
|
className: "" + styles["block-form"]
|
787
817
|
}, React__default.createElement(material.Stack, {
|
788
818
|
py: 2,
|
@@ -792,7 +822,7 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
792
822
|
width: "300px"
|
793
823
|
}) : React__default.createElement(SloganFullLogoEn, {
|
794
824
|
width: "300px"
|
795
|
-
})), React__default.createElement("div", {
|
825
|
+
})), !isOTP && !isEmail && React__default.createElement("div", {
|
796
826
|
className: "p-0 mt-1 mb-4"
|
797
827
|
}, React__default.createElement(GoogleLogin__default, {
|
798
828
|
clientId: clientId,
|
@@ -802,18 +832,152 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
802
832
|
cookiePolicy: "single_host_origin",
|
803
833
|
className: "" + styles["btn-login-google"],
|
804
834
|
isSignedIn: true
|
805
|
-
})
|
835
|
+
}), React__default.createElement(material.Box, {
|
836
|
+
onClick: function onClick() {
|
837
|
+
return handleSwitchEmail(true);
|
838
|
+
},
|
839
|
+
sx: {
|
840
|
+
cursor: "pointer",
|
841
|
+
my: 4
|
842
|
+
}
|
843
|
+
}, React__default.createElement(material.Typography, {
|
844
|
+
fontSize: "14px",
|
845
|
+
fontWeight: 700,
|
846
|
+
color: colors.blue[700]
|
847
|
+
}, t("sign_in_with_email"))))), (isEmail || isOTP) && React__default.createElement(material.Stack, null, !isOTP ? React__default.createElement(material.Stack, {
|
848
|
+
flexDirection: "column",
|
849
|
+
gap: 1
|
850
|
+
}, React__default.createElement(material.Typography, {
|
851
|
+
fontWeight: 700,
|
852
|
+
fontSize: "14px"
|
853
|
+
}, t("email")), React__default.createElement(formik.Field, {
|
854
|
+
name: "email",
|
855
|
+
render: function render(_ref5) {
|
856
|
+
var field = _ref5.field;
|
857
|
+
return React__default.createElement(material.TextField, Object.assign({}, field));
|
858
|
+
}
|
859
|
+
}), !!(errors !== null && errors !== void 0 && errors.email) && React__default.createElement(material.Typography, {
|
860
|
+
fontWeight: 500,
|
861
|
+
fontSize: "10px",
|
862
|
+
lineHeight: "11.93px",
|
863
|
+
color: !(errors !== null && errors !== void 0 && errors.email) ? "#97A1AF" : "#F34B4B"
|
864
|
+
}, errors === null || errors === void 0 ? void 0 : errors.email)) : React__default.createElement(material.Stack, {
|
865
|
+
flexDirection: "column",
|
866
|
+
gap: 1
|
867
|
+
}, React__default.createElement(material.Typography, {
|
868
|
+
fontWeight: 700,
|
869
|
+
fontSize: "14px"
|
870
|
+
}, t("OTP")), React__default.createElement(formik.Field, {
|
871
|
+
name: "otp",
|
872
|
+
render: function render(_ref6) {
|
873
|
+
var field = _ref6.field;
|
874
|
+
return React__default.createElement(material.TextField, Object.assign({}, field));
|
875
|
+
}
|
876
|
+
}), !!(errors !== null && errors !== void 0 && errors.otp) && React__default.createElement(material.Typography, {
|
877
|
+
fontWeight: 500,
|
878
|
+
fontSize: "10px",
|
879
|
+
lineHeight: "11.93px",
|
880
|
+
color: !(errors !== null && errors !== void 0 && errors.otp) ? "#97A1AF" : "#F34B4B"
|
881
|
+
}, errors === null || errors === void 0 ? void 0 : errors.otp)), React__default.createElement(material.Stack, {
|
882
|
+
flexDirection: "row",
|
883
|
+
alignItems: "center",
|
884
|
+
gap: 2,
|
885
|
+
my: 2
|
886
|
+
}, React__default.createElement(reactGoogleRecaptchaV3.GoogleReCaptcha, {
|
887
|
+
onVerify: onVerify,
|
888
|
+
refreshReCaptcha: refreshReCaptcha
|
889
|
+
})), React__default.createElement(material.Box, {
|
890
|
+
onClick: function onClick() {
|
891
|
+
handleSwitchEmail(false);
|
892
|
+
handleSwitchOTP(false);
|
893
|
+
},
|
894
|
+
sx: {
|
895
|
+
cursor: "pointer",
|
896
|
+
my: 2
|
897
|
+
}
|
898
|
+
}, React__default.createElement(material.Typography, {
|
899
|
+
fontSize: "14px",
|
900
|
+
fontWeight: 700,
|
901
|
+
color: colors.blue[700]
|
902
|
+
}, t("sign_in_with_google_account"))), React__default.createElement(material.Stack, {
|
903
|
+
flexDirection: "row",
|
904
|
+
justifyContent: "end",
|
905
|
+
gap: 1,
|
906
|
+
mt: 2
|
907
|
+
}, React__default.createElement(material.Button, {
|
908
|
+
variant: "contained",
|
909
|
+
color: "primary",
|
910
|
+
type: "submit",
|
911
|
+
disabled: !tokenReCaptcha
|
912
|
+
}, t("submit")))));
|
806
913
|
})));
|
807
914
|
};
|
808
915
|
|
916
|
+
var SIGN_IN_SUPER_ADMIN_URL = SUPER_ADMIN_BASE_URL + "/api/auth/login";
|
917
|
+
var SIGN_IN_URL = BASE_URL + "/api/auth/login";
|
918
|
+
var signInApi = function signInApi(_ref) {
|
919
|
+
var email = _ref.email,
|
920
|
+
password = _ref.password,
|
921
|
+
role = _ref.role;
|
922
|
+
return api.post(SIGN_IN_URL + "/demo", {
|
923
|
+
email: email,
|
924
|
+
password: password,
|
925
|
+
role: role
|
926
|
+
});
|
927
|
+
};
|
928
|
+
var signInWithEmailApi = function signInWithEmailApi(_ref2) {
|
929
|
+
var academyDomain = _ref2.academyDomain,
|
930
|
+
email = _ref2.email,
|
931
|
+
reCaptcha = _ref2.reCaptcha;
|
932
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/email", {
|
933
|
+
email: email,
|
934
|
+
reCaptcha: reCaptcha
|
935
|
+
}, {
|
936
|
+
headers: {
|
937
|
+
Domain: window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '')
|
938
|
+
}
|
939
|
+
});
|
940
|
+
};
|
941
|
+
var signInWithOTPApi = function signInWithOTPApi(_ref3) {
|
942
|
+
var academyDomain = _ref3.academyDomain,
|
943
|
+
otp = _ref3.otp,
|
944
|
+
role = _ref3.role;
|
945
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/otp", {
|
946
|
+
otp: otp,
|
947
|
+
role: role
|
948
|
+
});
|
949
|
+
};
|
950
|
+
var signInWithKeyApi = function signInWithKeyApi(_ref4) {
|
951
|
+
var academyDomain = _ref4.academyDomain,
|
952
|
+
key = _ref4.key,
|
953
|
+
role = _ref4.role;
|
954
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/email/key", {
|
955
|
+
key: key,
|
956
|
+
role: role
|
957
|
+
});
|
958
|
+
};
|
959
|
+
var signInSuperAdminApi = function signInSuperAdminApi(_ref5) {
|
960
|
+
var email = _ref5.email,
|
961
|
+
password = _ref5.password,
|
962
|
+
role = _ref5.role;
|
963
|
+
return api.post(SIGN_IN_SUPER_ADMIN_URL + "/demo", {
|
964
|
+
email: email,
|
965
|
+
password: password,
|
966
|
+
role: role
|
967
|
+
});
|
968
|
+
};
|
969
|
+
|
809
970
|
var defaultInfo = {
|
810
971
|
email: "",
|
811
|
-
|
812
|
-
captcha: "",
|
813
|
-
rememberMe: false
|
972
|
+
otp: ""
|
814
973
|
};
|
815
974
|
var PAGE_TITLE = "sign_in";
|
816
|
-
var useLogin$1 = function useLogin(
|
975
|
+
var useLogin$1 = function useLogin(_ref) {
|
976
|
+
var history = _ref.history,
|
977
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
978
|
+
homeUrl = _ref.homeUrl,
|
979
|
+
registerUrl = _ref.registerUrl,
|
980
|
+
role = _ref.role;
|
817
981
|
var _useState = React.useState(false),
|
818
982
|
openLogin = _useState[0],
|
819
983
|
setOpenLogin = _useState[1];
|
@@ -823,6 +987,7 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
823
987
|
var _useState3 = React.useState(),
|
824
988
|
clientId = _useState3[0],
|
825
989
|
setClientId = _useState3[1];
|
990
|
+
var dispatch = reactRedux.useDispatch();
|
826
991
|
var _useTranslation = reactI18next.useTranslation(),
|
827
992
|
t = _useTranslation.t;
|
828
993
|
var toggle = React.useCallback(function () {
|
@@ -831,6 +996,96 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
831
996
|
var _useState4 = React.useState(false),
|
832
997
|
isShowPassword = _useState4[0],
|
833
998
|
setIsShowPassword = _useState4[1];
|
999
|
+
var _useState5 = React.useState(false),
|
1000
|
+
isOTP = _useState5[0],
|
1001
|
+
setIsOTP = _useState5[1];
|
1002
|
+
var _useState6 = React.useState(false),
|
1003
|
+
isEmail = _useState6[0],
|
1004
|
+
setIsEmail = _useState6[1];
|
1005
|
+
var searchParams = new URLSearchParams(window.location.search);
|
1006
|
+
var paramDomain = searchParams.get("domain");
|
1007
|
+
var academyDomainStorage = getAcademyDomain();
|
1008
|
+
var academyDomain = paramDomain || academyDomainStorage || "";
|
1009
|
+
var _useState7 = React.useState(""),
|
1010
|
+
tokenReCaptcha = _useState7[0],
|
1011
|
+
setTokenReCaptcha = _useState7[1];
|
1012
|
+
var _useState8 = React.useState(false),
|
1013
|
+
refreshReCaptcha = _useState8[0],
|
1014
|
+
setRefreshReCaptcha = _useState8[1];
|
1015
|
+
var handleSwitchOTP = function handleSwitchOTP(bool) {
|
1016
|
+
setIsOTP(bool);
|
1017
|
+
};
|
1018
|
+
var handleSwitchEmail = function handleSwitchEmail(bool) {
|
1019
|
+
setIsEmail(bool);
|
1020
|
+
};
|
1021
|
+
var onVerify = React.useCallback(function (token) {
|
1022
|
+
setTokenReCaptcha(token);
|
1023
|
+
}, []);
|
1024
|
+
var redirectLoginUser = function redirectLoginUser(data, token, redirectUrl) {
|
1025
|
+
localStorage.setItem(ACCESS_TOKEN, token);
|
1026
|
+
!data.academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
1027
|
+
!!data.academyDomain && localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
|
1028
|
+
dispatch(setUser(_extends({}, data)));
|
1029
|
+
if (redirectUrl) pushTo(history, redirectUrl);
|
1030
|
+
};
|
1031
|
+
var handleSubmit = function handleSubmit(values) {
|
1032
|
+
try {
|
1033
|
+
var _temp5 = function _temp5() {
|
1034
|
+
dispatch(setLoading(false));
|
1035
|
+
};
|
1036
|
+
if (!tokenReCaptcha) return Promise.resolve();
|
1037
|
+
dispatch(setLoading(true));
|
1038
|
+
var email = values.email,
|
1039
|
+
otp = values.otp;
|
1040
|
+
var _temp4 = _catch(function () {
|
1041
|
+
function _temp3() {
|
1042
|
+
var _temp = function () {
|
1043
|
+
if (otp) {
|
1044
|
+
return Promise.resolve(signInWithOTPApi({
|
1045
|
+
academyDomain: academyDomain,
|
1046
|
+
otp: otp,
|
1047
|
+
role: role
|
1048
|
+
})).then(function (res) {
|
1049
|
+
var loginResponse = res === null || res === void 0 ? void 0 : res.data;
|
1050
|
+
var isFirstLogin = loginResponse.isFirstLogin,
|
1051
|
+
token = loginResponse.token,
|
1052
|
+
user = loginResponse.user;
|
1053
|
+
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
1054
|
+
var needToRegister = isFirstLogin && isAcademy;
|
1055
|
+
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
1056
|
+
handleSwitchOTP(false);
|
1057
|
+
redirectLoginUser(user, token, redirectUrl);
|
1058
|
+
});
|
1059
|
+
}
|
1060
|
+
}();
|
1061
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
1062
|
+
}
|
1063
|
+
var _temp2 = function () {
|
1064
|
+
if (email) {
|
1065
|
+
return Promise.resolve(signInWithEmailApi({
|
1066
|
+
academyDomain: academyDomain,
|
1067
|
+
email: email,
|
1068
|
+
reCaptcha: tokenReCaptcha
|
1069
|
+
})).then(function () {
|
1070
|
+
reactToastify.toast.success(t("please_check_your_mailbox"));
|
1071
|
+
handleSwitchOTP(true);
|
1072
|
+
handleSwitchEmail(false);
|
1073
|
+
setRefreshReCaptcha(function (b) {
|
1074
|
+
return !b;
|
1075
|
+
});
|
1076
|
+
});
|
1077
|
+
}
|
1078
|
+
}();
|
1079
|
+
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
|
1080
|
+
}, function (error) {
|
1081
|
+
console.log(error);
|
1082
|
+
reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
1083
|
+
});
|
1084
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
1085
|
+
} catch (e) {
|
1086
|
+
return Promise.reject(e);
|
1087
|
+
}
|
1088
|
+
};
|
834
1089
|
React.useEffect(function () {
|
835
1090
|
setClientId(GOOGLE_CLIENT_ID);
|
836
1091
|
}, []);
|
@@ -853,6 +1108,13 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
853
1108
|
document.title = t("study_peak") + " | " + t(PAGE_TITLE);
|
854
1109
|
}, [t]);
|
855
1110
|
return {
|
1111
|
+
isOTP: isOTP,
|
1112
|
+
isEmail: isEmail,
|
1113
|
+
onVerify: onVerify,
|
1114
|
+
tokenReCaptcha: tokenReCaptcha,
|
1115
|
+
refreshReCaptcha: refreshReCaptcha,
|
1116
|
+
handleSwitchOTP: handleSwitchOTP,
|
1117
|
+
handleSwitchEmail: handleSwitchEmail,
|
856
1118
|
clientId: clientId,
|
857
1119
|
defaultInfo: defaultInfo,
|
858
1120
|
openLogin: openLogin,
|
@@ -860,6 +1122,7 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
860
1122
|
isShowPassword: isShowPassword,
|
861
1123
|
setIsShowPassword: setIsShowPassword,
|
862
1124
|
infoUser: infoUser,
|
1125
|
+
handleSubmit: handleSubmit,
|
863
1126
|
setInfoUser: setInfoUser
|
864
1127
|
};
|
865
1128
|
};
|
@@ -962,9 +1225,23 @@ var _excluded = ["history"];
|
|
962
1225
|
var Login = function Login(_ref) {
|
963
1226
|
var history = _ref.history,
|
964
1227
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
965
|
-
var _useLogin = useLogin$1(
|
1228
|
+
var _useLogin = useLogin$1({
|
1229
|
+
homeAcademyUrl: rest.homeAcademyUrl,
|
1230
|
+
homeUrl: rest.homeUrl,
|
1231
|
+
role: rest.role,
|
1232
|
+
registerUrl: rest.registerUrl,
|
1233
|
+
history: history
|
1234
|
+
}),
|
1235
|
+
isOTP = _useLogin.isOTP,
|
1236
|
+
isEmail = _useLogin.isEmail,
|
1237
|
+
onVerify = _useLogin.onVerify,
|
966
1238
|
defaultInfo = _useLogin.defaultInfo,
|
967
|
-
clientId = _useLogin.clientId
|
1239
|
+
clientId = _useLogin.clientId,
|
1240
|
+
tokenReCaptcha = _useLogin.tokenReCaptcha,
|
1241
|
+
handleSubmit = _useLogin.handleSubmit,
|
1242
|
+
handleSwitchOTP = _useLogin.handleSwitchOTP,
|
1243
|
+
refreshReCaptcha = _useLogin.refreshReCaptcha,
|
1244
|
+
handleSwitchEmail = _useLogin.handleSwitchEmail;
|
968
1245
|
useLanguage(history);
|
969
1246
|
return React__default.createElement("div", {
|
970
1247
|
className: styles["login"] + " font-family-lato"
|
@@ -976,11 +1253,21 @@ var Login = function Login(_ref) {
|
|
976
1253
|
item: true,
|
977
1254
|
xs: 12,
|
978
1255
|
className: "d-flex justify-content-center h-100 align-items-center"
|
979
|
-
}, clientId && React__default.createElement(
|
1256
|
+
}, clientId && React__default.createElement(reactGoogleRecaptchaV3.GoogleReCaptchaProvider, {
|
1257
|
+
reCaptchaKey: GOOGLE_RECAPTCHA_KEY
|
1258
|
+
}, React__default.createElement(BlockLogin, Object.assign({
|
1259
|
+
isOTP: isOTP,
|
1260
|
+
onVerify: onVerify,
|
1261
|
+
isEmail: isEmail,
|
1262
|
+
tokenReCaptcha: tokenReCaptcha,
|
1263
|
+
refreshReCaptcha: refreshReCaptcha,
|
1264
|
+
handleSwitchOTP: handleSwitchOTP,
|
1265
|
+
handleSwitchEmail: handleSwitchEmail,
|
980
1266
|
defaultInfo: defaultInfo,
|
981
1267
|
history: history,
|
982
|
-
clientId: clientId
|
983
|
-
|
1268
|
+
clientId: clientId,
|
1269
|
+
onSubmit: handleSubmit
|
1270
|
+
}, rest))))));
|
984
1271
|
};
|
985
1272
|
|
986
1273
|
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 = React.useCallback(function () {
|
1381
1668
|
if (!(user !== null && user !== void 0 && user.email)) return;
|
1382
|
-
|
1669
|
+
var isAdmin = roles.includes(exports.Role.Admin);
|
1670
|
+
if (isAdmin && role === exports.Role.Teacher) return;
|
1671
|
+
if (!roles.includes(role) && !!academyDomain && (role !== exports.Role.Teacher || !roles.includes(exports.Role.Admin))) {
|
1383
1672
|
alert(t("user_not_allow_to_register_role", {
|
1384
1673
|
user: user.email,
|
1385
1674
|
role: role
|
@@ -1838,6 +2127,7 @@ var there_are_no_recent_exams = "최근 시험이 없습니다";
|
|
1838
2127
|
var you_have_started_an_exam_with_code_code_do_you_want_to_continue = "{{code}} 코드로 시험을 시작했습니다. 계속하시겠습니까?";
|
1839
2128
|
var here = "여기";
|
1840
2129
|
var do_you_want_to_complete_the_exam = "시험을 완료처리 하시겠습니까?";
|
2130
|
+
var do_you_want_to_cancel_the_exam = "시험을 취소하시겠습니까? (학생의 결과는 모두 삭제됩니다)";
|
1841
2131
|
var are_you_sure_you_want_to_delete_the_exam = "시험을 삭제하시겠습니까?";
|
1842
2132
|
var are_you_sure_you_want_to_delete_the_textbook = "교과서를 삭제하시겠습니까?";
|
1843
2133
|
var are_you_sure_you_want_to_delete_the_user = "사용자 {{user}}을(를) 삭제하시겠습니까?";
|
@@ -2081,6 +2371,7 @@ var parent_name = "부모님 성함";
|
|
2081
2371
|
var users = "사용자";
|
2082
2372
|
var new_user = "새로운 사용자";
|
2083
2373
|
var academy_admin = "아카데미 관리자";
|
2374
|
+
var super_admin = "최고 관리자";
|
2084
2375
|
var switch_academy_admin = "스위치 아카데미 관리자";
|
2085
2376
|
var switch_academy = "스위치 아카데미";
|
2086
2377
|
var there_are_no_lessons_this_week = "이번주는 수업이 없습니다";
|
@@ -2371,6 +2662,7 @@ var textbook_subject_is_required = "교과서 과목은 필수입니다";
|
|
2371
2662
|
var update_the_textbook_successfully = "교과서를 성공적으로 업데이트했습니다.";
|
2372
2663
|
var create_the_textbook_successfully = "교과서를 성공적으로 만들었습니다.";
|
2373
2664
|
var finish_exam_successful = "시험을 성공적으로 마쳤습니다";
|
2665
|
+
var cancel_exam_successful = "시험을 성공적으로 취소했습니다";
|
2374
2666
|
var you_has_been_kicked_out = "당신은 쫓겨났습니다";
|
2375
2667
|
var the_teacher_has_closed_or_deleted_the_exam = "선생님이 시험을 종료했거나 삭제했습니다. 나중에 다시 시도해 주세요.";
|
2376
2668
|
var check_in_lesson_successfully = "수업 체크인 성공";
|
@@ -2465,6 +2757,7 @@ var added_date = "추가된 날짜";
|
|
2465
2757
|
var sync_exam_results = "시험 결과 동기화";
|
2466
2758
|
var update_data_fail = "데이터 업데이트 실패";
|
2467
2759
|
var add_students_to_class = "수업에 학생 추가";
|
2760
|
+
var add_teachers_to_class = "수업에 교사 추가";
|
2468
2761
|
var click_to_choose_file = "파일을 선택하려면 클릭하세요.";
|
2469
2762
|
var exam_data = "시험 데이터";
|
2470
2763
|
var questions_correct_rate = "질문 정답률";
|
@@ -2580,6 +2873,16 @@ var your_browser_must = "귀하의 브라우저는 다음을 충족해야 합니
|
|
2580
2873
|
var allowed_to_send_pop_ups_and_use_redirects = "팝업 보내기 및 리디렉션 사용이 허용됨";
|
2581
2874
|
var disable_ask_where_to_save_each_file_before_downloading = "다운로드하기 전에 각 파일을 저장할 위치 묻기 비활성화";
|
2582
2875
|
var total_number_of_selected_results = "선택된 결과의 총 개수";
|
2876
|
+
var choose_to_print = "인쇄를 선택하세요";
|
2877
|
+
var exam_has_been_cancelled = "시험이 취소되었습니다";
|
2878
|
+
var or = "또는";
|
2879
|
+
var sign_in_with_email = "이메일로 로그인";
|
2880
|
+
var please_check_your_mailbox = "우편함을 확인해 주세요";
|
2881
|
+
var otp_is_required = "OTP가 필요합니다";
|
2882
|
+
var min_is_1 = "최소값은 1입니다.";
|
2883
|
+
var max_is_6 = "최대는 6입니다";
|
2884
|
+
var must_be_number = "숫자여야 합니다.";
|
2885
|
+
var sign_in_with_google_account = "구글 계정으로 로그인";
|
2583
2886
|
var lang_ko = {
|
2584
2887
|
problem_solving: problem_solving,
|
2585
2888
|
my_story: my_story,
|
@@ -2620,6 +2923,7 @@ var lang_ko = {
|
|
2620
2923
|
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,
|
2621
2924
|
here: here,
|
2622
2925
|
do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam,
|
2926
|
+
do_you_want_to_cancel_the_exam: do_you_want_to_cancel_the_exam,
|
2623
2927
|
are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam,
|
2624
2928
|
are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook,
|
2625
2929
|
are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user,
|
@@ -2860,6 +3164,7 @@ var lang_ko = {
|
|
2860
3164
|
users: users,
|
2861
3165
|
new_user: new_user,
|
2862
3166
|
academy_admin: academy_admin,
|
3167
|
+
super_admin: super_admin,
|
2863
3168
|
switch_academy_admin: switch_academy_admin,
|
2864
3169
|
switch_academy: switch_academy,
|
2865
3170
|
there_are_no_lessons_this_week: there_are_no_lessons_this_week,
|
@@ -3145,6 +3450,7 @@ var lang_ko = {
|
|
3145
3450
|
update_the_textbook_successfully: update_the_textbook_successfully,
|
3146
3451
|
create_the_textbook_successfully: create_the_textbook_successfully,
|
3147
3452
|
finish_exam_successful: finish_exam_successful,
|
3453
|
+
cancel_exam_successful: cancel_exam_successful,
|
3148
3454
|
you_has_been_kicked_out: you_has_been_kicked_out,
|
3149
3455
|
the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam,
|
3150
3456
|
check_in_lesson_successfully: check_in_lesson_successfully,
|
@@ -3240,6 +3546,7 @@ var lang_ko = {
|
|
3240
3546
|
sync_exam_results: sync_exam_results,
|
3241
3547
|
update_data_fail: update_data_fail,
|
3242
3548
|
add_students_to_class: add_students_to_class,
|
3549
|
+
add_teachers_to_class: add_teachers_to_class,
|
3243
3550
|
click_to_choose_file: click_to_choose_file,
|
3244
3551
|
exam_data: exam_data,
|
3245
3552
|
questions_correct_rate: questions_correct_rate,
|
@@ -3352,7 +3659,17 @@ var lang_ko = {
|
|
3352
3659
|
your_browser_must: your_browser_must,
|
3353
3660
|
allowed_to_send_pop_ups_and_use_redirects: allowed_to_send_pop_ups_and_use_redirects,
|
3354
3661
|
disable_ask_where_to_save_each_file_before_downloading: disable_ask_where_to_save_each_file_before_downloading,
|
3355
|
-
total_number_of_selected_results: total_number_of_selected_results
|
3662
|
+
total_number_of_selected_results: total_number_of_selected_results,
|
3663
|
+
choose_to_print: choose_to_print,
|
3664
|
+
exam_has_been_cancelled: exam_has_been_cancelled,
|
3665
|
+
or: or,
|
3666
|
+
sign_in_with_email: sign_in_with_email,
|
3667
|
+
please_check_your_mailbox: please_check_your_mailbox,
|
3668
|
+
otp_is_required: otp_is_required,
|
3669
|
+
min_is_1: min_is_1,
|
3670
|
+
max_is_6: max_is_6,
|
3671
|
+
must_be_number: must_be_number,
|
3672
|
+
sign_in_with_google_account: sign_in_with_google_account
|
3356
3673
|
};
|
3357
3674
|
|
3358
3675
|
var problem_solving$1 = "Problem Solving";
|
@@ -3392,6 +3709,7 @@ var there_are_no_recent_exams$1 = "There are no recent exams";
|
|
3392
3709
|
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?";
|
3393
3710
|
var here$1 = "here";
|
3394
3711
|
var do_you_want_to_complete_the_exam$1 = "Do you want to complete the exam?";
|
3712
|
+
var do_you_want_to_cancel_the_exam$1 = "Do you want to cancel the exam? (All student results will be deleted)";
|
3395
3713
|
var are_you_sure_you_want_to_delete_the_exam$1 = "Are you sure you want to delete the exam?";
|
3396
3714
|
var are_you_sure_you_want_to_delete_the_textbook$1 = "Are you sure you want to delete the textbook?";
|
3397
3715
|
var are_you_sure_you_want_to_delete_the_user$1 = "Are you sure you want to delete the user: {{user}}?";
|
@@ -3660,6 +3978,7 @@ var parent_name$1 = "Parent name";
|
|
3660
3978
|
var users$1 = "Users";
|
3661
3979
|
var new_user$1 = "New user";
|
3662
3980
|
var academy_admin$1 = "Academy Admin";
|
3981
|
+
var super_admin$1 = "Super Admin";
|
3663
3982
|
var switch_academy_admin$1 = "Switch Academy Admin";
|
3664
3983
|
var switch_academy$1 = "Switch Academy";
|
3665
3984
|
var there_are_no_lessons_this_week$1 = "There are no lessons this week";
|
@@ -3939,7 +4258,8 @@ var textbook_name_is_required$1 = "Textbook name is required";
|
|
3939
4258
|
var textbook_subject_is_required$1 = "Textbook subject is required";
|
3940
4259
|
var update_the_textbook_successfully$1 = "Update the textbook successfully";
|
3941
4260
|
var create_the_textbook_successfully$1 = "Create the textbook successfully";
|
3942
|
-
var finish_exam_successful$1 = "Finish exam
|
4261
|
+
var finish_exam_successful$1 = "Finish exam successfully";
|
4262
|
+
var cancel_exam_successful$1 = "Cancel exam successfully";
|
3943
4263
|
var you_has_been_kicked_out$1 = "You has been kicked out";
|
3944
4264
|
var the_teacher_has_closed_or_deleted_the_exam$1 = "The teacher has closed or deleted the exam, please try again later";
|
3945
4265
|
var check_in_lesson_successfully$1 = "Check in lesson successfully";
|
@@ -4020,6 +4340,7 @@ var added_date$1 = "Added date";
|
|
4020
4340
|
var sync_exam_results$1 = "Sync exam results";
|
4021
4341
|
var update_data_fail$1 = "Update data fail";
|
4022
4342
|
var add_students_to_class$1 = "Add students to class";
|
4343
|
+
var add_teachers_to_class$1 = "Add teachers to class";
|
4023
4344
|
var click_to_choose_file$1 = "Click to choose file";
|
4024
4345
|
var exam_data$1 = "Exam Data";
|
4025
4346
|
var questions_correct_rate$1 = "Questions Correct Rate";
|
@@ -4135,6 +4456,16 @@ var your_browser_must$1 = "Your browser must";
|
|
4135
4456
|
var allowed_to_send_pop_ups_and_use_redirects$1 = "Allowed to send pop-ups and use redirects";
|
4136
4457
|
var disable_ask_where_to_save_each_file_before_downloading$1 = "Disable ask where to save each file before downloading";
|
4137
4458
|
var total_number_of_selected_results$1 = "Total number of selected results";
|
4459
|
+
var choose_to_print$1 = "Choose to print";
|
4460
|
+
var exam_has_been_cancelled$1 = "The exam has been cancelled";
|
4461
|
+
var or$1 = "Or";
|
4462
|
+
var sign_in_with_email$1 = "Sign in with email";
|
4463
|
+
var please_check_your_mailbox$1 = "Please check your mailbox";
|
4464
|
+
var otp_is_required$1 = "OTP is required";
|
4465
|
+
var min_is_1$1 = "Min is 1";
|
4466
|
+
var max_is_6$1 = "Max is 6";
|
4467
|
+
var must_be_number$1 = "Must be number";
|
4468
|
+
var sign_in_with_google_account$1 = "Sign in with google account";
|
4138
4469
|
var lang_en = {
|
4139
4470
|
problem_solving: problem_solving$1,
|
4140
4471
|
my_story: my_story$1,
|
@@ -4175,6 +4506,7 @@ var lang_en = {
|
|
4175
4506
|
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,
|
4176
4507
|
here: here$1,
|
4177
4508
|
do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam$1,
|
4509
|
+
do_you_want_to_cancel_the_exam: do_you_want_to_cancel_the_exam$1,
|
4178
4510
|
are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam$1,
|
4179
4511
|
are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook$1,
|
4180
4512
|
are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user$1,
|
@@ -4440,6 +4772,7 @@ var lang_en = {
|
|
4440
4772
|
users: users$1,
|
4441
4773
|
new_user: new_user$1,
|
4442
4774
|
academy_admin: academy_admin$1,
|
4775
|
+
super_admin: super_admin$1,
|
4443
4776
|
switch_academy_admin: switch_academy_admin$1,
|
4444
4777
|
switch_academy: switch_academy$1,
|
4445
4778
|
there_are_no_lessons_this_week: there_are_no_lessons_this_week$1,
|
@@ -4715,6 +5048,7 @@ var lang_en = {
|
|
4715
5048
|
update_the_textbook_successfully: update_the_textbook_successfully$1,
|
4716
5049
|
create_the_textbook_successfully: create_the_textbook_successfully$1,
|
4717
5050
|
finish_exam_successful: finish_exam_successful$1,
|
5051
|
+
cancel_exam_successful: cancel_exam_successful$1,
|
4718
5052
|
you_has_been_kicked_out: you_has_been_kicked_out$1,
|
4719
5053
|
the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam$1,
|
4720
5054
|
check_in_lesson_successfully: check_in_lesson_successfully$1,
|
@@ -4796,6 +5130,7 @@ var lang_en = {
|
|
4796
5130
|
sync_exam_results: sync_exam_results$1,
|
4797
5131
|
update_data_fail: update_data_fail$1,
|
4798
5132
|
add_students_to_class: add_students_to_class$1,
|
5133
|
+
add_teachers_to_class: add_teachers_to_class$1,
|
4799
5134
|
click_to_choose_file: click_to_choose_file$1,
|
4800
5135
|
exam_data: exam_data$1,
|
4801
5136
|
questions_correct_rate: questions_correct_rate$1,
|
@@ -4908,7 +5243,17 @@ var lang_en = {
|
|
4908
5243
|
your_browser_must: your_browser_must$1,
|
4909
5244
|
allowed_to_send_pop_ups_and_use_redirects: allowed_to_send_pop_ups_and_use_redirects$1,
|
4910
5245
|
disable_ask_where_to_save_each_file_before_downloading: disable_ask_where_to_save_each_file_before_downloading$1,
|
4911
|
-
total_number_of_selected_results: total_number_of_selected_results$1
|
5246
|
+
total_number_of_selected_results: total_number_of_selected_results$1,
|
5247
|
+
choose_to_print: choose_to_print$1,
|
5248
|
+
exam_has_been_cancelled: exam_has_been_cancelled$1,
|
5249
|
+
or: or$1,
|
5250
|
+
sign_in_with_email: sign_in_with_email$1,
|
5251
|
+
please_check_your_mailbox: please_check_your_mailbox$1,
|
5252
|
+
otp_is_required: otp_is_required$1,
|
5253
|
+
min_is_1: min_is_1$1,
|
5254
|
+
max_is_6: max_is_6$1,
|
5255
|
+
must_be_number: must_be_number$1,
|
5256
|
+
sign_in_with_google_account: sign_in_with_google_account$1
|
4912
5257
|
};
|
4913
5258
|
|
4914
5259
|
i18n__default.use(reactI18next.initReactI18next).init({
|
@@ -5182,7 +5527,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
5182
5527
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
5183
5528
|
});
|
5184
5529
|
var isAdmin = role === exports.Role.Admin;
|
5185
|
-
var isSuperAdmin = user && !user.academyDomain && ((_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(exports.Role.Admin));
|
5530
|
+
var isSuperAdmin = user && (!user.academyDomain && ((_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(exports.Role.Admin)) || user.isSuperAdmin);
|
5186
5531
|
var _useTranslation = reactI18next.useTranslation(),
|
5187
5532
|
t = _useTranslation.t;
|
5188
5533
|
var _useState = React.useState(null),
|
@@ -6927,7 +7272,7 @@ var useMessageList = function useMessageList(_ref) {
|
|
6927
7272
|
userId: (student === null || student === void 0 ? void 0 : student.id) || 0,
|
6928
7273
|
action: RecentUserAction$1.ViewedQNA,
|
6929
7274
|
data: "" + conversationId,
|
6930
|
-
|
7275
|
+
isAdmin: !isTeacher
|
6931
7276
|
})).then(function () {
|
6932
7277
|
isFirst = false;
|
6933
7278
|
});
|
@@ -7095,6 +7440,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
7095
7440
|
var _useState4 = React.useState(true),
|
7096
7441
|
isScrollToEnd = _useState4[0],
|
7097
7442
|
setScrollToEnd = _useState4[1];
|
7443
|
+
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Admin);
|
7098
7444
|
var _useMessageList = useMessageList({
|
7099
7445
|
student: student
|
7100
7446
|
}),
|
@@ -7220,9 +7566,6 @@ var useChatContainer = function useChatContainer(props) {
|
|
7220
7566
|
if (!data) return;
|
7221
7567
|
var parsedData = JSON.parse(data);
|
7222
7568
|
if (parsedData.id) setSelectedConversation(JSON.parse(data));
|
7223
|
-
console.log({
|
7224
|
-
data: JSON.parse(data)
|
7225
|
-
});
|
7226
7569
|
};
|
7227
7570
|
var handleLoadMoreMessages = function handleLoadMoreMessages() {
|
7228
7571
|
try {
|
@@ -7289,11 +7632,11 @@ var useChatContainer = function useChatContainer(props) {
|
|
7289
7632
|
var results = messages.map(function (i) {
|
7290
7633
|
var _i$sender;
|
7291
7634
|
return _extends({}, i, {
|
7292
|
-
isMe: (infoUser === null || infoUser === void 0 ? void 0 : infoUser.id) === ((_i$sender = i.sender) === null || _i$sender === void 0 ? void 0 : _i$sender.id)
|
7635
|
+
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)
|
7293
7636
|
});
|
7294
7637
|
});
|
7295
7638
|
return results;
|
7296
|
-
}, [JSON.stringify(messages), infoUser === null || infoUser === void 0 ? void 0 : infoUser.id]);
|
7639
|
+
}, [JSON.stringify(messages), infoUser === null || infoUser === void 0 ? void 0 : infoUser.id, isAdmin]);
|
7297
7640
|
React.useEffect(function () {
|
7298
7641
|
getMessageConversation();
|
7299
7642
|
}, [JSON.stringify(selectedConversation)]);
|
@@ -10868,6 +11211,7 @@ var EXAM_RESULT = {
|
|
10868
11211
|
topDuration: 180.939,
|
10869
11212
|
answerResponseSignal: 0,
|
10870
11213
|
isCorrect: false,
|
11214
|
+
score: 2,
|
10871
11215
|
answerTime: "2024-03-13T04:29:00.685+00:00",
|
10872
11216
|
article: 1,
|
10873
11217
|
category: {
|
@@ -10889,6 +11233,7 @@ var EXAM_RESULT = {
|
|
10889
11233
|
classAverageTime: 2.014,
|
10890
11234
|
topDuration: 2.014,
|
10891
11235
|
answerResponseSignal: 1,
|
11236
|
+
score: 2,
|
10892
11237
|
isCorrect: false,
|
10893
11238
|
answerTime: "2024-03-13T04:29:02.7+00:00",
|
10894
11239
|
article: 1,
|
@@ -10911,6 +11256,7 @@ var EXAM_RESULT = {
|
|
10911
11256
|
classAverageTime: 52.244,
|
10912
11257
|
topDuration: 24.244,
|
10913
11258
|
answerResponseSignal: 1,
|
11259
|
+
score: 2,
|
10914
11260
|
isCorrect: false,
|
10915
11261
|
answerTime: "2024-03-13T04:29:04.944+00:00",
|
10916
11262
|
article: 1,
|
@@ -10933,6 +11279,7 @@ var EXAM_RESULT = {
|
|
10933
11279
|
classAverageTime: 1.373,
|
10934
11280
|
topDuration: 1.373,
|
10935
11281
|
answerResponseSignal: 4,
|
11282
|
+
score: 2,
|
10936
11283
|
isCorrect: true,
|
10937
11284
|
answerTime: "2024-03-13T04:29:06.317+00:00",
|
10938
11285
|
article: 1,
|
@@ -10955,6 +11302,7 @@ var EXAM_RESULT = {
|
|
10955
11302
|
classAverageTime: 132.683,
|
10956
11303
|
topDuration: 110.683,
|
10957
11304
|
answerResponseSignal: 2,
|
11305
|
+
score: 2,
|
10958
11306
|
isCorrect: false,
|
10959
11307
|
answerTime: "2024-03-13T04:29:07+00:00",
|
10960
11308
|
article: 1,
|
@@ -10977,6 +11325,7 @@ var EXAM_RESULT = {
|
|
10977
11325
|
classAverageTime: 1.052,
|
10978
11326
|
topDuration: 1.052,
|
10979
11327
|
answerResponseSignal: 1,
|
11328
|
+
score: 2,
|
10980
11329
|
isCorrect: true,
|
10981
11330
|
answerTime: "2024-03-13T04:29:08.052+00:00",
|
10982
11331
|
article: 2,
|
@@ -10999,6 +11348,7 @@ var EXAM_RESULT = {
|
|
10999
11348
|
classAverageTime: 0,
|
11000
11349
|
topDuration: null,
|
11001
11350
|
answerResponseSignal: null,
|
11351
|
+
score: 2,
|
11002
11352
|
isCorrect: false,
|
11003
11353
|
answerTime: "0001-01-01T00:00:00+00:00",
|
11004
11354
|
article: 2,
|
@@ -11021,6 +11371,7 @@ var EXAM_RESULT = {
|
|
11021
11371
|
classAverageTime: 2.596,
|
11022
11372
|
topDuration: 2.596,
|
11023
11373
|
answerResponseSignal: 1,
|
11374
|
+
score: 2,
|
11024
11375
|
isCorrect: false,
|
11025
11376
|
answerTime: "2024-03-13T04:29:10.648+00:00",
|
11026
11377
|
article: 2,
|
@@ -11043,6 +11394,7 @@ var EXAM_RESULT = {
|
|
11043
11394
|
classAverageTime: 0.899,
|
11044
11395
|
topDuration: 0.899,
|
11045
11396
|
answerResponseSignal: 1,
|
11397
|
+
score: 2,
|
11046
11398
|
isCorrect: false,
|
11047
11399
|
answerTime: "2024-03-13T04:29:12.864+00:00",
|
11048
11400
|
article: 2,
|
@@ -11066,6 +11418,7 @@ var EXAM_RESULT = {
|
|
11066
11418
|
topDuration: 20.496,
|
11067
11419
|
answerResponseSignal: 0,
|
11068
11420
|
isCorrect: true,
|
11421
|
+
score: 2,
|
11069
11422
|
answerTime: "2024-03-13T04:29:14.36+00:00",
|
11070
11423
|
article: 2,
|
11071
11424
|
category: {
|
@@ -11087,6 +11440,7 @@ var EXAM_RESULT = {
|
|
11087
11440
|
classAverageTime: 0,
|
11088
11441
|
topDuration: null,
|
11089
11442
|
answerResponseSignal: null,
|
11443
|
+
score: 2,
|
11090
11444
|
isCorrect: false,
|
11091
11445
|
answerTime: "0001-01-01T00:00:00+00:00",
|
11092
11446
|
article: 2,
|
@@ -11110,6 +11464,7 @@ var EXAM_RESULT = {
|
|
11110
11464
|
topDuration: 1.317,
|
11111
11465
|
answerResponseSignal: 1,
|
11112
11466
|
isCorrect: true,
|
11467
|
+
score: 2,
|
11113
11468
|
answerTime: "2024-03-13T04:29:11.965+00:00",
|
11114
11469
|
article: 3,
|
11115
11470
|
category: {
|
@@ -11131,6 +11486,7 @@ var EXAM_RESULT = {
|
|
11131
11486
|
classAverageTime: 1.593,
|
11132
11487
|
topDuration: 1.593,
|
11133
11488
|
answerResponseSignal: 1,
|
11489
|
+
score: 2,
|
11134
11490
|
isCorrect: false,
|
11135
11491
|
answerTime: "2024-03-13T04:29:20.734+00:00",
|
11136
11492
|
article: 3,
|
@@ -11153,6 +11509,7 @@ var EXAM_RESULT = {
|
|
11153
11509
|
classAverageTime: 1.204,
|
11154
11510
|
topDuration: 1.204,
|
11155
11511
|
answerResponseSignal: 1,
|
11512
|
+
score: 2,
|
11156
11513
|
isCorrect: false,
|
11157
11514
|
answerTime: "2024-03-13T04:29:18.164+00:00",
|
11158
11515
|
article: 3,
|
@@ -11175,6 +11532,7 @@ var EXAM_RESULT = {
|
|
11175
11532
|
classAverageTime: 2.6,
|
11176
11533
|
topDuration: 2.6,
|
11177
11534
|
answerResponseSignal: 1,
|
11535
|
+
score: 2,
|
11178
11536
|
isCorrect: false,
|
11179
11537
|
answerTime: "2024-03-13T04:29:16.96+00:00",
|
11180
11538
|
article: 3,
|
@@ -11197,6 +11555,7 @@ var EXAM_RESULT = {
|
|
11197
11555
|
classAverageTime: 0.977,
|
11198
11556
|
topDuration: 0.977,
|
11199
11557
|
answerResponseSignal: 1,
|
11558
|
+
score: 2,
|
11200
11559
|
isCorrect: true,
|
11201
11560
|
answerTime: "2024-03-13T04:29:19.141+00:00",
|
11202
11561
|
article: 3,
|
@@ -11605,23 +11964,11 @@ var getRecentUserActionListApi = function getRecentUserActionListApi(query) {
|
|
11605
11964
|
params: _extends({}, query)
|
11606
11965
|
});
|
11607
11966
|
};
|
11608
|
-
var createRecentUserActionListApi = function createRecentUserActionListApi(
|
11609
|
-
|
11610
|
-
action = _ref.action,
|
11611
|
-
data = _ref.data,
|
11612
|
-
roles = _ref.roles;
|
11613
|
-
return api.post("" + RECENT_USER_URL, {
|
11614
|
-
userId: userId,
|
11615
|
-
action: action,
|
11616
|
-
data: data
|
11617
|
-
}, {
|
11618
|
-
params: {
|
11619
|
-
roles: roles
|
11620
|
-
}
|
11621
|
-
});
|
11967
|
+
var createRecentUserActionListApi = function createRecentUserActionListApi(recentData) {
|
11968
|
+
return api.post("" + RECENT_USER_URL, recentData);
|
11622
11969
|
};
|
11623
11970
|
|
11624
|
-
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"};
|
11971
|
+
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"};
|
11625
11972
|
|
11626
11973
|
var useExamResult = function useExamResult(props) {
|
11627
11974
|
var _allSeries$dataChartI;
|
@@ -11641,6 +11988,7 @@ var useExamResult = function useExamResult(props) {
|
|
11641
11988
|
});
|
11642
11989
|
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
11643
11990
|
var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Student);
|
11991
|
+
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Admin);
|
11644
11992
|
var examCode = query.get("examCode") || code;
|
11645
11993
|
var language = reactRedux.useSelector(function (state) {
|
11646
11994
|
var _state$common2;
|
@@ -11725,14 +12073,14 @@ var useExamResult = function useExamResult(props) {
|
|
11725
12073
|
setCategoryResponses(((_result$4$data2 = result[4].data) === null || _result$4$data2 === void 0 ? void 0 : _result$4$data2.data) || []);
|
11726
12074
|
return isStudent ? _temp3(!isStudent && createRecentUserActionListApi({
|
11727
12075
|
userId: studentId,
|
11728
|
-
action: RecentUserAction$1.ViewedExamResult,
|
12076
|
+
action: isPrint ? RecentUserAction$1.PrintedExamResult : RecentUserAction$1.ViewedExamResult,
|
11729
12077
|
data: "" + examSessionId,
|
11730
|
-
|
12078
|
+
isAdmin: isAdmin
|
11731
12079
|
})) : Promise.resolve(!isStudent && createRecentUserActionListApi({
|
11732
12080
|
userId: studentId,
|
11733
|
-
action: RecentUserAction$1.ViewedExamResult,
|
12081
|
+
action: isPrint ? RecentUserAction$1.PrintedExamResult : RecentUserAction$1.ViewedExamResult,
|
11734
12082
|
data: "" + examSessionId,
|
11735
|
-
|
12083
|
+
isAdmin: isAdmin
|
11736
12084
|
})).then(_temp3);
|
11737
12085
|
});
|
11738
12086
|
}, function (error) {
|
@@ -13314,8 +13662,8 @@ var iconWarning = function iconWarning(_ref) {
|
|
13314
13662
|
}));
|
13315
13663
|
};
|
13316
13664
|
|
13317
|
-
var schema$1 =
|
13318
|
-
content:
|
13665
|
+
var schema$1 = Yup.object().shape({
|
13666
|
+
content: Yup.string().required()
|
13319
13667
|
});
|
13320
13668
|
function CreateNewQuestionDialog(_ref) {
|
13321
13669
|
var handleCreateQuestion = _ref.handleCreateQuestion,
|
@@ -13490,6 +13838,9 @@ function MyAnswer(_ref) {
|
|
13490
13838
|
if (diff > 0) prefix = "+";
|
13491
13839
|
return "" + prefix + formatTimeSecond(Math.abs(diff), t);
|
13492
13840
|
};
|
13841
|
+
var getOverallColorClassName = function getOverallColorClassName(correctRate) {
|
13842
|
+
return styles$4["overall-response-" + (correctRate < 40 ? 1 : correctRate <= 70 ? 2 : 3)];
|
13843
|
+
};
|
13493
13844
|
var renderQuestions = function renderQuestions(questions) {
|
13494
13845
|
return questions.map(function (question, index) {
|
13495
13846
|
var _questions;
|
@@ -13572,7 +13923,7 @@ function MyAnswer(_ref) {
|
|
13572
13923
|
style: {
|
13573
13924
|
margin: 0
|
13574
13925
|
},
|
13575
|
-
className: styles$4["answer-response"] + " " +
|
13926
|
+
className: styles$4["answer-response"] + " " + getOverallColorClassName(question.overallCorrectRate)
|
13576
13927
|
}, question.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
|
13577
13928
|
style: {
|
13578
13929
|
margin: 0
|
@@ -14509,8 +14860,8 @@ var useCreateQuestionDialog$1 = function useCreateQuestionDialog() {
|
|
14509
14860
|
};
|
14510
14861
|
};
|
14511
14862
|
|
14512
|
-
var schema$2 =
|
14513
|
-
content:
|
14863
|
+
var schema$2 = Yup.object().shape({
|
14864
|
+
content: Yup.string().required()
|
14514
14865
|
});
|
14515
14866
|
function CreateNewQuestionDialog$1(_ref) {
|
14516
14867
|
var handleCreateQuestion = _ref.handleCreateQuestion,
|
@@ -14694,7 +15045,7 @@ var usePrintExamResult = function usePrintExamResult(isDataFetching, fileName, t
|
|
14694
15045
|
var autoPrintPdf = function autoPrintPdf() {
|
14695
15046
|
if (printState === PrintState.Printing) return;
|
14696
15047
|
if (autoPrint && printState !== PrintState.Default) return;
|
14697
|
-
if (totalChart !== renderedCharts.length) {
|
15048
|
+
if (totalChart !== 0 && totalChart !== renderedCharts.length) {
|
14698
15049
|
!autoPrint && setPrintState(PrintState.Pending);
|
14699
15050
|
return;
|
14700
15051
|
}
|
@@ -14823,6 +15174,8 @@ var studentNameStyle = {
|
|
14823
15174
|
var PrintExamResult = function PrintExamResult(_ref) {
|
14824
15175
|
var resultData = _ref.resultData,
|
14825
15176
|
examTime = _ref.examTime,
|
15177
|
+
status = _ref.status,
|
15178
|
+
isShow = _ref.isShow,
|
14826
15179
|
isStudent = _ref.isStudent,
|
14827
15180
|
categoryResponses = _ref.categoryResponses,
|
14828
15181
|
timelyOrderQuestions = _ref.timelyOrderQuestions,
|
@@ -14950,7 +15303,7 @@ var PrintExamResult = function PrintExamResult(_ref) {
|
|
14950
15303
|
fontWeight: 600,
|
14951
15304
|
color: styles.gray_700
|
14952
15305
|
}
|
14953
|
-
}, resultData === null || resultData === void 0 ? void 0 : resultData.teacherName)))))), React__default.createElement(material.Stack, {
|
15306
|
+
}, resultData === null || resultData === void 0 ? void 0 : resultData.teacherName)))))), (!status || (isShow === null || isShow === void 0 ? void 0 : isShow(TabList[0].value))) && React__default.createElement(material.Stack, {
|
14954
15307
|
display: "flex",
|
14955
15308
|
flexDirection: "column",
|
14956
15309
|
gap: "12px"
|
@@ -14960,7 +15313,7 @@ var PrintExamResult = function PrintExamResult(_ref) {
|
|
14960
15313
|
data: resultData,
|
14961
15314
|
categories: categoryResponses,
|
14962
15315
|
isStudent: isStudent
|
14963
|
-
})), React__default.createElement(material.Stack, {
|
15316
|
+
})), (!status || (isShow === null || isShow === void 0 ? void 0 : isShow(TabList[1].value))) && React__default.createElement(material.Stack, {
|
14964
15317
|
display: "flex",
|
14965
15318
|
flexDirection: "column",
|
14966
15319
|
gap: "12px",
|
@@ -14987,7 +15340,7 @@ var PrintExamResult = function PrintExamResult(_ref) {
|
|
14987
15340
|
series: allSeries[index],
|
14988
15341
|
setIsRendered: setRenderedChart
|
14989
15342
|
});
|
14990
|
-
})), React__default.createElement(material.Stack, {
|
15343
|
+
})), (!status || (isShow === null || isShow === void 0 ? void 0 : isShow(TabList[2].value))) && React__default.createElement(material.Stack, {
|
14991
15344
|
display: "flex",
|
14992
15345
|
flexDirection: "column",
|
14993
15346
|
gap: "12px",
|
@@ -14996,7 +15349,7 @@ var PrintExamResult = function PrintExamResult(_ref) {
|
|
14996
15349
|
sx: textStyle
|
14997
15350
|
}, i18n.t(TabList[2].label)), React__default.createElement(CompareGrass, {
|
14998
15351
|
effectSize: effectSize
|
14999
|
-
})), React__default.createElement(material.Stack, {
|
15352
|
+
})), (!status || (isShow === null || isShow === void 0 ? void 0 : isShow(TabList[3].value))) && React__default.createElement(material.Stack, {
|
15000
15353
|
display: "flex",
|
15001
15354
|
flexDirection: "column",
|
15002
15355
|
gap: "12px",
|
@@ -15385,29 +15738,6 @@ var times = {
|
|
15385
15738
|
getRemainTime: getRemainTime
|
15386
15739
|
};
|
15387
15740
|
|
15388
|
-
var SIGN_IN_SUPER_ADMIN_URL = SUPER_ADMIN_BASE_URL + "/api/auth/login";
|
15389
|
-
var SIGN_IN_URL = BASE_URL + "/api/auth/login";
|
15390
|
-
var signInApi = function signInApi(_ref) {
|
15391
|
-
var email = _ref.email,
|
15392
|
-
password = _ref.password,
|
15393
|
-
role = _ref.role;
|
15394
|
-
return api.post(SIGN_IN_URL + "/demo", {
|
15395
|
-
email: email,
|
15396
|
-
password: password,
|
15397
|
-
role: role
|
15398
|
-
});
|
15399
|
-
};
|
15400
|
-
var signInSuperAdminApi = function signInSuperAdminApi(_ref2) {
|
15401
|
-
var email = _ref2.email,
|
15402
|
-
password = _ref2.password,
|
15403
|
-
role = _ref2.role;
|
15404
|
-
return api.post(SIGN_IN_SUPER_ADMIN_URL + "/demo", {
|
15405
|
-
email: email,
|
15406
|
-
password: password,
|
15407
|
-
role: role
|
15408
|
-
});
|
15409
|
-
};
|
15410
|
-
|
15411
15741
|
var PAGE_TITLE$2 = "sign_in";
|
15412
15742
|
var useLogin$2 = function useLogin(_ref) {
|
15413
15743
|
var history = _ref.history,
|
@@ -16615,6 +16945,15 @@ var usePrintView = function usePrintView(_ref) {
|
|
16615
16945
|
var _useState = React.useState(false),
|
16616
16946
|
isDone = _useState[0],
|
16617
16947
|
setDone = _useState[1];
|
16948
|
+
var _useLocation = reactRouterDom.useLocation(),
|
16949
|
+
search = _useLocation.search;
|
16950
|
+
var query = new URLSearchParams(search);
|
16951
|
+
var status = query.get('status') || '';
|
16952
|
+
var isShow = function isShow(value) {
|
16953
|
+
return (status === null || status === void 0 ? void 0 : status.split(',').some(function (i) {
|
16954
|
+
return i === value.toString();
|
16955
|
+
})) || false;
|
16956
|
+
};
|
16618
16957
|
var handelPrintSuccess = function handelPrintSuccess() {
|
16619
16958
|
var _window$opener$postMe, _window$opener;
|
16620
16959
|
var data;
|
@@ -16661,6 +17000,8 @@ var usePrintView = function usePrintView(_ref) {
|
|
16661
17000
|
return {
|
16662
17001
|
fileName: fileName,
|
16663
17002
|
isDone: isDone,
|
17003
|
+
status: status,
|
17004
|
+
isShow: isShow,
|
16664
17005
|
handelPrintSuccess: handelPrintSuccess,
|
16665
17006
|
handelPrintError: handelPrintError
|
16666
17007
|
};
|
@@ -16729,9 +17070,11 @@ var PrintExamResultView = function PrintExamResultView(_ref) {
|
|
16729
17070
|
}),
|
16730
17071
|
fileName = _usePrintView.fileName,
|
16731
17072
|
isDone = _usePrintView.isDone,
|
17073
|
+
status = _usePrintView.status,
|
17074
|
+
isShow = _usePrintView.isShow,
|
16732
17075
|
handelPrintSuccess = _usePrintView.handelPrintSuccess,
|
16733
17076
|
handelPrintError = _usePrintView.handelPrintError;
|
16734
|
-
var _usePrintExamResult = usePrintExamResult(isLoading, fileName, timelyOrderQuestions.length, handelPrintSuccess, handelPrintError, true),
|
17077
|
+
var _usePrintExamResult = usePrintExamResult(isLoading, fileName, !status || isShow !== null && isShow !== void 0 && isShow(TabList[1].value) ? timelyOrderQuestions.length : 0, handelPrintSuccess, handelPrintError, true),
|
16735
17078
|
contentRef = _usePrintExamResult.contentRef,
|
16736
17079
|
setRenderedChart = _usePrintExamResult.setRenderedChart;
|
16737
17080
|
var isTabletUp = material.useMediaQuery("(min-width:900px)");
|
@@ -16754,6 +17097,8 @@ var PrintExamResultView = function PrintExamResultView(_ref) {
|
|
16754
17097
|
timelyOrderQuestions: timelyOrderQuestions,
|
16755
17098
|
isMyStoryStudent: isMyStoryStudent,
|
16756
17099
|
fileName: fileName,
|
17100
|
+
isShow: isShow,
|
17101
|
+
status: status,
|
16757
17102
|
setRenderedChart: setRenderedChart
|
16758
17103
|
}) : isLoading === undefined || isLoading === true ? React__default.createElement(LoadingComponent, {
|
16759
17104
|
isLoading: !!isLoading,
|
@@ -16776,6 +17121,20 @@ var PrintState$1;
|
|
16776
17121
|
PrintState[PrintState["Paused"] = 3] = "Paused";
|
16777
17122
|
})(PrintState$1 || (PrintState$1 = {}));
|
16778
17123
|
|
17124
|
+
var TabList$1 = [{
|
17125
|
+
label: "comprehensive_analysis",
|
17126
|
+
value: 0
|
17127
|
+
}, {
|
17128
|
+
label: "solution_order",
|
17129
|
+
value: 1
|
17130
|
+
}, {
|
17131
|
+
label: "compare_solution",
|
17132
|
+
value: 2
|
17133
|
+
}, {
|
17134
|
+
label: "problem_analysis",
|
17135
|
+
value: 3
|
17136
|
+
}];
|
17137
|
+
|
16779
17138
|
var TOTAL = 3;
|
16780
17139
|
var PrintExamView2 = function PrintExamView2(_ref) {
|
16781
17140
|
var history = _ref.history,
|
@@ -16810,7 +17169,23 @@ var PrintExamView2 = function PrintExamView2(_ref) {
|
|
16810
17169
|
var _useState5 = React.useState([]),
|
16811
17170
|
errorLinks = _useState5[0],
|
16812
17171
|
setErrorLinks = _useState5[1];
|
17172
|
+
var _useState6 = React.useState([]),
|
17173
|
+
status = _useState6[0],
|
17174
|
+
setStatus = _useState6[1];
|
16813
17175
|
var theme = material.useTheme();
|
17176
|
+
var handleChangeStatus = function handleChangeStatus(event) {
|
17177
|
+
if (event.target.checked) {
|
17178
|
+
setStatus(function (prev) {
|
17179
|
+
var _event$target;
|
17180
|
+
return [].concat(prev, [(_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value]);
|
17181
|
+
});
|
17182
|
+
} else setStatus(function (prev) {
|
17183
|
+
return prev === null || prev === void 0 ? void 0 : prev.filter(function (i) {
|
17184
|
+
var _event$target2;
|
17185
|
+
return i !== ((_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.value);
|
17186
|
+
});
|
17187
|
+
});
|
17188
|
+
};
|
16814
17189
|
var handleProgressPrint = function handleProgressPrint() {
|
16815
17190
|
setData(dataProps);
|
16816
17191
|
setCompleted([]);
|
@@ -16818,6 +17193,9 @@ var PrintExamView2 = function PrintExamView2(_ref) {
|
|
16818
17193
|
setErrorLinks([]);
|
16819
17194
|
setState(PrintState$1.Printing);
|
16820
17195
|
};
|
17196
|
+
console.log({
|
17197
|
+
status: status
|
17198
|
+
});
|
16821
17199
|
var print = function print(_ref2) {
|
16822
17200
|
var examSessionId = _ref2.examSessionId,
|
16823
17201
|
studentId = _ref2.studentId,
|
@@ -16826,7 +17204,7 @@ var PrintExamView2 = function PrintExamView2(_ref) {
|
|
16826
17204
|
var height = 200;
|
16827
17205
|
var left = window.screenX + window.outerWidth / 2 - width / 2;
|
16828
17206
|
var top = window.screenY + window.outerHeight / 2 - height / 2;
|
16829
|
-
var url = isTeacher ? window.location.origin + "/teacher/exam-results/" + examSessionId + "/students/" + studentId + "/print" : window.location.origin + "/student/exam-results/" + code + "/print";
|
17207
|
+
var url = isTeacher ? window.location.origin + "/teacher/exam-results/" + examSessionId + "/students/" + studentId + "/print?status=" + status.join(",") : window.location.origin + "/student/exam-results/" + code + "/print";
|
16830
17208
|
var windowName = isTeacher ? "popup-" + examSessionId + "-" + studentId : "popup-" + code;
|
16831
17209
|
var windowSpecs = "left=" + left + ",top=" + top + ",width=" + width + ",height=" + height + ",location=yes,resizable=yes,scrollbars=yes,status=yes";
|
16832
17210
|
var childWindow = window.open(url, windowName, windowSpecs);
|
@@ -16988,13 +17366,115 @@ var PrintExamView2 = function PrintExamView2(_ref) {
|
|
16988
17366
|
disablePadding: true
|
16989
17367
|
}, t("allowed_to_send_pop_ups_and_use_redirects")), React__default.createElement(material.ListItem, {
|
16990
17368
|
disablePadding: true
|
16991
|
-
}, t("disable_ask_where_to_save_each_file_before_downloading")))), React__default.createElement(material.
|
17369
|
+
}, t("disable_ask_where_to_save_each_file_before_downloading")))), isTeacher && React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
17370
|
+
fontWeight: 700
|
17371
|
+
}, t("choose_to_print"), ":"), React__default.createElement(material.FormGroup, {
|
17372
|
+
sx: {
|
17373
|
+
display: "flex",
|
17374
|
+
flexDirection: "row",
|
17375
|
+
gap: 1,
|
17376
|
+
flexWrap: "wrap"
|
17377
|
+
}
|
17378
|
+
}, TabList$1.map(function (_ref3) {
|
17379
|
+
var label = _ref3.label,
|
17380
|
+
value = _ref3.value;
|
17381
|
+
return React__default.createElement(material.FormControlLabel, {
|
17382
|
+
control: React__default.createElement(material.Checkbox, {
|
17383
|
+
onChange: handleChangeStatus,
|
17384
|
+
value: value,
|
17385
|
+
checked: status.some(function (i) {
|
17386
|
+
return i === value.toString();
|
17387
|
+
})
|
17388
|
+
}),
|
17389
|
+
label: t(label)
|
17390
|
+
});
|
17391
|
+
}))), React__default.createElement(material.Button, {
|
16992
17392
|
className: "mt-3",
|
16993
17393
|
variant: "contained",
|
16994
17394
|
onClick: handleProgressPrint
|
16995
17395
|
}, t("print_pdf"))));
|
16996
17396
|
};
|
16997
17397
|
|
17398
|
+
var urlSafeFormat = function urlSafeFormat(text) {
|
17399
|
+
return text.replaceAll(' ', "+");
|
17400
|
+
};
|
17401
|
+
|
17402
|
+
var useLoginWithEmail = function useLoginWithEmail(_ref) {
|
17403
|
+
var history = _ref.history,
|
17404
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
17405
|
+
homeUrl = _ref.homeUrl,
|
17406
|
+
registerUrl = _ref.registerUrl,
|
17407
|
+
role = _ref.role;
|
17408
|
+
var _useLocation = reactRouterDom.useLocation(),
|
17409
|
+
searchLocation = _useLocation.search;
|
17410
|
+
var _useTranslation = reactI18next.useTranslation(),
|
17411
|
+
t = _useTranslation.t;
|
17412
|
+
var searchParams = new URLSearchParams(searchLocation);
|
17413
|
+
var key = urlSafeFormat(searchParams.get("key") || "");
|
17414
|
+
var dispatch = reactRedux.useDispatch();
|
17415
|
+
var paramDomain = searchParams.get("domain");
|
17416
|
+
var academyDomainStorage = getAcademyDomain();
|
17417
|
+
var academyDomain = paramDomain || academyDomainStorage || "";
|
17418
|
+
var handleSignIn = function handleSignIn() {
|
17419
|
+
try {
|
17420
|
+
var _temp2 = function _temp2() {
|
17421
|
+
dispatch(setLoading(false));
|
17422
|
+
};
|
17423
|
+
dispatch(setLoading(true));
|
17424
|
+
var _temp = _catch(function () {
|
17425
|
+
return Promise.resolve(signInWithKeyApi({
|
17426
|
+
academyDomain: academyDomain,
|
17427
|
+
key: key,
|
17428
|
+
role: role
|
17429
|
+
})).then(function (res) {
|
17430
|
+
var loginResponse = res === null || res === void 0 ? void 0 : res.data;
|
17431
|
+
var isFirstLogin = loginResponse.isFirstLogin,
|
17432
|
+
token = loginResponse.token,
|
17433
|
+
user = loginResponse.user;
|
17434
|
+
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
17435
|
+
var needToRegister = isFirstLogin && isAcademy;
|
17436
|
+
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
17437
|
+
redirectLoginUser(user, token, redirectUrl);
|
17438
|
+
});
|
17439
|
+
}, function (error) {
|
17440
|
+
console.log(error);
|
17441
|
+
reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
17442
|
+
});
|
17443
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
17444
|
+
} catch (e) {
|
17445
|
+
return Promise.reject(e);
|
17446
|
+
}
|
17447
|
+
};
|
17448
|
+
var redirectLoginUser = function redirectLoginUser(data, token, redirectUrl) {
|
17449
|
+
localStorage.setItem(ACCESS_TOKEN, token);
|
17450
|
+
!data.academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
17451
|
+
!!data.academyDomain && localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
|
17452
|
+
dispatch(setUser(_extends({}, data)));
|
17453
|
+
if (redirectUrl) pushTo(history, redirectUrl);
|
17454
|
+
};
|
17455
|
+
React.useEffect(function () {
|
17456
|
+
if (!key) return;
|
17457
|
+
handleSignIn();
|
17458
|
+
});
|
17459
|
+
return {};
|
17460
|
+
};
|
17461
|
+
|
17462
|
+
var LoginWithEmail = function LoginWithEmail(_ref) {
|
17463
|
+
var history = _ref.history,
|
17464
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
17465
|
+
homeUrl = _ref.homeUrl,
|
17466
|
+
registerUrl = _ref.registerUrl,
|
17467
|
+
role = _ref.role;
|
17468
|
+
useLoginWithEmail({
|
17469
|
+
history: history,
|
17470
|
+
homeAcademyUrl: homeAcademyUrl,
|
17471
|
+
homeUrl: homeUrl,
|
17472
|
+
registerUrl: registerUrl,
|
17473
|
+
role: role
|
17474
|
+
});
|
17475
|
+
return React__default.createElement(Loading, null);
|
17476
|
+
};
|
17477
|
+
|
16998
17478
|
exports.moment = moment;
|
16999
17479
|
Object.defineProperty(exports, 'I18nextProvider', {
|
17000
17480
|
enumerable: true,
|
@@ -17054,6 +17534,7 @@ exports.LayoutContext = LayoutContext;
|
|
17054
17534
|
exports.Loading = Loading;
|
17055
17535
|
exports.LoadingComponent = LoadingComponent;
|
17056
17536
|
exports.Login = Login;
|
17537
|
+
exports.LoginWithEmail = LoginWithEmail;
|
17057
17538
|
exports.LoginWithPassword = SignIn;
|
17058
17539
|
exports.NotFound = NotFound;
|
17059
17540
|
exports.PUSHER_CONFIG = PUSHER_CONFIG;
|