mario-core 2.9.326-release → 2.9.330-release
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/containers/Login/hooks/useLogin.d.ts +1 -0
- package/dist/containers/Login/views/block/BlockAssignTeacherByCode.d.ts +8 -0
- package/dist/containers/Login/views/block/BlockLogin.d.ts +1 -0
- package/dist/index.css +2 -0
- package/dist/index.js +517 -492
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +492 -467
- package/dist/index.modern.js.map +1 -1
- package/dist/services/weeklyQuestService.d.ts +1 -0
- package/dist/types/WeeklyQuest.d.ts +37 -0
- package/package.json +104 -104
package/dist/index.js
CHANGED
|
@@ -37547,7 +37547,8 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
|
37547
37547
|
fnIsCheckLogin = _ref.fnIsCheckLogin,
|
|
37548
37548
|
googleClientId = _ref.googleClientId,
|
|
37549
37549
|
fnLoginSSO = _ref.fnLoginSSO,
|
|
37550
|
-
extensionEmail = _ref.extensionEmail
|
|
37550
|
+
extensionEmail = _ref.extensionEmail,
|
|
37551
|
+
onLoginWidthClever = _ref.onLoginWidthClever;
|
|
37551
37552
|
|
|
37552
37553
|
var togglePasswordVisible = function togglePasswordVisible() {
|
|
37553
37554
|
return setIsShowPassword(!isShowPassword);
|
|
@@ -37734,7 +37735,16 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
|
37734
37735
|
}
|
|
37735
37736
|
}, React__default.createElement("img", {
|
|
37736
37737
|
src: "images/class-link-icon.png"
|
|
37737
|
-
}), React__default.createElement("p", null, "SIGN IN WITH CLASSLINK")))
|
|
37738
|
+
}), React__default.createElement("p", null, "SIGN IN WITH CLASSLINK"))), React__default.createElement("div", {
|
|
37739
|
+
className: styles["btn-login-sso"] + " mt-4"
|
|
37740
|
+
}, React__default.createElement("div", {
|
|
37741
|
+
className: styles["btn-login-with-sso"],
|
|
37742
|
+
onClick: function onClick() {
|
|
37743
|
+
return onLoginWidthClever();
|
|
37744
|
+
}
|
|
37745
|
+
}, React__default.createElement("img", {
|
|
37746
|
+
src: "images/clever-icon.png"
|
|
37747
|
+
}), React__default.createElement("p", null, "SIGN IN WITH CLEVER"))))));
|
|
37738
37748
|
}));
|
|
37739
37749
|
};
|
|
37740
37750
|
|
|
@@ -38507,6 +38517,16 @@ var useLogin = function useLogin() {
|
|
|
38507
38517
|
}
|
|
38508
38518
|
}, []);
|
|
38509
38519
|
|
|
38520
|
+
var handleLoginWidthClever = function handleLoginWidthClever() {
|
|
38521
|
+
if (!isLocalhost) {
|
|
38522
|
+
var cleverSSOUrl = "https://clever.com/oauth/authorize?response_type=code&redirect_uri=" + encodeURIComponent("https://stage2.marioforme.com/api/clever/clever-login") + "&client_id=" + "ab1aff048ba4482d75fa";
|
|
38523
|
+
window.location.href = cleverSSOUrl;
|
|
38524
|
+
} else {
|
|
38525
|
+
var _cleverSSOUrl = "https://clever.com/oauth/instant-login?client_id=ab1aff048ba4482d75fa&district_id=66132a6f222bda41cc8abe5d";
|
|
38526
|
+
window.location.href = _cleverSSOUrl;
|
|
38527
|
+
}
|
|
38528
|
+
};
|
|
38529
|
+
|
|
38510
38530
|
var loginAccountClassLink = function loginAccountClassLink() {
|
|
38511
38531
|
try {
|
|
38512
38532
|
var _temp3 = function _temp3() {
|
|
@@ -38977,7 +38997,8 @@ var useLogin = function useLogin() {
|
|
|
38977
38997
|
openModelAssign: openModelAssign,
|
|
38978
38998
|
fnLoginSSO: fnLoginSSO,
|
|
38979
38999
|
school: school,
|
|
38980
|
-
extensionEmail: extensionEmail
|
|
39000
|
+
extensionEmail: extensionEmail,
|
|
39001
|
+
handleLoginWidthClever: handleLoginWidthClever
|
|
38981
39002
|
};
|
|
38982
39003
|
};
|
|
38983
39004
|
|
|
@@ -39239,7 +39260,8 @@ var Login = function Login(props) {
|
|
|
39239
39260
|
googleClientId = _useLogin.googleClientId,
|
|
39240
39261
|
isShowPassword = _useLogin.isShowPassword,
|
|
39241
39262
|
fnLoginSSO = _useLogin.fnLoginSSO,
|
|
39242
|
-
extensionEmail = _useLogin.extensionEmail
|
|
39263
|
+
extensionEmail = _useLogin.extensionEmail,
|
|
39264
|
+
handleLoginWidthClever = _useLogin.handleLoginWidthClever;
|
|
39243
39265
|
|
|
39244
39266
|
React.useEffect(function () {
|
|
39245
39267
|
isLogin && (document.title = LOGIN_TITLE);
|
|
@@ -39277,7 +39299,8 @@ var Login = function Login(props) {
|
|
|
39277
39299
|
setIsShowPassword: setIsShowPassword,
|
|
39278
39300
|
submitLogin: submitLogin,
|
|
39279
39301
|
fnLoginSSO: fnLoginSSO,
|
|
39280
|
-
extensionEmail: extensionEmail
|
|
39302
|
+
extensionEmail: extensionEmail,
|
|
39303
|
+
onLoginWidthClever: handleLoginWidthClever
|
|
39281
39304
|
}), isForgotPassword && React__default.createElement(BlockForgetPassword, {
|
|
39282
39305
|
school: school
|
|
39283
39306
|
})), isResetPassword && React__default.createElement(BlockResetPassword, null), isCreatePassword && React__default.createElement(BlockCreatePassword, null), React__default.createElement("a", {
|
|
@@ -39768,212 +39791,6 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
|
|
|
39768
39791
|
})), t("log_out")))));
|
|
39769
39792
|
};
|
|
39770
39793
|
|
|
39771
|
-
var apiGetLanguage = function apiGetLanguage() {
|
|
39772
|
-
return api.get(BASE_URL + "/api/language");
|
|
39773
|
-
};
|
|
39774
|
-
|
|
39775
|
-
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
39776
|
-
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
39777
|
-
};
|
|
39778
|
-
|
|
39779
|
-
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
39780
|
-
|
|
39781
|
-
var useLanguages = function useLanguages() {
|
|
39782
|
-
var dispatch = reactRedux.useDispatch();
|
|
39783
|
-
|
|
39784
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
39785
|
-
i18n = _useTranslation.i18n;
|
|
39786
|
-
|
|
39787
|
-
var language = reactRedux.useSelector(function (state) {
|
|
39788
|
-
return state.common.language;
|
|
39789
|
-
});
|
|
39790
|
-
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
39791
|
-
|
|
39792
|
-
var _useState = React.useState([]),
|
|
39793
|
-
languageList = _useState[0],
|
|
39794
|
-
setLanguageList = _useState[1];
|
|
39795
|
-
|
|
39796
|
-
var _useState2 = React.useState(false),
|
|
39797
|
-
dropdownOpen = _useState2[0],
|
|
39798
|
-
setDropdownOpen = _useState2[1];
|
|
39799
|
-
|
|
39800
|
-
var _useState3 = React.useState(defaultLanguage),
|
|
39801
|
-
currentLang = _useState3[0],
|
|
39802
|
-
setCurrentLang = _useState3[1];
|
|
39803
|
-
|
|
39804
|
-
var toggle = function toggle() {
|
|
39805
|
-
return setDropdownOpen(function (prevState) {
|
|
39806
|
-
return !prevState;
|
|
39807
|
-
});
|
|
39808
|
-
};
|
|
39809
|
-
|
|
39810
|
-
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
39811
|
-
try {
|
|
39812
|
-
var _temp3 = function _temp3() {
|
|
39813
|
-
dispatch(setLoading(false));
|
|
39814
|
-
};
|
|
39815
|
-
|
|
39816
|
-
dispatch(setLoading(true));
|
|
39817
|
-
|
|
39818
|
-
var _temp4 = _catch(function () {
|
|
39819
|
-
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
39820
|
-
i18n.changeLanguage(lang);
|
|
39821
|
-
setCurrentLang(lang);
|
|
39822
|
-
dispatch(setLanguage(lang));
|
|
39823
|
-
});
|
|
39824
|
-
}, function (err) {
|
|
39825
|
-
var _err$response, _err$response$data;
|
|
39826
|
-
|
|
39827
|
-
dispatch(setAlert({
|
|
39828
|
-
type: "danger",
|
|
39829
|
-
message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
|
|
39830
|
-
}));
|
|
39831
|
-
});
|
|
39832
|
-
|
|
39833
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
39834
|
-
} catch (e) {
|
|
39835
|
-
return Promise.reject(e);
|
|
39836
|
-
}
|
|
39837
|
-
};
|
|
39838
|
-
|
|
39839
|
-
var getListLanguage = function getListLanguage() {
|
|
39840
|
-
try {
|
|
39841
|
-
var _temp6 = _catch(function () {
|
|
39842
|
-
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
39843
|
-
setLanguageList(res.data);
|
|
39844
|
-
});
|
|
39845
|
-
}, function (err) {
|
|
39846
|
-
var _err$response2, _err$response2$data;
|
|
39847
|
-
|
|
39848
|
-
dispatch(setAlert({
|
|
39849
|
-
type: "danger",
|
|
39850
|
-
message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
|
|
39851
|
-
}));
|
|
39852
|
-
});
|
|
39853
|
-
|
|
39854
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
39855
|
-
} catch (e) {
|
|
39856
|
-
return Promise.reject(e);
|
|
39857
|
-
}
|
|
39858
|
-
};
|
|
39859
|
-
|
|
39860
|
-
React.useEffect(function () {
|
|
39861
|
-
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
39862
|
-
getListLanguage();
|
|
39863
|
-
}, []);
|
|
39864
|
-
return {
|
|
39865
|
-
languageList: languageList,
|
|
39866
|
-
toggle: toggle,
|
|
39867
|
-
dropdownOpen: dropdownOpen,
|
|
39868
|
-
currentLang: currentLang,
|
|
39869
|
-
changeLanguageApp: changeLanguageApp,
|
|
39870
|
-
setCurrentLang: setCurrentLang
|
|
39871
|
-
};
|
|
39872
|
-
};
|
|
39873
|
-
|
|
39874
|
-
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
39875
|
-
var _useLanguages = useLanguages(),
|
|
39876
|
-
languageList = _useLanguages.languageList,
|
|
39877
|
-
toggle = _useLanguages.toggle,
|
|
39878
|
-
dropdownOpen = _useLanguages.dropdownOpen,
|
|
39879
|
-
currentLang = _useLanguages.currentLang,
|
|
39880
|
-
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
39881
|
-
|
|
39882
|
-
var currentLanguage = React.useMemo(function () {
|
|
39883
|
-
var current = languageList.find(function (i) {
|
|
39884
|
-
return i.code === currentLang;
|
|
39885
|
-
});
|
|
39886
|
-
if (!current) return null;
|
|
39887
|
-
return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
|
|
39888
|
-
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
39889
|
-
src: "" + getStaticFileUrl(current.image)
|
|
39890
|
-
}), " ", current.name);
|
|
39891
|
-
}, [currentLang, languageList]);
|
|
39892
|
-
return React__default.createElement(reactstrap.Dropdown, {
|
|
39893
|
-
isOpen: dropdownOpen,
|
|
39894
|
-
toggle: toggle,
|
|
39895
|
-
className: "" + styles["dropdown-menu"]
|
|
39896
|
-
}, React__default.createElement(reactstrap.DropdownToggle, {
|
|
39897
|
-
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
39898
|
-
}, React__default.createElement("span", {
|
|
39899
|
-
style: {
|
|
39900
|
-
color: "#000",
|
|
39901
|
-
textTransform: "capitalize",
|
|
39902
|
-
display: 'flex',
|
|
39903
|
-
alignItems: 'center'
|
|
39904
|
-
}
|
|
39905
|
-
}, currentLanguage, React__default.createElement(bs.BsChevronDown, {
|
|
39906
|
-
className: "ml-2",
|
|
39907
|
-
style: {
|
|
39908
|
-
fontSize: '10px'
|
|
39909
|
-
}
|
|
39910
|
-
}))), React__default.createElement(reactstrap.DropdownMenu, {
|
|
39911
|
-
className: styles["dropdown-content-language"]
|
|
39912
|
-
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
39913
|
-
return React__default.createElement(reactstrap.DropdownItem, {
|
|
39914
|
-
key: lang.code,
|
|
39915
|
-
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
39916
|
-
onClick: function onClick() {
|
|
39917
|
-
return changeLanguageApp(lang.code);
|
|
39918
|
-
}
|
|
39919
|
-
}, React__default.createElement("div", {
|
|
39920
|
-
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
39921
|
-
}, React__default.createElement("span", {
|
|
39922
|
-
className: "mr-2 d-flex hover-opacity"
|
|
39923
|
-
}, React__default.createElement("img", {
|
|
39924
|
-
style: {
|
|
39925
|
-
width: "30px",
|
|
39926
|
-
height: "25px",
|
|
39927
|
-
borderRadius: "5px"
|
|
39928
|
-
},
|
|
39929
|
-
src: getStaticFileUrl(lang.image)
|
|
39930
|
-
})), lang.name));
|
|
39931
|
-
})));
|
|
39932
|
-
};
|
|
39933
|
-
|
|
39934
|
-
var TheHeader = function TheHeader(_ref) {
|
|
39935
|
-
var onToggleModel = _ref.onToggleModel;
|
|
39936
|
-
var dispatch = reactRedux.useDispatch();
|
|
39937
|
-
var sidebarShow = reactRedux.useSelector(function (state) {
|
|
39938
|
-
return state.common.sidebarShow;
|
|
39939
|
-
});
|
|
39940
|
-
|
|
39941
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
39942
|
-
t = _useTranslation.t;
|
|
39943
|
-
|
|
39944
|
-
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
39945
|
-
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
39946
|
-
dispatch(setSidebar(val));
|
|
39947
|
-
};
|
|
39948
|
-
|
|
39949
|
-
var isDistrict = window.location.host.includes("-district");
|
|
39950
|
-
return React__default.createElement(react.CHeader, {
|
|
39951
|
-
withSubheader: true,
|
|
39952
|
-
className: "d-flex align-items-center justify-content-end"
|
|
39953
|
-
}, React__default.createElement(react.CToggler, {
|
|
39954
|
-
inHeader: true,
|
|
39955
|
-
className: "ml-md-3 d-lg-none",
|
|
39956
|
-
onClick: toggleSidebarMobile
|
|
39957
|
-
}), React__default.createElement(react.CHeaderBrand, {
|
|
39958
|
-
className: "mx-auto flex-grow-1 d-lg-none",
|
|
39959
|
-
to: "/"
|
|
39960
|
-
}, React__default.createElement("img", {
|
|
39961
|
-
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
39962
|
-
className: styles["header-logo"]
|
|
39963
|
-
})), React__default.createElement(react.CHeaderNav, {
|
|
39964
|
-
className: "pr-3"
|
|
39965
|
-
}, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
|
|
39966
|
-
className: "mr-3",
|
|
39967
|
-
style: {
|
|
39968
|
-
color: '#000'
|
|
39969
|
-
},
|
|
39970
|
-
href: '/privacy-policy',
|
|
39971
|
-
target: "blank"
|
|
39972
|
-
}, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
|
|
39973
|
-
onToggleModel: onToggleModel
|
|
39974
|
-
})));
|
|
39975
|
-
};
|
|
39976
|
-
|
|
39977
39794
|
var TITLE$3 = "Not found";
|
|
39978
39795
|
|
|
39979
39796
|
var NotFound = function NotFound() {
|
|
@@ -40031,277 +39848,25 @@ var TheContent = function TheContent(_ref) {
|
|
|
40031
39848
|
|
|
40032
39849
|
var TheContent$1 = React__default.memo(TheContent);
|
|
40033
39850
|
|
|
40034
|
-
var
|
|
40035
|
-
|
|
40036
|
-
|
|
40037
|
-
|
|
40038
|
-
|
|
40039
|
-
left: 0,
|
|
40040
|
-
zIndex: 999999999,
|
|
40041
|
-
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
40042
|
-
display: "flex",
|
|
40043
|
-
justifyContent: "center",
|
|
40044
|
-
alignItems: "center"
|
|
39851
|
+
var buttonTextStyle = {
|
|
39852
|
+
fontWeight: 500
|
|
39853
|
+
};
|
|
39854
|
+
var buttonStyle = {
|
|
39855
|
+
height: 38
|
|
40045
39856
|
};
|
|
40046
39857
|
|
|
40047
|
-
var
|
|
40048
|
-
var
|
|
40049
|
-
|
|
40050
|
-
|
|
40051
|
-
|
|
40052
|
-
|
|
40053
|
-
style:
|
|
40054
|
-
|
|
40055
|
-
|
|
40056
|
-
|
|
40057
|
-
|
|
40058
|
-
|
|
40059
|
-
}, "Loading..."))) : null;
|
|
40060
|
-
};
|
|
40061
|
-
|
|
40062
|
-
var firstCheckToken = function firstCheckToken() {
|
|
40063
|
-
return Promise.resolve(_catch(function () {
|
|
40064
|
-
var token = getAccessToken();
|
|
40065
|
-
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
40066
|
-
return tokenStatus.data ? true : false;
|
|
40067
|
-
}) : false;
|
|
40068
|
-
}, function () {
|
|
40069
|
-
return false;
|
|
40070
|
-
}));
|
|
40071
|
-
};
|
|
40072
|
-
|
|
40073
|
-
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
40074
|
-
if (!Array.isArray(userRoles)) {
|
|
40075
|
-
return false;
|
|
40076
|
-
}
|
|
40077
|
-
|
|
40078
|
-
if (Array.isArray(componentRoles)) {
|
|
40079
|
-
var intersects = userRoles.filter(function (i) {
|
|
40080
|
-
return componentRoles.includes(i);
|
|
40081
|
-
});
|
|
40082
|
-
return intersects.length > 0;
|
|
40083
|
-
}
|
|
40084
|
-
|
|
40085
|
-
return true;
|
|
40086
|
-
};
|
|
40087
|
-
|
|
40088
|
-
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
40089
|
-
var _handleUserRole;
|
|
40090
|
-
|
|
40091
|
-
var open = _ref.open,
|
|
40092
|
-
onToggleModel = _ref.onToggleModel;
|
|
40093
|
-
var dispatch = reactRedux.useDispatch();
|
|
40094
|
-
|
|
40095
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
40096
|
-
t = _useTranslation.t;
|
|
40097
|
-
|
|
40098
|
-
var history = reactRouterDom.useHistory();
|
|
40099
|
-
var pathname = window.location.pathname;
|
|
40100
|
-
var user = reactRedux.useSelector(function (state) {
|
|
40101
|
-
return state.common.user;
|
|
40102
|
-
});
|
|
40103
|
-
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
40104
|
-
|
|
40105
|
-
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
40106
|
-
dispatch(setLoading(true));
|
|
40107
|
-
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
40108
|
-
dispatch(setUser(_extends({}, user, {
|
|
40109
|
-
roles: roleSelect
|
|
40110
|
-
})));
|
|
40111
|
-
localStorage.setItem("ROLES", roleSelect.toString());
|
|
40112
|
-
onToggleModel();
|
|
40113
|
-
|
|
40114
|
-
if (roles.includes("Parent")) {
|
|
40115
|
-
history.push("/parent");
|
|
40116
|
-
} else if (roles.includes("Admin")) {
|
|
40117
|
-
history.push("/admin/home");
|
|
40118
|
-
} else {
|
|
40119
|
-
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
40120
|
-
}
|
|
40121
|
-
};
|
|
40122
|
-
|
|
40123
|
-
return React__default.createElement(reactstrap.Modal, {
|
|
40124
|
-
isOpen: open,
|
|
40125
|
-
toggle: function toggle() {
|
|
40126
|
-
return onToggleModel();
|
|
40127
|
-
},
|
|
40128
|
-
className: "" + styles["model-switch-roles"],
|
|
40129
|
-
centered: true
|
|
40130
|
-
}, React__default.createElement("p", {
|
|
40131
|
-
className: "" + styles["title"]
|
|
40132
|
-
}, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
40133
|
-
return React__default.createElement("p", {
|
|
40134
|
-
key: r,
|
|
40135
|
-
className: styles["item-select-role"] + " " + styles[roles.includes("Teacher") && roles.includes("Assistant") && r === "Teacher/Assistant" && !roles.includes("Admin") || roles.includes("Admin") && r === "Admin" || roles.includes(r) && !roles.includes("Admin") ? "item-role-active" : ""],
|
|
40136
|
-
onClick: function onClick() {
|
|
40137
|
-
return handleSelectUserRoles([r]);
|
|
40138
|
-
}
|
|
40139
|
-
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
40140
|
-
})));
|
|
40141
|
-
};
|
|
40142
|
-
|
|
40143
|
-
var TheLayout = function TheLayout(_ref) {
|
|
40144
|
-
var routes = _ref.routes,
|
|
40145
|
-
navigation = _ref.navigation;
|
|
40146
|
-
var history = reactRouterDom.useHistory();
|
|
40147
|
-
var dispatch = reactRedux.useDispatch();
|
|
40148
|
-
var user = reactRedux.useSelector(function (state) {
|
|
40149
|
-
return state.common.user;
|
|
40150
|
-
});
|
|
40151
|
-
var language = reactRedux.useSelector(function (state) {
|
|
40152
|
-
return state.common.language;
|
|
40153
|
-
});
|
|
40154
|
-
|
|
40155
|
-
var _useState = React.useState(false),
|
|
40156
|
-
openModelSelectRole = _useState[0],
|
|
40157
|
-
setOpenModelSelectRole = _useState[1];
|
|
40158
|
-
|
|
40159
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
40160
|
-
t = _useTranslation.t;
|
|
40161
|
-
|
|
40162
|
-
var location = reactRouterDom.useLocation();
|
|
40163
|
-
var isNotification = location.pathname.includes("notifications");
|
|
40164
|
-
var isDistrict = window.location.host.includes("-district");
|
|
40165
|
-
|
|
40166
|
-
var handleToggleModel = function handleToggleModel() {
|
|
40167
|
-
setOpenModelSelectRole(!openModelSelectRole);
|
|
40168
|
-
};
|
|
40169
|
-
|
|
40170
|
-
var authRoutes = React.useMemo(function () {
|
|
40171
|
-
return routes.filter(function (route) {
|
|
40172
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
40173
|
-
}).filter(function (route) {
|
|
40174
|
-
return !!route.isDistrict === isDistrict;
|
|
40175
|
-
});
|
|
40176
|
-
}, [user, language]);
|
|
40177
|
-
var authNavigations = React.useMemo(function () {
|
|
40178
|
-
return navigation.map(function (item) {
|
|
40179
|
-
var _item$_children, _item$_children2;
|
|
40180
|
-
|
|
40181
|
-
return _extends({}, item, {
|
|
40182
|
-
name: t(item.name),
|
|
40183
|
-
_children: item !== null && item !== void 0 && (_item$_children = item._children) !== null && _item$_children !== void 0 && _item$_children.length ? item === null || item === void 0 ? void 0 : (_item$_children2 = item._children) === null || _item$_children2 === void 0 ? void 0 : _item$_children2.map(function (x) {
|
|
40184
|
-
return _extends({}, x, {
|
|
40185
|
-
name: t(x.name)
|
|
40186
|
-
});
|
|
40187
|
-
}) : undefined
|
|
40188
|
-
});
|
|
40189
|
-
}).filter(function (nav) {
|
|
40190
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
40191
|
-
}).filter(function (nav) {
|
|
40192
|
-
return !!nav.isDistrict === isDistrict;
|
|
40193
|
-
});
|
|
40194
|
-
}, [user, language]);
|
|
40195
|
-
|
|
40196
|
-
var getInformationSetting = function getInformationSetting() {
|
|
40197
|
-
try {
|
|
40198
|
-
var _temp2 = _catch(function () {
|
|
40199
|
-
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
40200
|
-
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
40201
|
-
});
|
|
40202
|
-
}, function (err) {
|
|
40203
|
-
console.error(err);
|
|
40204
|
-
});
|
|
40205
|
-
|
|
40206
|
-
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
40207
|
-
} catch (e) {
|
|
40208
|
-
return Promise.reject(e);
|
|
40209
|
-
}
|
|
40210
|
-
};
|
|
40211
|
-
|
|
40212
|
-
React.useEffect(function () {
|
|
40213
|
-
checkAuthentication();
|
|
40214
|
-
}, []);
|
|
40215
|
-
React.useEffect(function () {
|
|
40216
|
-
getInformationSetting();
|
|
40217
|
-
}, [location.pathname]);
|
|
40218
|
-
|
|
40219
|
-
var checkAuthentication = function checkAuthentication() {
|
|
40220
|
-
try {
|
|
40221
|
-
var _temp4 = _catch(function () {
|
|
40222
|
-
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
40223
|
-
tokenStatus ? loadInfo() : resetAuth();
|
|
40224
|
-
});
|
|
40225
|
-
}, function () {
|
|
40226
|
-
resetAuth();
|
|
40227
|
-
});
|
|
40228
|
-
|
|
40229
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
40230
|
-
} catch (e) {
|
|
40231
|
-
return Promise.reject(e);
|
|
40232
|
-
}
|
|
40233
|
-
};
|
|
40234
|
-
|
|
40235
|
-
var loadInfo = function loadInfo() {
|
|
40236
|
-
try {
|
|
40237
|
-
var _temp6 = _catch(function () {
|
|
40238
|
-
return Promise.resolve(getInfo()).then(function (info) {
|
|
40239
|
-
var _info$data, _info$data$roles;
|
|
40240
|
-
|
|
40241
|
-
if (!info || !(info !== null && info !== void 0 && (_info$data = info.data) !== null && _info$data !== void 0 && (_info$data$roles = _info$data.roles) !== null && _info$data$roles !== void 0 && _info$data$roles.includes("Admin"))) {
|
|
40242
|
-
resetAuth();
|
|
40243
|
-
}
|
|
40244
|
-
|
|
40245
|
-
dispatch(setUser(info.data));
|
|
40246
|
-
});
|
|
40247
|
-
}, function () {
|
|
40248
|
-
resetAuth();
|
|
40249
|
-
});
|
|
40250
|
-
|
|
40251
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
40252
|
-
} catch (e) {
|
|
40253
|
-
return Promise.reject(e);
|
|
40254
|
-
}
|
|
40255
|
-
};
|
|
40256
|
-
|
|
40257
|
-
var resetAuth = function resetAuth() {
|
|
40258
|
-
localStorage.removeItem(ACCESS_TOKEN);
|
|
40259
|
-
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
40260
|
-
localStorage.removeItem("ROLES");
|
|
40261
|
-
history.push("/");
|
|
40262
|
-
};
|
|
40263
|
-
|
|
40264
|
-
if (!user) {
|
|
40265
|
-
return React__default.createElement(Loading, null);
|
|
40266
|
-
}
|
|
40267
|
-
|
|
40268
|
-
return React__default.createElement("div", {
|
|
40269
|
-
className: "c-app c-default-layout"
|
|
40270
|
-
}, !isNotification && React__default.createElement(TheSidebar, {
|
|
40271
|
-
navigation: authNavigations
|
|
40272
|
-
}), React__default.createElement("div", {
|
|
40273
|
-
className: "c-wrapper"
|
|
40274
|
-
}, !isNotification && React__default.createElement(TheHeader, {
|
|
40275
|
-
onToggleModel: handleToggleModel
|
|
40276
|
-
}), React__default.createElement("div", {
|
|
40277
|
-
className: "c-body bg-white"
|
|
40278
|
-
}, React__default.createElement(TheContent$1, {
|
|
40279
|
-
routes: authRoutes
|
|
40280
|
-
}))), React__default.createElement(ModelSelectRole, {
|
|
40281
|
-
open: openModelSelectRole,
|
|
40282
|
-
onToggleModel: handleToggleModel
|
|
40283
|
-
}));
|
|
40284
|
-
};
|
|
40285
|
-
|
|
40286
|
-
var buttonTextStyle = {
|
|
40287
|
-
fontWeight: 500
|
|
40288
|
-
};
|
|
40289
|
-
var buttonStyle = {
|
|
40290
|
-
height: 38
|
|
40291
|
-
};
|
|
40292
|
-
|
|
40293
|
-
var AddButton = function AddButton(_ref) {
|
|
40294
|
-
var text = _ref.text,
|
|
40295
|
-
onClick = _ref.onClick;
|
|
40296
|
-
return React__default.createElement(reactstrap.Button, {
|
|
40297
|
-
onClick: onClick,
|
|
40298
|
-
color: 'success',
|
|
40299
|
-
style: buttonStyle,
|
|
40300
|
-
className: 'd-flex align-items-center'
|
|
40301
|
-
}, React__default.createElement(fa.FaPlus, null), React__default.createElement("span", {
|
|
40302
|
-
className: 'ml-2',
|
|
40303
|
-
style: buttonTextStyle
|
|
40304
|
-
}, text));
|
|
39858
|
+
var AddButton = function AddButton(_ref) {
|
|
39859
|
+
var text = _ref.text,
|
|
39860
|
+
onClick = _ref.onClick;
|
|
39861
|
+
return React__default.createElement(reactstrap.Button, {
|
|
39862
|
+
onClick: onClick,
|
|
39863
|
+
color: 'success',
|
|
39864
|
+
style: buttonStyle,
|
|
39865
|
+
className: 'd-flex align-items-center'
|
|
39866
|
+
}, React__default.createElement(fa.FaPlus, null), React__default.createElement("span", {
|
|
39867
|
+
className: 'ml-2',
|
|
39868
|
+
style: buttonTextStyle
|
|
39869
|
+
}, text));
|
|
40305
39870
|
};
|
|
40306
39871
|
|
|
40307
39872
|
var DeleteButtonIcon = function DeleteButtonIcon(_ref) {
|
|
@@ -46095,17 +45660,45 @@ var UserDetail = function UserDetail() {
|
|
|
46095
45660
|
});
|
|
46096
45661
|
};
|
|
46097
45662
|
|
|
46098
|
-
var
|
|
46099
|
-
|
|
46100
|
-
|
|
46101
|
-
|
|
46102
|
-
|
|
46103
|
-
|
|
46104
|
-
|
|
46105
|
-
|
|
46106
|
-
|
|
46107
|
-
|
|
46108
|
-
|
|
45663
|
+
var loadingStyle = {
|
|
45664
|
+
minWidth: "100vw",
|
|
45665
|
+
minHeight: "100vh",
|
|
45666
|
+
position: "fixed",
|
|
45667
|
+
top: 0,
|
|
45668
|
+
left: 0,
|
|
45669
|
+
zIndex: 999999999,
|
|
45670
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
45671
|
+
display: "flex",
|
|
45672
|
+
justifyContent: "center",
|
|
45673
|
+
alignItems: "center"
|
|
45674
|
+
};
|
|
45675
|
+
|
|
45676
|
+
var Loading = function Loading() {
|
|
45677
|
+
var isLoading = reactRedux.useSelector(function (state) {
|
|
45678
|
+
return state.common.isLoading;
|
|
45679
|
+
});
|
|
45680
|
+
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
45681
|
+
return isLoading ? React__default.createElement("div", {
|
|
45682
|
+
style: loadingStyle
|
|
45683
|
+
}, React__default.createElement("div", {
|
|
45684
|
+
className: "spinner-border text-secondary",
|
|
45685
|
+
role: "status"
|
|
45686
|
+
}, React__default.createElement("span", {
|
|
45687
|
+
className: "sr-only"
|
|
45688
|
+
}, "Loading..."))) : null;
|
|
45689
|
+
};
|
|
45690
|
+
|
|
45691
|
+
var ScrollToTop = function ScrollToTop() {
|
|
45692
|
+
var _useLocation = reactRouterDom.useLocation(),
|
|
45693
|
+
pathname = _useLocation.pathname;
|
|
45694
|
+
|
|
45695
|
+
React.useEffect(function () {
|
|
45696
|
+
window.scrollTo(0, 0);
|
|
45697
|
+
}, [pathname]);
|
|
45698
|
+
return null;
|
|
45699
|
+
};
|
|
45700
|
+
|
|
45701
|
+
var modalInfo = function modalInfo(type) {
|
|
46109
45702
|
switch (type) {
|
|
46110
45703
|
case "danger":
|
|
46111
45704
|
return {
|
|
@@ -49114,6 +48707,32 @@ var store = toolkit.configureStore({
|
|
|
49114
48707
|
}
|
|
49115
48708
|
});
|
|
49116
48709
|
|
|
48710
|
+
var firstCheckToken = function firstCheckToken() {
|
|
48711
|
+
return Promise.resolve(_catch(function () {
|
|
48712
|
+
var token = getAccessToken();
|
|
48713
|
+
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
48714
|
+
return tokenStatus.data ? true : false;
|
|
48715
|
+
}) : false;
|
|
48716
|
+
}, function () {
|
|
48717
|
+
return false;
|
|
48718
|
+
}));
|
|
48719
|
+
};
|
|
48720
|
+
|
|
48721
|
+
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
48722
|
+
if (!Array.isArray(userRoles)) {
|
|
48723
|
+
return false;
|
|
48724
|
+
}
|
|
48725
|
+
|
|
48726
|
+
if (Array.isArray(componentRoles)) {
|
|
48727
|
+
var intersects = userRoles.filter(function (i) {
|
|
48728
|
+
return componentRoles.includes(i);
|
|
48729
|
+
});
|
|
48730
|
+
return intersects.length > 0;
|
|
48731
|
+
}
|
|
48732
|
+
|
|
48733
|
+
return true;
|
|
48734
|
+
};
|
|
48735
|
+
|
|
49117
48736
|
var isInViewport = function isInViewport(el) {
|
|
49118
48737
|
var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
|
|
49119
48738
|
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
@@ -49149,6 +48768,412 @@ var generateRandomString = (function () {
|
|
|
49149
48768
|
|
|
49150
48769
|
var amplitudeClient = amplitude.getInstance();
|
|
49151
48770
|
|
|
48771
|
+
var apiGetLanguage = function apiGetLanguage() {
|
|
48772
|
+
return api.get(BASE_URL + "/api/language");
|
|
48773
|
+
};
|
|
48774
|
+
|
|
48775
|
+
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
48776
|
+
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
48777
|
+
};
|
|
48778
|
+
|
|
48779
|
+
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
48780
|
+
|
|
48781
|
+
var useLanguages = function useLanguages() {
|
|
48782
|
+
var dispatch = reactRedux.useDispatch();
|
|
48783
|
+
|
|
48784
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
48785
|
+
i18n = _useTranslation.i18n;
|
|
48786
|
+
|
|
48787
|
+
var language = reactRedux.useSelector(function (state) {
|
|
48788
|
+
return state.common.language;
|
|
48789
|
+
});
|
|
48790
|
+
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
48791
|
+
|
|
48792
|
+
var _useState = React.useState([]),
|
|
48793
|
+
languageList = _useState[0],
|
|
48794
|
+
setLanguageList = _useState[1];
|
|
48795
|
+
|
|
48796
|
+
var _useState2 = React.useState(false),
|
|
48797
|
+
dropdownOpen = _useState2[0],
|
|
48798
|
+
setDropdownOpen = _useState2[1];
|
|
48799
|
+
|
|
48800
|
+
var _useState3 = React.useState(defaultLanguage),
|
|
48801
|
+
currentLang = _useState3[0],
|
|
48802
|
+
setCurrentLang = _useState3[1];
|
|
48803
|
+
|
|
48804
|
+
var toggle = function toggle() {
|
|
48805
|
+
return setDropdownOpen(function (prevState) {
|
|
48806
|
+
return !prevState;
|
|
48807
|
+
});
|
|
48808
|
+
};
|
|
48809
|
+
|
|
48810
|
+
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
48811
|
+
try {
|
|
48812
|
+
var _temp3 = function _temp3() {
|
|
48813
|
+
dispatch(setLoading(false));
|
|
48814
|
+
};
|
|
48815
|
+
|
|
48816
|
+
dispatch(setLoading(true));
|
|
48817
|
+
|
|
48818
|
+
var _temp4 = _catch(function () {
|
|
48819
|
+
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
48820
|
+
i18n.changeLanguage(lang);
|
|
48821
|
+
setCurrentLang(lang);
|
|
48822
|
+
dispatch(setLanguage(lang));
|
|
48823
|
+
});
|
|
48824
|
+
}, function (err) {
|
|
48825
|
+
var _err$response, _err$response$data;
|
|
48826
|
+
|
|
48827
|
+
dispatch(setAlert({
|
|
48828
|
+
type: "danger",
|
|
48829
|
+
message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
|
|
48830
|
+
}));
|
|
48831
|
+
});
|
|
48832
|
+
|
|
48833
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
48834
|
+
} catch (e) {
|
|
48835
|
+
return Promise.reject(e);
|
|
48836
|
+
}
|
|
48837
|
+
};
|
|
48838
|
+
|
|
48839
|
+
var getListLanguage = function getListLanguage() {
|
|
48840
|
+
try {
|
|
48841
|
+
var _temp6 = _catch(function () {
|
|
48842
|
+
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
48843
|
+
setLanguageList(res.data);
|
|
48844
|
+
});
|
|
48845
|
+
}, function (err) {
|
|
48846
|
+
var _err$response2, _err$response2$data;
|
|
48847
|
+
|
|
48848
|
+
dispatch(setAlert({
|
|
48849
|
+
type: "danger",
|
|
48850
|
+
message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
|
|
48851
|
+
}));
|
|
48852
|
+
});
|
|
48853
|
+
|
|
48854
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
48855
|
+
} catch (e) {
|
|
48856
|
+
return Promise.reject(e);
|
|
48857
|
+
}
|
|
48858
|
+
};
|
|
48859
|
+
|
|
48860
|
+
React.useEffect(function () {
|
|
48861
|
+
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
48862
|
+
getListLanguage();
|
|
48863
|
+
}, []);
|
|
48864
|
+
return {
|
|
48865
|
+
languageList: languageList,
|
|
48866
|
+
toggle: toggle,
|
|
48867
|
+
dropdownOpen: dropdownOpen,
|
|
48868
|
+
currentLang: currentLang,
|
|
48869
|
+
changeLanguageApp: changeLanguageApp,
|
|
48870
|
+
setCurrentLang: setCurrentLang
|
|
48871
|
+
};
|
|
48872
|
+
};
|
|
48873
|
+
|
|
48874
|
+
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
48875
|
+
var _useLanguages = useLanguages(),
|
|
48876
|
+
languageList = _useLanguages.languageList,
|
|
48877
|
+
toggle = _useLanguages.toggle,
|
|
48878
|
+
dropdownOpen = _useLanguages.dropdownOpen,
|
|
48879
|
+
currentLang = _useLanguages.currentLang,
|
|
48880
|
+
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
48881
|
+
|
|
48882
|
+
var currentLanguage = React.useMemo(function () {
|
|
48883
|
+
var current = languageList.find(function (i) {
|
|
48884
|
+
return i.code === currentLang;
|
|
48885
|
+
});
|
|
48886
|
+
if (!current) return null;
|
|
48887
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
|
|
48888
|
+
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
48889
|
+
src: "" + getStaticFileUrl(current.image)
|
|
48890
|
+
}), " ", current.name);
|
|
48891
|
+
}, [currentLang, languageList]);
|
|
48892
|
+
return React__default.createElement(reactstrap.Dropdown, {
|
|
48893
|
+
isOpen: dropdownOpen,
|
|
48894
|
+
toggle: toggle,
|
|
48895
|
+
className: "" + styles["dropdown-menu"]
|
|
48896
|
+
}, React__default.createElement(reactstrap.DropdownToggle, {
|
|
48897
|
+
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
48898
|
+
}, React__default.createElement("span", {
|
|
48899
|
+
style: {
|
|
48900
|
+
color: "#000",
|
|
48901
|
+
textTransform: "capitalize",
|
|
48902
|
+
display: 'flex',
|
|
48903
|
+
alignItems: 'center'
|
|
48904
|
+
}
|
|
48905
|
+
}, currentLanguage, React__default.createElement(bs.BsChevronDown, {
|
|
48906
|
+
className: "ml-2",
|
|
48907
|
+
style: {
|
|
48908
|
+
fontSize: '10px'
|
|
48909
|
+
}
|
|
48910
|
+
}))), React__default.createElement(reactstrap.DropdownMenu, {
|
|
48911
|
+
className: styles["dropdown-content-language"]
|
|
48912
|
+
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
48913
|
+
return React__default.createElement(reactstrap.DropdownItem, {
|
|
48914
|
+
key: lang.code,
|
|
48915
|
+
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
48916
|
+
onClick: function onClick() {
|
|
48917
|
+
return changeLanguageApp(lang.code);
|
|
48918
|
+
}
|
|
48919
|
+
}, React__default.createElement("div", {
|
|
48920
|
+
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
48921
|
+
}, React__default.createElement("span", {
|
|
48922
|
+
className: "mr-2 d-flex hover-opacity"
|
|
48923
|
+
}, React__default.createElement("img", {
|
|
48924
|
+
style: {
|
|
48925
|
+
width: "30px",
|
|
48926
|
+
height: "25px",
|
|
48927
|
+
borderRadius: "5px"
|
|
48928
|
+
},
|
|
48929
|
+
src: getStaticFileUrl(lang.image)
|
|
48930
|
+
})), lang.name));
|
|
48931
|
+
})));
|
|
48932
|
+
};
|
|
48933
|
+
|
|
48934
|
+
var TheHeader = function TheHeader(_ref) {
|
|
48935
|
+
var onToggleModel = _ref.onToggleModel;
|
|
48936
|
+
var dispatch = reactRedux.useDispatch();
|
|
48937
|
+
var sidebarShow = reactRedux.useSelector(function (state) {
|
|
48938
|
+
return state.common.sidebarShow;
|
|
48939
|
+
});
|
|
48940
|
+
|
|
48941
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
48942
|
+
t = _useTranslation.t;
|
|
48943
|
+
|
|
48944
|
+
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
48945
|
+
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
48946
|
+
dispatch(setSidebar(val));
|
|
48947
|
+
};
|
|
48948
|
+
|
|
48949
|
+
var isDistrict = window.location.host.includes("-district");
|
|
48950
|
+
return React__default.createElement(react.CHeader, {
|
|
48951
|
+
withSubheader: true,
|
|
48952
|
+
className: "d-flex align-items-center justify-content-end"
|
|
48953
|
+
}, React__default.createElement(react.CToggler, {
|
|
48954
|
+
inHeader: true,
|
|
48955
|
+
className: "ml-md-3 d-lg-none",
|
|
48956
|
+
onClick: toggleSidebarMobile
|
|
48957
|
+
}), React__default.createElement(react.CHeaderBrand, {
|
|
48958
|
+
className: "mx-auto flex-grow-1 d-lg-none",
|
|
48959
|
+
to: "/"
|
|
48960
|
+
}, React__default.createElement("img", {
|
|
48961
|
+
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
48962
|
+
className: styles["header-logo"]
|
|
48963
|
+
})), React__default.createElement(react.CHeaderNav, {
|
|
48964
|
+
className: "pr-3"
|
|
48965
|
+
}, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
|
|
48966
|
+
className: "mr-3",
|
|
48967
|
+
style: {
|
|
48968
|
+
color: '#000'
|
|
48969
|
+
},
|
|
48970
|
+
href: '/privacy-policy',
|
|
48971
|
+
target: "blank"
|
|
48972
|
+
}, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
|
|
48973
|
+
onToggleModel: onToggleModel
|
|
48974
|
+
})));
|
|
48975
|
+
};
|
|
48976
|
+
|
|
48977
|
+
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
48978
|
+
var _handleUserRole;
|
|
48979
|
+
|
|
48980
|
+
var open = _ref.open,
|
|
48981
|
+
onToggleModel = _ref.onToggleModel;
|
|
48982
|
+
var dispatch = reactRedux.useDispatch();
|
|
48983
|
+
|
|
48984
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
48985
|
+
t = _useTranslation.t;
|
|
48986
|
+
|
|
48987
|
+
var history = reactRouterDom.useHistory();
|
|
48988
|
+
var pathname = window.location.pathname;
|
|
48989
|
+
var user = reactRedux.useSelector(function (state) {
|
|
48990
|
+
return state.common.user;
|
|
48991
|
+
});
|
|
48992
|
+
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
48993
|
+
|
|
48994
|
+
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
48995
|
+
dispatch(setLoading(true));
|
|
48996
|
+
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
48997
|
+
dispatch(setUser(_extends({}, user, {
|
|
48998
|
+
roles: roleSelect
|
|
48999
|
+
})));
|
|
49000
|
+
localStorage.setItem("ROLES", roleSelect.toString());
|
|
49001
|
+
onToggleModel();
|
|
49002
|
+
|
|
49003
|
+
if (roles.includes("Parent")) {
|
|
49004
|
+
history.push("/parent");
|
|
49005
|
+
} else if (roles.includes("Admin")) {
|
|
49006
|
+
history.push("/admin/home");
|
|
49007
|
+
} else {
|
|
49008
|
+
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
49009
|
+
}
|
|
49010
|
+
};
|
|
49011
|
+
|
|
49012
|
+
return React__default.createElement(reactstrap.Modal, {
|
|
49013
|
+
isOpen: open,
|
|
49014
|
+
toggle: function toggle() {
|
|
49015
|
+
return onToggleModel();
|
|
49016
|
+
},
|
|
49017
|
+
className: "" + styles["model-switch-roles"],
|
|
49018
|
+
centered: true
|
|
49019
|
+
}, React__default.createElement("p", {
|
|
49020
|
+
className: "" + styles["title"]
|
|
49021
|
+
}, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
49022
|
+
return React__default.createElement("p", {
|
|
49023
|
+
key: r,
|
|
49024
|
+
className: styles["item-select-role"] + " " + styles[roles.includes("Teacher") && roles.includes("Assistant") && r === "Teacher/Assistant" && !roles.includes("Admin") || roles.includes("Admin") && r === "Admin" || roles.includes(r) && !roles.includes("Admin") ? "item-role-active" : ""],
|
|
49025
|
+
onClick: function onClick() {
|
|
49026
|
+
return handleSelectUserRoles([r]);
|
|
49027
|
+
}
|
|
49028
|
+
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
49029
|
+
})));
|
|
49030
|
+
};
|
|
49031
|
+
|
|
49032
|
+
var TheLayout = function TheLayout(_ref) {
|
|
49033
|
+
var routes = _ref.routes,
|
|
49034
|
+
navigation = _ref.navigation;
|
|
49035
|
+
var history = reactRouterDom.useHistory();
|
|
49036
|
+
var dispatch = reactRedux.useDispatch();
|
|
49037
|
+
var user = reactRedux.useSelector(function (state) {
|
|
49038
|
+
return state.common.user;
|
|
49039
|
+
});
|
|
49040
|
+
var language = reactRedux.useSelector(function (state) {
|
|
49041
|
+
return state.common.language;
|
|
49042
|
+
});
|
|
49043
|
+
|
|
49044
|
+
var _useState = React.useState(false),
|
|
49045
|
+
openModelSelectRole = _useState[0],
|
|
49046
|
+
setOpenModelSelectRole = _useState[1];
|
|
49047
|
+
|
|
49048
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
49049
|
+
t = _useTranslation.t;
|
|
49050
|
+
|
|
49051
|
+
var location = reactRouterDom.useLocation();
|
|
49052
|
+
var isNotification = location.pathname.includes("notifications");
|
|
49053
|
+
var isDistrict = window.location.host.includes("-district");
|
|
49054
|
+
|
|
49055
|
+
var handleToggleModel = function handleToggleModel() {
|
|
49056
|
+
setOpenModelSelectRole(!openModelSelectRole);
|
|
49057
|
+
};
|
|
49058
|
+
|
|
49059
|
+
var authRoutes = React.useMemo(function () {
|
|
49060
|
+
return routes.filter(function (route) {
|
|
49061
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
49062
|
+
}).filter(function (route) {
|
|
49063
|
+
return !!route.isDistrict === isDistrict;
|
|
49064
|
+
});
|
|
49065
|
+
}, [user, language]);
|
|
49066
|
+
var authNavigations = React.useMemo(function () {
|
|
49067
|
+
return navigation.map(function (item) {
|
|
49068
|
+
var _item$_children, _item$_children2;
|
|
49069
|
+
|
|
49070
|
+
return _extends({}, item, {
|
|
49071
|
+
name: t(item.name),
|
|
49072
|
+
_children: item !== null && item !== void 0 && (_item$_children = item._children) !== null && _item$_children !== void 0 && _item$_children.length ? item === null || item === void 0 ? void 0 : (_item$_children2 = item._children) === null || _item$_children2 === void 0 ? void 0 : _item$_children2.map(function (x) {
|
|
49073
|
+
return _extends({}, x, {
|
|
49074
|
+
name: t(x.name)
|
|
49075
|
+
});
|
|
49076
|
+
}) : undefined
|
|
49077
|
+
});
|
|
49078
|
+
}).filter(function (nav) {
|
|
49079
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
49080
|
+
}).filter(function (nav) {
|
|
49081
|
+
return !!nav.isDistrict === isDistrict;
|
|
49082
|
+
});
|
|
49083
|
+
}, [user, language]);
|
|
49084
|
+
|
|
49085
|
+
var getInformationSetting = function getInformationSetting() {
|
|
49086
|
+
try {
|
|
49087
|
+
var _temp2 = _catch(function () {
|
|
49088
|
+
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
49089
|
+
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
49090
|
+
});
|
|
49091
|
+
}, function (err) {
|
|
49092
|
+
console.error(err);
|
|
49093
|
+
});
|
|
49094
|
+
|
|
49095
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
49096
|
+
} catch (e) {
|
|
49097
|
+
return Promise.reject(e);
|
|
49098
|
+
}
|
|
49099
|
+
};
|
|
49100
|
+
|
|
49101
|
+
React.useEffect(function () {
|
|
49102
|
+
checkAuthentication();
|
|
49103
|
+
}, []);
|
|
49104
|
+
React.useEffect(function () {
|
|
49105
|
+
getInformationSetting();
|
|
49106
|
+
}, [location.pathname]);
|
|
49107
|
+
|
|
49108
|
+
var checkAuthentication = function checkAuthentication() {
|
|
49109
|
+
try {
|
|
49110
|
+
var _temp4 = _catch(function () {
|
|
49111
|
+
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
49112
|
+
tokenStatus ? loadInfo() : resetAuth();
|
|
49113
|
+
});
|
|
49114
|
+
}, function () {
|
|
49115
|
+
resetAuth();
|
|
49116
|
+
});
|
|
49117
|
+
|
|
49118
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
49119
|
+
} catch (e) {
|
|
49120
|
+
return Promise.reject(e);
|
|
49121
|
+
}
|
|
49122
|
+
};
|
|
49123
|
+
|
|
49124
|
+
var loadInfo = function loadInfo() {
|
|
49125
|
+
try {
|
|
49126
|
+
var _temp6 = _catch(function () {
|
|
49127
|
+
return Promise.resolve(getInfo()).then(function (info) {
|
|
49128
|
+
var _info$data, _info$data$roles;
|
|
49129
|
+
|
|
49130
|
+
if (!info || !(info !== null && info !== void 0 && (_info$data = info.data) !== null && _info$data !== void 0 && (_info$data$roles = _info$data.roles) !== null && _info$data$roles !== void 0 && _info$data$roles.includes("Admin"))) {
|
|
49131
|
+
resetAuth();
|
|
49132
|
+
}
|
|
49133
|
+
|
|
49134
|
+
dispatch(setUser(info.data));
|
|
49135
|
+
});
|
|
49136
|
+
}, function () {
|
|
49137
|
+
resetAuth();
|
|
49138
|
+
});
|
|
49139
|
+
|
|
49140
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
49141
|
+
} catch (e) {
|
|
49142
|
+
return Promise.reject(e);
|
|
49143
|
+
}
|
|
49144
|
+
};
|
|
49145
|
+
|
|
49146
|
+
var resetAuth = function resetAuth() {
|
|
49147
|
+
localStorage.removeItem(ACCESS_TOKEN);
|
|
49148
|
+
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
49149
|
+
localStorage.removeItem("ROLES");
|
|
49150
|
+
history.push("/");
|
|
49151
|
+
};
|
|
49152
|
+
|
|
49153
|
+
if (!user) {
|
|
49154
|
+
return React__default.createElement(Loading, null);
|
|
49155
|
+
}
|
|
49156
|
+
|
|
49157
|
+
return React__default.createElement("div", {
|
|
49158
|
+
className: "c-app c-default-layout"
|
|
49159
|
+
}, !isNotification && React__default.createElement(TheSidebar, {
|
|
49160
|
+
navigation: authNavigations
|
|
49161
|
+
}), React__default.createElement("div", {
|
|
49162
|
+
className: "c-wrapper"
|
|
49163
|
+
}, !isNotification && React__default.createElement(TheHeader, {
|
|
49164
|
+
onToggleModel: handleToggleModel
|
|
49165
|
+
}), React__default.createElement("div", {
|
|
49166
|
+
className: "c-body bg-white"
|
|
49167
|
+
}, React__default.createElement(TheContent$1, {
|
|
49168
|
+
routes: authRoutes
|
|
49169
|
+
}))), React__default.createElement(ModelSelectRole, {
|
|
49170
|
+
open: openModelSelectRole,
|
|
49171
|
+
onToggleModel: handleToggleModel
|
|
49172
|
+
}));
|
|
49173
|
+
};
|
|
49174
|
+
|
|
49175
|
+
var amplitudeClient$1 = amplitude.getInstance();
|
|
49176
|
+
|
|
49152
49177
|
Object.defineProperty(exports, 'I18nextProvider', {
|
|
49153
49178
|
enumerable: true,
|
|
49154
49179
|
get: function () {
|
|
@@ -49236,7 +49261,7 @@ exports.UserContainer = UserContainer;
|
|
|
49236
49261
|
exports.UserDetail = UserDetail;
|
|
49237
49262
|
exports.UserList = UserList;
|
|
49238
49263
|
exports.addTab = addTab;
|
|
49239
|
-
exports.amplitudeClient = amplitudeClient;
|
|
49264
|
+
exports.amplitudeClient = amplitudeClient$1;
|
|
49240
49265
|
exports.answerQuestion = answerQuestion;
|
|
49241
49266
|
exports.answerQuestionDataPlayer = answerQuestionDataPlayer;
|
|
49242
49267
|
exports.api = api;
|