mario-core 2.9.326-release → 2.9.327-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.
@@ -2,8 +2,8 @@ import 'bootstrap/dist/css/bootstrap.min.css';
2
2
  import i18n from 'i18next';
3
3
  import { initReactI18next, useTranslation } from 'react-i18next';
4
4
  export { I18nextProvider, useTranslation } from 'react-i18next';
5
- import React, { useCallback, useState, useEffect, useRef, useMemo, Suspense, memo, Fragment, forwardRef, useImperativeHandle } from 'react';
6
- import { Input, Form, FormGroup, Row, Col, Navbar, NavbarBrand, Collapse, Nav, NavItem, NavLink, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, Button, Alert, Pagination, PaginationItem, PaginationLink, Table, Label, ModalHeader, ModalBody, ModalFooter, Popover, PopoverBody, TabContent, TabPane, CardText, CustomInput, Card, CardImg, CardBody, CardTitle, CardHeader } from 'reactstrap';
5
+ import React, { useCallback, useState, useEffect, useRef, Suspense, memo, Fragment, forwardRef, useImperativeHandle, useMemo } from 'react';
6
+ import { Input, Form, FormGroup, Row, Col, Navbar, NavbarBrand, Collapse, Nav, NavItem, NavLink, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, Button, Alert, Pagination, PaginationItem, PaginationLink, Table, Label, Modal, ModalHeader, ModalBody, ModalFooter, Popover, PopoverBody, TabContent, TabPane, CardText, CustomInput, Card, CardImg, CardBody, CardTitle, CardHeader } from 'reactstrap';
7
7
  import { Link, useLocation, useHistory, Switch, Route, Prompt, useParams } from 'react-router-dom';
8
8
  import { useDispatch, useSelector } from 'react-redux';
9
9
  import { Formik } from 'formik';
@@ -16,7 +16,7 @@ import amplitude from 'amplitude-js';
16
16
  import moment from 'moment';
17
17
  import { LogLevel, PublicClientApplication } from '@azure/msal-browser';
18
18
  import { GiHamburgerMenu } from 'react-icons/gi';
19
- import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter, CHeader, CToggler, CHeaderBrand, CHeaderNav, CContainer } from '@coreui/react';
19
+ import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter, CContainer, CHeader, CToggler, CHeaderBrand, CHeaderNav } from '@coreui/react';
20
20
  import { CgMenuRight } from 'react-icons/cg';
21
21
  import { RiLogoutBoxRLine } from 'react-icons/ri';
22
22
  import Pusher from 'pusher-js/with-encryption';
@@ -1785,6 +1785,7 @@ var assign_bulk = "Assign Bulk";
1785
1785
  var assign_bulk_student = "Assign Bulk Student";
1786
1786
  var instruction = "Instruction";
1787
1787
  var name_is_required = "Name is required";
1788
+ var title_is_required = "Title is required";
1788
1789
  var instruction_is_required = "Instruction is required";
1789
1790
  var add_item = "Add item";
1790
1791
  var conference_rubric_items_is_empty = "Conference rubric items is empty";
@@ -3761,6 +3762,7 @@ var lang_us = {
3761
3762
  assign_bulk_student: assign_bulk_student,
3762
3763
  instruction: instruction,
3763
3764
  name_is_required: name_is_required,
3765
+ title_is_required: title_is_required,
3764
3766
  instruction_is_required: instruction_is_required,
3765
3767
  add_item: add_item,
3766
3768
  conference_rubric_items_is_empty: conference_rubric_items_is_empty,
@@ -5744,6 +5746,7 @@ var assign_bulk$1 = "Assign Bulk";
5744
5746
  var assign_bulk_student$1 = "Assign Bulk Student";
5745
5747
  var instruction$1 = "Instruction";
5746
5748
  var name_is_required$1 = "Name is required";
5749
+ var title_is_required$1 = "Title is required";
5747
5750
  var instruction_is_required$1 = "Instruction is required";
5748
5751
  var add_item$1 = "Add item";
5749
5752
  var conference_rubric_items_is_empty$1 = "Conference rubric items is empty";
@@ -7720,6 +7723,7 @@ var lang_uk = {
7720
7723
  assign_bulk_student: assign_bulk_student$1,
7721
7724
  instruction: instruction$1,
7722
7725
  name_is_required: name_is_required$1,
7726
+ title_is_required: title_is_required$1,
7723
7727
  instruction_is_required: instruction_is_required$1,
7724
7728
  add_item: add_item$1,
7725
7729
  conference_rubric_items_is_empty: conference_rubric_items_is_empty$1,
@@ -9699,6 +9703,7 @@ var assign_bulk$2 = "تعيين بالجملة";
9699
9703
  var assign_bulk_student$2 = "تعيين الطلبة بالجملة";
9700
9704
  var instruction$2 = "تعليمات";
9701
9705
  var name_is_required$2 = "الاسم مطلوب";
9706
+ var title_is_required$2 = "العنوان مطلوب";
9702
9707
  var instruction_is_required$2 = "التعليمات مطلوبة";
9703
9708
  var add_item$2 = "إضافة عنصر";
9704
9709
  var conference_rubric_items_is_empty$2 = "عناصر نموذج تقييم اللقاء فارغة";
@@ -11708,6 +11713,7 @@ var lang_ar = {
11708
11713
  assign_bulk_student: assign_bulk_student$2,
11709
11714
  instruction: instruction$2,
11710
11715
  name_is_required: name_is_required$2,
11716
+ title_is_required: title_is_required$2,
11711
11717
  instruction_is_required: instruction_is_required$2,
11712
11718
  add_item: add_item$2,
11713
11719
  conference_rubric_items_is_empty: conference_rubric_items_is_empty$2,
@@ -13725,6 +13731,7 @@ var assign_bulk$3 = "Asignar a granel";
13725
13731
  var assign_bulk_student$3 = "Asignar a granel Alumno";
13726
13732
  var instruction$3 = "Instrucción";
13727
13733
  var name_is_required$3 = "Nombre es requerido";
13734
+ var title_is_required$3 = "El título es requerido";
13728
13735
  var instruction_is_required$3 = "Instrucción es requerida";
13729
13736
  var add_item$3 = "Agregar ítem";
13730
13737
  var conference_rubric_items_is_empty$3 = "Elementos de rúbrica de conferencia está vacío";
@@ -15734,6 +15741,7 @@ var lang_es = {
15734
15741
  assign_bulk_student: assign_bulk_student$3,
15735
15742
  instruction: instruction$3,
15736
15743
  name_is_required: name_is_required$3,
15744
+ title_is_required: title_is_required$3,
15737
15745
  instruction_is_required: instruction_is_required$3,
15738
15746
  add_item: add_item$3,
15739
15747
  conference_rubric_items_is_empty: conference_rubric_items_is_empty$3,
@@ -17751,6 +17759,7 @@ var assign_bulk$4 = "批量分配";
17751
17759
  var assign_bulk_student$4 = "批量分配学生";
17752
17760
  var instruction$4 = "说明";
17753
17761
  var name_is_required$4 = "姓名为必填项";
17762
+ var title_is_required$4 = "标题为必填项";
17754
17763
  var instruction_is_required$4 = "说明为必填项";
17755
17764
  var add_item$4 = "添加项目";
17756
17765
  var conference_rubric_items_is_empty$4 = "会议评分标准项目为空";
@@ -19760,6 +19769,7 @@ var lang_zh = {
19760
19769
  assign_bulk_student: assign_bulk_student$4,
19761
19770
  instruction: instruction$4,
19762
19771
  name_is_required: name_is_required$4,
19772
+ title_is_required: title_is_required$4,
19763
19773
  instruction_is_required: instruction_is_required$4,
19764
19774
  add_item: add_item$4,
19765
19775
  conference_rubric_items_is_empty: conference_rubric_items_is_empty$4,
@@ -39766,212 +39776,6 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
39766
39776
  })), t("log_out")))));
39767
39777
  };
39768
39778
 
39769
- var apiGetLanguage = function apiGetLanguage() {
39770
- return api.get(BASE_URL + "/api/language");
39771
- };
39772
-
39773
- var apiUpdateLanguage = function apiUpdateLanguage(lang) {
39774
- return api.put(BASE_URL + "/api/language?lang=" + lang);
39775
- };
39776
-
39777
- var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
39778
-
39779
- var useLanguages = function useLanguages() {
39780
- var dispatch = useDispatch();
39781
-
39782
- var _useTranslation = useTranslation(),
39783
- i18n = _useTranslation.i18n;
39784
-
39785
- var language = useSelector(function (state) {
39786
- return state.common.language;
39787
- });
39788
- var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
39789
-
39790
- var _useState = useState([]),
39791
- languageList = _useState[0],
39792
- setLanguageList = _useState[1];
39793
-
39794
- var _useState2 = useState(false),
39795
- dropdownOpen = _useState2[0],
39796
- setDropdownOpen = _useState2[1];
39797
-
39798
- var _useState3 = useState(defaultLanguage),
39799
- currentLang = _useState3[0],
39800
- setCurrentLang = _useState3[1];
39801
-
39802
- var toggle = function toggle() {
39803
- return setDropdownOpen(function (prevState) {
39804
- return !prevState;
39805
- });
39806
- };
39807
-
39808
- var changeLanguageApp = function changeLanguageApp(lang) {
39809
- try {
39810
- var _temp3 = function _temp3() {
39811
- dispatch(setLoading(false));
39812
- };
39813
-
39814
- dispatch(setLoading(true));
39815
-
39816
- var _temp4 = _catch(function () {
39817
- return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
39818
- i18n.changeLanguage(lang);
39819
- setCurrentLang(lang);
39820
- dispatch(setLanguage(lang));
39821
- });
39822
- }, function (err) {
39823
- var _err$response, _err$response$data;
39824
-
39825
- dispatch(setAlert({
39826
- type: "danger",
39827
- 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
39828
- }));
39829
- });
39830
-
39831
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
39832
- } catch (e) {
39833
- return Promise.reject(e);
39834
- }
39835
- };
39836
-
39837
- var getListLanguage = function getListLanguage() {
39838
- try {
39839
- var _temp6 = _catch(function () {
39840
- return Promise.resolve(apiGetLanguage()).then(function (res) {
39841
- setLanguageList(res.data);
39842
- });
39843
- }, function (err) {
39844
- var _err$response2, _err$response2$data;
39845
-
39846
- dispatch(setAlert({
39847
- type: "danger",
39848
- 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
39849
- }));
39850
- });
39851
-
39852
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
39853
- } catch (e) {
39854
- return Promise.reject(e);
39855
- }
39856
- };
39857
-
39858
- useEffect(function () {
39859
- defaultLanguage != language && changeLanguageApp(defaultLanguage);
39860
- getListLanguage();
39861
- }, []);
39862
- return {
39863
- languageList: languageList,
39864
- toggle: toggle,
39865
- dropdownOpen: dropdownOpen,
39866
- currentLang: currentLang,
39867
- changeLanguageApp: changeLanguageApp,
39868
- setCurrentLang: setCurrentLang
39869
- };
39870
- };
39871
-
39872
- var TheLanguageDropdown = function TheLanguageDropdown() {
39873
- var _useLanguages = useLanguages(),
39874
- languageList = _useLanguages.languageList,
39875
- toggle = _useLanguages.toggle,
39876
- dropdownOpen = _useLanguages.dropdownOpen,
39877
- currentLang = _useLanguages.currentLang,
39878
- changeLanguageApp = _useLanguages.changeLanguageApp;
39879
-
39880
- var currentLanguage = useMemo(function () {
39881
- var current = languageList.find(function (i) {
39882
- return i.code === currentLang;
39883
- });
39884
- if (!current) return null;
39885
- return React.createElement(React.Fragment, null, React.createElement("img", {
39886
- className: "mr-2 " + styles['dropdown-menu-flag'],
39887
- src: "" + getStaticFileUrl(current.image)
39888
- }), " ", current.name);
39889
- }, [currentLang, languageList]);
39890
- return React.createElement(Dropdown, {
39891
- isOpen: dropdownOpen,
39892
- toggle: toggle,
39893
- className: "" + styles["dropdown-menu"]
39894
- }, React.createElement(DropdownToggle, {
39895
- className: styles["header-avatar"] + " d-flex align-items-center"
39896
- }, React.createElement("span", {
39897
- style: {
39898
- color: "#000",
39899
- textTransform: "capitalize",
39900
- display: 'flex',
39901
- alignItems: 'center'
39902
- }
39903
- }, currentLanguage, React.createElement(BsChevronDown, {
39904
- className: "ml-2",
39905
- style: {
39906
- fontSize: '10px'
39907
- }
39908
- }))), React.createElement(DropdownMenu, {
39909
- className: styles["dropdown-content-language"]
39910
- }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
39911
- return React.createElement(DropdownItem, {
39912
- key: lang.code,
39913
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
39914
- onClick: function onClick() {
39915
- return changeLanguageApp(lang.code);
39916
- }
39917
- }, React.createElement("div", {
39918
- className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
39919
- }, React.createElement("span", {
39920
- className: "mr-2 d-flex hover-opacity"
39921
- }, React.createElement("img", {
39922
- style: {
39923
- width: "30px",
39924
- height: "25px",
39925
- borderRadius: "5px"
39926
- },
39927
- src: getStaticFileUrl(lang.image)
39928
- })), lang.name));
39929
- })));
39930
- };
39931
-
39932
- var TheHeader = function TheHeader(_ref) {
39933
- var onToggleModel = _ref.onToggleModel;
39934
- var dispatch = useDispatch();
39935
- var sidebarShow = useSelector(function (state) {
39936
- return state.common.sidebarShow;
39937
- });
39938
-
39939
- var _useTranslation = useTranslation(),
39940
- t = _useTranslation.t;
39941
-
39942
- var toggleSidebarMobile = function toggleSidebarMobile() {
39943
- var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
39944
- dispatch(setSidebar(val));
39945
- };
39946
-
39947
- var isDistrict = window.location.host.includes("-district");
39948
- return React.createElement(CHeader, {
39949
- withSubheader: true,
39950
- className: "d-flex align-items-center justify-content-end"
39951
- }, React.createElement(CToggler, {
39952
- inHeader: true,
39953
- className: "ml-md-3 d-lg-none",
39954
- onClick: toggleSidebarMobile
39955
- }), React.createElement(CHeaderBrand, {
39956
- className: "mx-auto flex-grow-1 d-lg-none",
39957
- to: "/"
39958
- }, React.createElement("img", {
39959
- src: getStaticFileUrl(Images.LOGO_HEADER),
39960
- className: styles["header-logo"]
39961
- })), React.createElement(CHeaderNav, {
39962
- className: "pr-3"
39963
- }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
39964
- className: "mr-3",
39965
- style: {
39966
- color: '#000'
39967
- },
39968
- href: '/privacy-policy',
39969
- target: "blank"
39970
- }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
39971
- onToggleModel: onToggleModel
39972
- })));
39973
- };
39974
-
39975
39779
  var TITLE$3 = "Not found";
39976
39780
 
39977
39781
  var NotFound = function NotFound() {
@@ -40029,258 +39833,6 @@ var TheContent = function TheContent(_ref) {
40029
39833
 
40030
39834
  var TheContent$1 = React.memo(TheContent);
40031
39835
 
40032
- var loadingStyle = {
40033
- minWidth: "100vw",
40034
- minHeight: "100vh",
40035
- position: "fixed",
40036
- top: 0,
40037
- left: 0,
40038
- zIndex: 999999999,
40039
- backgroundColor: "rgba(0, 0, 0, 0.4)",
40040
- display: "flex",
40041
- justifyContent: "center",
40042
- alignItems: "center"
40043
- };
40044
-
40045
- var Loading = function Loading() {
40046
- var isLoading = useSelector(function (state) {
40047
- return state.common.isLoading;
40048
- });
40049
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
40050
- return isLoading ? React.createElement("div", {
40051
- style: loadingStyle
40052
- }, React.createElement("div", {
40053
- className: "spinner-border text-secondary",
40054
- role: "status"
40055
- }, React.createElement("span", {
40056
- className: "sr-only"
40057
- }, "Loading..."))) : null;
40058
- };
40059
-
40060
- var firstCheckToken = function firstCheckToken() {
40061
- return Promise.resolve(_catch(function () {
40062
- var token = getAccessToken();
40063
- return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
40064
- return tokenStatus.data ? true : false;
40065
- }) : false;
40066
- }, function () {
40067
- return false;
40068
- }));
40069
- };
40070
-
40071
- var canAccess = function canAccess(userRoles, componentRoles) {
40072
- if (!Array.isArray(userRoles)) {
40073
- return false;
40074
- }
40075
-
40076
- if (Array.isArray(componentRoles)) {
40077
- var intersects = userRoles.filter(function (i) {
40078
- return componentRoles.includes(i);
40079
- });
40080
- return intersects.length > 0;
40081
- }
40082
-
40083
- return true;
40084
- };
40085
-
40086
- var ModelSelectRole = function ModelSelectRole(_ref) {
40087
- var _handleUserRole;
40088
-
40089
- var open = _ref.open,
40090
- onToggleModel = _ref.onToggleModel;
40091
- var dispatch = useDispatch();
40092
-
40093
- var _useTranslation = useTranslation(),
40094
- t = _useTranslation.t;
40095
-
40096
- var history = useHistory();
40097
- var pathname = window.location.pathname;
40098
- var user = useSelector(function (state) {
40099
- return state.common.user;
40100
- });
40101
- var roles = user === null || user === void 0 ? void 0 : user.roles;
40102
-
40103
- var handleSelectUserRoles = function handleSelectUserRoles(roles) {
40104
- dispatch(setLoading(true));
40105
- var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
40106
- dispatch(setUser(_extends({}, user, {
40107
- roles: roleSelect
40108
- })));
40109
- localStorage.setItem("ROLES", roleSelect.toString());
40110
- onToggleModel();
40111
-
40112
- if (roles.includes("Parent")) {
40113
- history.push("/parent");
40114
- } else if (roles.includes("Admin")) {
40115
- history.push("/admin/home");
40116
- } else {
40117
- pathname !== "/home" ? history.push("/home") : window.location.reload();
40118
- }
40119
- };
40120
-
40121
- return React.createElement(Modal, {
40122
- isOpen: open,
40123
- toggle: function toggle() {
40124
- return onToggleModel();
40125
- },
40126
- className: "" + styles["model-switch-roles"],
40127
- centered: true
40128
- }, React.createElement("p", {
40129
- className: "" + styles["title"]
40130
- }, t("continue_as")), React.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
40131
- return React.createElement("p", {
40132
- key: r,
40133
- 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" : ""],
40134
- onClick: function onClick() {
40135
- return handleSelectUserRoles([r]);
40136
- }
40137
- }, r == "SecondaryTeacher" ? "Support Teacher" : r);
40138
- })));
40139
- };
40140
-
40141
- var TheLayout = function TheLayout(_ref) {
40142
- var routes = _ref.routes,
40143
- navigation = _ref.navigation;
40144
- var history = useHistory();
40145
- var dispatch = useDispatch();
40146
- var user = useSelector(function (state) {
40147
- return state.common.user;
40148
- });
40149
- var language = useSelector(function (state) {
40150
- return state.common.language;
40151
- });
40152
-
40153
- var _useState = useState(false),
40154
- openModelSelectRole = _useState[0],
40155
- setOpenModelSelectRole = _useState[1];
40156
-
40157
- var _useTranslation = useTranslation(),
40158
- t = _useTranslation.t;
40159
-
40160
- var location = useLocation();
40161
- var isNotification = location.pathname.includes("notifications");
40162
- var isDistrict = window.location.host.includes("-district");
40163
-
40164
- var handleToggleModel = function handleToggleModel() {
40165
- setOpenModelSelectRole(!openModelSelectRole);
40166
- };
40167
-
40168
- var authRoutes = useMemo(function () {
40169
- return routes.filter(function (route) {
40170
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
40171
- }).filter(function (route) {
40172
- return !!route.isDistrict === isDistrict;
40173
- });
40174
- }, [user, language]);
40175
- var authNavigations = useMemo(function () {
40176
- return navigation.map(function (item) {
40177
- var _item$_children, _item$_children2;
40178
-
40179
- return _extends({}, item, {
40180
- name: t(item.name),
40181
- _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) {
40182
- return _extends({}, x, {
40183
- name: t(x.name)
40184
- });
40185
- }) : undefined
40186
- });
40187
- }).filter(function (nav) {
40188
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
40189
- }).filter(function (nav) {
40190
- return !!nav.isDistrict === isDistrict;
40191
- });
40192
- }, [user, language]);
40193
-
40194
- var getInformationSetting = function getInformationSetting() {
40195
- try {
40196
- var _temp2 = _catch(function () {
40197
- return Promise.resolve(getSchoolSettings()).then(function (res) {
40198
- dispatch(setSandboxMode(res.data.isSandboxMode));
40199
- });
40200
- }, function (err) {
40201
- console.error(err);
40202
- });
40203
-
40204
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
40205
- } catch (e) {
40206
- return Promise.reject(e);
40207
- }
40208
- };
40209
-
40210
- useEffect(function () {
40211
- checkAuthentication();
40212
- }, []);
40213
- useEffect(function () {
40214
- getInformationSetting();
40215
- }, [location.pathname]);
40216
-
40217
- var checkAuthentication = function checkAuthentication() {
40218
- try {
40219
- var _temp4 = _catch(function () {
40220
- return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
40221
- tokenStatus ? loadInfo() : resetAuth();
40222
- });
40223
- }, function () {
40224
- resetAuth();
40225
- });
40226
-
40227
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
40228
- } catch (e) {
40229
- return Promise.reject(e);
40230
- }
40231
- };
40232
-
40233
- var loadInfo = function loadInfo() {
40234
- try {
40235
- var _temp6 = _catch(function () {
40236
- return Promise.resolve(getInfo()).then(function (info) {
40237
- var _info$data, _info$data$roles;
40238
-
40239
- 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"))) {
40240
- resetAuth();
40241
- }
40242
-
40243
- dispatch(setUser(info.data));
40244
- });
40245
- }, function () {
40246
- resetAuth();
40247
- });
40248
-
40249
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
40250
- } catch (e) {
40251
- return Promise.reject(e);
40252
- }
40253
- };
40254
-
40255
- var resetAuth = function resetAuth() {
40256
- localStorage.removeItem(ACCESS_TOKEN);
40257
- sessionStorage.removeItem(ACCESS_TOKEN);
40258
- localStorage.removeItem("ROLES");
40259
- history.push("/");
40260
- };
40261
-
40262
- if (!user) {
40263
- return React.createElement(Loading, null);
40264
- }
40265
-
40266
- return React.createElement("div", {
40267
- className: "c-app c-default-layout"
40268
- }, !isNotification && React.createElement(TheSidebar, {
40269
- navigation: authNavigations
40270
- }), React.createElement("div", {
40271
- className: "c-wrapper"
40272
- }, !isNotification && React.createElement(TheHeader, {
40273
- onToggleModel: handleToggleModel
40274
- }), React.createElement("div", {
40275
- className: "c-body bg-white"
40276
- }, React.createElement(TheContent$1, {
40277
- routes: authRoutes
40278
- }))), React.createElement(ModelSelectRole, {
40279
- open: openModelSelectRole,
40280
- onToggleModel: handleToggleModel
40281
- }));
40282
- };
40283
-
40284
39836
  var buttonTextStyle = {
40285
39837
  fontWeight: 500
40286
39838
  };
@@ -46093,6 +45645,34 @@ var UserDetail = function UserDetail() {
46093
45645
  });
46094
45646
  };
46095
45647
 
45648
+ var loadingStyle = {
45649
+ minWidth: "100vw",
45650
+ minHeight: "100vh",
45651
+ position: "fixed",
45652
+ top: 0,
45653
+ left: 0,
45654
+ zIndex: 999999999,
45655
+ backgroundColor: "rgba(0, 0, 0, 0.4)",
45656
+ display: "flex",
45657
+ justifyContent: "center",
45658
+ alignItems: "center"
45659
+ };
45660
+
45661
+ var Loading = function Loading() {
45662
+ var isLoading = useSelector(function (state) {
45663
+ return state.common.isLoading;
45664
+ });
45665
+ localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
45666
+ return isLoading ? React.createElement("div", {
45667
+ style: loadingStyle
45668
+ }, React.createElement("div", {
45669
+ className: "spinner-border text-secondary",
45670
+ role: "status"
45671
+ }, React.createElement("span", {
45672
+ className: "sr-only"
45673
+ }, "Loading..."))) : null;
45674
+ };
45675
+
46096
45676
  var ScrollToTop = function ScrollToTop() {
46097
45677
  var _useLocation = useLocation(),
46098
45678
  pathname = _useLocation.pathname;
@@ -49112,6 +48692,32 @@ var store = configureStore({
49112
48692
  }
49113
48693
  });
49114
48694
 
48695
+ var firstCheckToken = function firstCheckToken() {
48696
+ return Promise.resolve(_catch(function () {
48697
+ var token = getAccessToken();
48698
+ return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
48699
+ return tokenStatus.data ? true : false;
48700
+ }) : false;
48701
+ }, function () {
48702
+ return false;
48703
+ }));
48704
+ };
48705
+
48706
+ var canAccess = function canAccess(userRoles, componentRoles) {
48707
+ if (!Array.isArray(userRoles)) {
48708
+ return false;
48709
+ }
48710
+
48711
+ if (Array.isArray(componentRoles)) {
48712
+ var intersects = userRoles.filter(function (i) {
48713
+ return componentRoles.includes(i);
48714
+ });
48715
+ return intersects.length > 0;
48716
+ }
48717
+
48718
+ return true;
48719
+ };
48720
+
49115
48721
  var isInViewport = function isInViewport(el) {
49116
48722
  var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
49117
48723
  return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
@@ -49147,5 +48753,411 @@ var generateRandomString = (function () {
49147
48753
 
49148
48754
  var amplitudeClient = amplitude.getInstance();
49149
48755
 
49150
- export { ACCESS_TOKEN, ANSWER_EDITOR_HEIGHT, AcademicClassSelector, AddButton, BASE_URL, CHAT_CHANNEL, CategorySelector, CommonAlert, CommonHeader, CommonModal$1 as CommonModal, CreatableSelector, CustomPagination, CustomSelector, CustomTabs as CustomTab, DATE_FORMAT, DATE_RESULT, DEFAULT_FILTER, DEFAULT_LANGUAGE_CODE, Dashboard, DeleteButtonIcon, DetailActionButtons, EMOTIONS, EditButtonIcon, EmailTemplateDetail, EmailTemplateList, EmptyDataAlert, ErrorHandler, FULL_DATE_RESULT, FaqList, InputFile as FileInput, GOOGLE_RECAPTCHA_KEY, GalleryList, INIT_AMPLITUDE_KEY_PROD, INIT_AMPLITUDE_KEY_STAGE, IS_USER_SESSION_BROWSER, Images, LANGUAGES, LICENSE_AGGRID, LinkEditButton, Loading, Login, MediaList, NOTIFICATION_ALERT_KEY, NOTIFICATION_CHANNEL, NotFound, NotificationList, NotificationLogoutModal, NotificationModal, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, QuestionCategorySelector, QuestionTypeSelector, QuitPrompt, ReactNotification, RequiredLabel$1 as RequiredLabel, SANDBOX_NOTIFICATION, SUPPORTED_LANGUAGES_CODE, SandboxAlert, SchoolList, ScrollToTop, SearchBox$1 as SearchBox, SearchBoxContainer, SkillList, StarRatingSelector, SuggestionCategorySelector, TAB_COLORS, TINY_MCE_API_KEY, TheContent$1 as TheContent, TheLayout, ToggleButton, UploadFileButton, UserContainer, UserDetail, UserList, addTab, amplitudeClient, answerQuestion, answerQuestionDataPlayer, api, apiUpload, canAccess as canAccessRoute, changeNote, changeTags, clearTab, closeTab, debounce, editTab, editorConfig, firstCheckToken, generateRandomString, getCookieValue, getFileUrl, getInfo, getStaticFileUrl, getTextFromHTML, i18n, initAmplitude, isInViewport, isLocalhost, reset, setAlert, setAssessmentList, setAssignmentList, setAssistantList, setBadgeList, setBandScoreList, setCertificateList, setClassList, setConferenceRubricList, setConversationOneToOne, setCurrentStudentId, setCurrentStudentName, setCurrentStudentUserId, setCustomAlertList, setDataPlayer, setEditItemQuesion, setEnableIEP, setEnableSurvey, setFeedbackList, setFilterWidget, setGoalExampleList, setImproveMyClass, setLanguage, setLearningSupportCategoryList, setLoading, setMailCategory, setModal, setMoveItemQuestion, setMyStudent, setOpenModelCongratulation, setQuestionByCategory, setQuestionCateList, setQuestionList, setReflectionList, setReflectionResultList, setResetQuestionList, setSandboxMode, setSchoolBlankDayList, setSelectQuestion, setSemesterList, setSessionPlayer, setSessionTemplateGeneralClassList, setSessionTemplateList, setStartTime, setStrategyList, setStudentIdSelectedByTeacher, setStudentList, setSubjectList, setSuggestionList, setTurnOffPassWhenChangeMode, setTutorialScreenList, setUser, setUserList, setWeeklyQuestList, showFontSize, showMenuBar, store, systemCertificateUpload, systemStudentBadge, uploadFile, useFilters, useGalleryList, utcToLocalTime };
48756
+ var apiGetLanguage = function apiGetLanguage() {
48757
+ return api.get(BASE_URL + "/api/language");
48758
+ };
48759
+
48760
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
48761
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
48762
+ };
48763
+
48764
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
48765
+
48766
+ var useLanguages = function useLanguages() {
48767
+ var dispatch = useDispatch();
48768
+
48769
+ var _useTranslation = useTranslation(),
48770
+ i18n = _useTranslation.i18n;
48771
+
48772
+ var language = useSelector(function (state) {
48773
+ return state.common.language;
48774
+ });
48775
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
48776
+
48777
+ var _useState = useState([]),
48778
+ languageList = _useState[0],
48779
+ setLanguageList = _useState[1];
48780
+
48781
+ var _useState2 = useState(false),
48782
+ dropdownOpen = _useState2[0],
48783
+ setDropdownOpen = _useState2[1];
48784
+
48785
+ var _useState3 = useState(defaultLanguage),
48786
+ currentLang = _useState3[0],
48787
+ setCurrentLang = _useState3[1];
48788
+
48789
+ var toggle = function toggle() {
48790
+ return setDropdownOpen(function (prevState) {
48791
+ return !prevState;
48792
+ });
48793
+ };
48794
+
48795
+ var changeLanguageApp = function changeLanguageApp(lang) {
48796
+ try {
48797
+ var _temp3 = function _temp3() {
48798
+ dispatch(setLoading(false));
48799
+ };
48800
+
48801
+ dispatch(setLoading(true));
48802
+
48803
+ var _temp4 = _catch(function () {
48804
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
48805
+ i18n.changeLanguage(lang);
48806
+ setCurrentLang(lang);
48807
+ dispatch(setLanguage(lang));
48808
+ });
48809
+ }, function (err) {
48810
+ var _err$response, _err$response$data;
48811
+
48812
+ dispatch(setAlert({
48813
+ type: "danger",
48814
+ 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
48815
+ }));
48816
+ });
48817
+
48818
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
48819
+ } catch (e) {
48820
+ return Promise.reject(e);
48821
+ }
48822
+ };
48823
+
48824
+ var getListLanguage = function getListLanguage() {
48825
+ try {
48826
+ var _temp6 = _catch(function () {
48827
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
48828
+ setLanguageList(res.data);
48829
+ });
48830
+ }, function (err) {
48831
+ var _err$response2, _err$response2$data;
48832
+
48833
+ dispatch(setAlert({
48834
+ type: "danger",
48835
+ 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
48836
+ }));
48837
+ });
48838
+
48839
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
48840
+ } catch (e) {
48841
+ return Promise.reject(e);
48842
+ }
48843
+ };
48844
+
48845
+ useEffect(function () {
48846
+ defaultLanguage != language && changeLanguageApp(defaultLanguage);
48847
+ getListLanguage();
48848
+ }, []);
48849
+ return {
48850
+ languageList: languageList,
48851
+ toggle: toggle,
48852
+ dropdownOpen: dropdownOpen,
48853
+ currentLang: currentLang,
48854
+ changeLanguageApp: changeLanguageApp,
48855
+ setCurrentLang: setCurrentLang
48856
+ };
48857
+ };
48858
+
48859
+ var TheLanguageDropdown = function TheLanguageDropdown() {
48860
+ var _useLanguages = useLanguages(),
48861
+ languageList = _useLanguages.languageList,
48862
+ toggle = _useLanguages.toggle,
48863
+ dropdownOpen = _useLanguages.dropdownOpen,
48864
+ currentLang = _useLanguages.currentLang,
48865
+ changeLanguageApp = _useLanguages.changeLanguageApp;
48866
+
48867
+ var currentLanguage = useMemo(function () {
48868
+ var current = languageList.find(function (i) {
48869
+ return i.code === currentLang;
48870
+ });
48871
+ if (!current) return null;
48872
+ return React.createElement(React.Fragment, null, React.createElement("img", {
48873
+ className: "mr-2 " + styles['dropdown-menu-flag'],
48874
+ src: "" + getStaticFileUrl(current.image)
48875
+ }), " ", current.name);
48876
+ }, [currentLang, languageList]);
48877
+ return React.createElement(Dropdown, {
48878
+ isOpen: dropdownOpen,
48879
+ toggle: toggle,
48880
+ className: "" + styles["dropdown-menu"]
48881
+ }, React.createElement(DropdownToggle, {
48882
+ className: styles["header-avatar"] + " d-flex align-items-center"
48883
+ }, React.createElement("span", {
48884
+ style: {
48885
+ color: "#000",
48886
+ textTransform: "capitalize",
48887
+ display: 'flex',
48888
+ alignItems: 'center'
48889
+ }
48890
+ }, currentLanguage, React.createElement(BsChevronDown, {
48891
+ className: "ml-2",
48892
+ style: {
48893
+ fontSize: '10px'
48894
+ }
48895
+ }))), React.createElement(DropdownMenu, {
48896
+ className: styles["dropdown-content-language"]
48897
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
48898
+ return React.createElement(DropdownItem, {
48899
+ key: lang.code,
48900
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
48901
+ onClick: function onClick() {
48902
+ return changeLanguageApp(lang.code);
48903
+ }
48904
+ }, React.createElement("div", {
48905
+ className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
48906
+ }, React.createElement("span", {
48907
+ className: "mr-2 d-flex hover-opacity"
48908
+ }, React.createElement("img", {
48909
+ style: {
48910
+ width: "30px",
48911
+ height: "25px",
48912
+ borderRadius: "5px"
48913
+ },
48914
+ src: getStaticFileUrl(lang.image)
48915
+ })), lang.name));
48916
+ })));
48917
+ };
48918
+
48919
+ var TheHeader = function TheHeader(_ref) {
48920
+ var onToggleModel = _ref.onToggleModel;
48921
+ var dispatch = useDispatch();
48922
+ var sidebarShow = useSelector(function (state) {
48923
+ return state.common.sidebarShow;
48924
+ });
48925
+
48926
+ var _useTranslation = useTranslation(),
48927
+ t = _useTranslation.t;
48928
+
48929
+ var toggleSidebarMobile = function toggleSidebarMobile() {
48930
+ var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
48931
+ dispatch(setSidebar(val));
48932
+ };
48933
+
48934
+ var isDistrict = window.location.host.includes("-district");
48935
+ return React.createElement(CHeader, {
48936
+ withSubheader: true,
48937
+ className: "d-flex align-items-center justify-content-end"
48938
+ }, React.createElement(CToggler, {
48939
+ inHeader: true,
48940
+ className: "ml-md-3 d-lg-none",
48941
+ onClick: toggleSidebarMobile
48942
+ }), React.createElement(CHeaderBrand, {
48943
+ className: "mx-auto flex-grow-1 d-lg-none",
48944
+ to: "/"
48945
+ }, React.createElement("img", {
48946
+ src: getStaticFileUrl(Images.LOGO_HEADER),
48947
+ className: styles["header-logo"]
48948
+ })), React.createElement(CHeaderNav, {
48949
+ className: "pr-3"
48950
+ }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
48951
+ className: "mr-3",
48952
+ style: {
48953
+ color: '#000'
48954
+ },
48955
+ href: '/privacy-policy',
48956
+ target: "blank"
48957
+ }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
48958
+ onToggleModel: onToggleModel
48959
+ })));
48960
+ };
48961
+
48962
+ var ModelSelectRole = function ModelSelectRole(_ref) {
48963
+ var _handleUserRole;
48964
+
48965
+ var open = _ref.open,
48966
+ onToggleModel = _ref.onToggleModel;
48967
+ var dispatch = useDispatch();
48968
+
48969
+ var _useTranslation = useTranslation(),
48970
+ t = _useTranslation.t;
48971
+
48972
+ var history = useHistory();
48973
+ var pathname = window.location.pathname;
48974
+ var user = useSelector(function (state) {
48975
+ return state.common.user;
48976
+ });
48977
+ var roles = user === null || user === void 0 ? void 0 : user.roles;
48978
+
48979
+ var handleSelectUserRoles = function handleSelectUserRoles(roles) {
48980
+ dispatch(setLoading(true));
48981
+ var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
48982
+ dispatch(setUser(_extends({}, user, {
48983
+ roles: roleSelect
48984
+ })));
48985
+ localStorage.setItem("ROLES", roleSelect.toString());
48986
+ onToggleModel();
48987
+
48988
+ if (roles.includes("Parent")) {
48989
+ history.push("/parent");
48990
+ } else if (roles.includes("Admin")) {
48991
+ history.push("/admin/home");
48992
+ } else {
48993
+ pathname !== "/home" ? history.push("/home") : window.location.reload();
48994
+ }
48995
+ };
48996
+
48997
+ return React.createElement(Modal, {
48998
+ isOpen: open,
48999
+ toggle: function toggle() {
49000
+ return onToggleModel();
49001
+ },
49002
+ className: "" + styles["model-switch-roles"],
49003
+ centered: true
49004
+ }, React.createElement("p", {
49005
+ className: "" + styles["title"]
49006
+ }, t("continue_as")), React.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
49007
+ return React.createElement("p", {
49008
+ key: r,
49009
+ 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" : ""],
49010
+ onClick: function onClick() {
49011
+ return handleSelectUserRoles([r]);
49012
+ }
49013
+ }, r == "SecondaryTeacher" ? "Support Teacher" : r);
49014
+ })));
49015
+ };
49016
+
49017
+ var TheLayout = function TheLayout(_ref) {
49018
+ var routes = _ref.routes,
49019
+ navigation = _ref.navigation;
49020
+ var history = useHistory();
49021
+ var dispatch = useDispatch();
49022
+ var user = useSelector(function (state) {
49023
+ return state.common.user;
49024
+ });
49025
+ var language = useSelector(function (state) {
49026
+ return state.common.language;
49027
+ });
49028
+
49029
+ var _useState = useState(false),
49030
+ openModelSelectRole = _useState[0],
49031
+ setOpenModelSelectRole = _useState[1];
49032
+
49033
+ var _useTranslation = useTranslation(),
49034
+ t = _useTranslation.t;
49035
+
49036
+ var location = useLocation();
49037
+ var isNotification = location.pathname.includes("notifications");
49038
+ var isDistrict = window.location.host.includes("-district");
49039
+
49040
+ var handleToggleModel = function handleToggleModel() {
49041
+ setOpenModelSelectRole(!openModelSelectRole);
49042
+ };
49043
+
49044
+ var authRoutes = useMemo(function () {
49045
+ return routes.filter(function (route) {
49046
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
49047
+ }).filter(function (route) {
49048
+ return !!route.isDistrict === isDistrict;
49049
+ });
49050
+ }, [user, language]);
49051
+ var authNavigations = useMemo(function () {
49052
+ return navigation.map(function (item) {
49053
+ var _item$_children, _item$_children2;
49054
+
49055
+ return _extends({}, item, {
49056
+ name: t(item.name),
49057
+ _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) {
49058
+ return _extends({}, x, {
49059
+ name: t(x.name)
49060
+ });
49061
+ }) : undefined
49062
+ });
49063
+ }).filter(function (nav) {
49064
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
49065
+ }).filter(function (nav) {
49066
+ return !!nav.isDistrict === isDistrict;
49067
+ });
49068
+ }, [user, language]);
49069
+
49070
+ var getInformationSetting = function getInformationSetting() {
49071
+ try {
49072
+ var _temp2 = _catch(function () {
49073
+ return Promise.resolve(getSchoolSettings()).then(function (res) {
49074
+ dispatch(setSandboxMode(res.data.isSandboxMode));
49075
+ });
49076
+ }, function (err) {
49077
+ console.error(err);
49078
+ });
49079
+
49080
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
49081
+ } catch (e) {
49082
+ return Promise.reject(e);
49083
+ }
49084
+ };
49085
+
49086
+ useEffect(function () {
49087
+ checkAuthentication();
49088
+ }, []);
49089
+ useEffect(function () {
49090
+ getInformationSetting();
49091
+ }, [location.pathname]);
49092
+
49093
+ var checkAuthentication = function checkAuthentication() {
49094
+ try {
49095
+ var _temp4 = _catch(function () {
49096
+ return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
49097
+ tokenStatus ? loadInfo() : resetAuth();
49098
+ });
49099
+ }, function () {
49100
+ resetAuth();
49101
+ });
49102
+
49103
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
49104
+ } catch (e) {
49105
+ return Promise.reject(e);
49106
+ }
49107
+ };
49108
+
49109
+ var loadInfo = function loadInfo() {
49110
+ try {
49111
+ var _temp6 = _catch(function () {
49112
+ return Promise.resolve(getInfo()).then(function (info) {
49113
+ var _info$data, _info$data$roles;
49114
+
49115
+ 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"))) {
49116
+ resetAuth();
49117
+ }
49118
+
49119
+ dispatch(setUser(info.data));
49120
+ });
49121
+ }, function () {
49122
+ resetAuth();
49123
+ });
49124
+
49125
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
49126
+ } catch (e) {
49127
+ return Promise.reject(e);
49128
+ }
49129
+ };
49130
+
49131
+ var resetAuth = function resetAuth() {
49132
+ localStorage.removeItem(ACCESS_TOKEN);
49133
+ sessionStorage.removeItem(ACCESS_TOKEN);
49134
+ localStorage.removeItem("ROLES");
49135
+ history.push("/");
49136
+ };
49137
+
49138
+ if (!user) {
49139
+ return React.createElement(Loading, null);
49140
+ }
49141
+
49142
+ return React.createElement("div", {
49143
+ className: "c-app c-default-layout"
49144
+ }, !isNotification && React.createElement(TheSidebar, {
49145
+ navigation: authNavigations
49146
+ }), React.createElement("div", {
49147
+ className: "c-wrapper"
49148
+ }, !isNotification && React.createElement(TheHeader, {
49149
+ onToggleModel: handleToggleModel
49150
+ }), React.createElement("div", {
49151
+ className: "c-body bg-white"
49152
+ }, React.createElement(TheContent$1, {
49153
+ routes: authRoutes
49154
+ }))), React.createElement(ModelSelectRole, {
49155
+ open: openModelSelectRole,
49156
+ onToggleModel: handleToggleModel
49157
+ }));
49158
+ };
49159
+
49160
+ var amplitudeClient$1 = amplitude.getInstance();
49161
+
49162
+ export { ACCESS_TOKEN, ANSWER_EDITOR_HEIGHT, AcademicClassSelector, AddButton, BASE_URL, CHAT_CHANNEL, CategorySelector, CommonAlert, CommonHeader, CommonModal$1 as CommonModal, CreatableSelector, CustomPagination, CustomSelector, CustomTabs as CustomTab, DATE_FORMAT, DATE_RESULT, DEFAULT_FILTER, DEFAULT_LANGUAGE_CODE, Dashboard, DeleteButtonIcon, DetailActionButtons, EMOTIONS, EditButtonIcon, EmailTemplateDetail, EmailTemplateList, EmptyDataAlert, ErrorHandler, FULL_DATE_RESULT, FaqList, InputFile as FileInput, GOOGLE_RECAPTCHA_KEY, GalleryList, INIT_AMPLITUDE_KEY_PROD, INIT_AMPLITUDE_KEY_STAGE, IS_USER_SESSION_BROWSER, Images, LANGUAGES, LICENSE_AGGRID, LinkEditButton, Loading, Login, MediaList, NOTIFICATION_ALERT_KEY, NOTIFICATION_CHANNEL, NotFound, NotificationList, NotificationLogoutModal, NotificationModal, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, QuestionCategorySelector, QuestionTypeSelector, QuitPrompt, ReactNotification, RequiredLabel$1 as RequiredLabel, SANDBOX_NOTIFICATION, SUPPORTED_LANGUAGES_CODE, SandboxAlert, SchoolList, ScrollToTop, SearchBox$1 as SearchBox, SearchBoxContainer, SkillList, StarRatingSelector, SuggestionCategorySelector, TAB_COLORS, TINY_MCE_API_KEY, TheContent$1 as TheContent, TheLayout, ToggleButton, UploadFileButton, UserContainer, UserDetail, UserList, addTab, amplitudeClient$1 as amplitudeClient, answerQuestion, answerQuestionDataPlayer, api, apiUpload, canAccess as canAccessRoute, changeNote, changeTags, clearTab, closeTab, debounce, editTab, editorConfig, firstCheckToken, generateRandomString, getCookieValue, getFileUrl, getInfo, getStaticFileUrl, getTextFromHTML, i18n, initAmplitude, isInViewport, isLocalhost, reset, setAlert, setAssessmentList, setAssignmentList, setAssistantList, setBadgeList, setBandScoreList, setCertificateList, setClassList, setConferenceRubricList, setConversationOneToOne, setCurrentStudentId, setCurrentStudentName, setCurrentStudentUserId, setCustomAlertList, setDataPlayer, setEditItemQuesion, setEnableIEP, setEnableSurvey, setFeedbackList, setFilterWidget, setGoalExampleList, setImproveMyClass, setLanguage, setLearningSupportCategoryList, setLoading, setMailCategory, setModal, setMoveItemQuestion, setMyStudent, setOpenModelCongratulation, setQuestionByCategory, setQuestionCateList, setQuestionList, setReflectionList, setReflectionResultList, setResetQuestionList, setSandboxMode, setSchoolBlankDayList, setSelectQuestion, setSemesterList, setSessionPlayer, setSessionTemplateGeneralClassList, setSessionTemplateList, setStartTime, setStrategyList, setStudentIdSelectedByTeacher, setStudentList, setSubjectList, setSuggestionList, setTurnOffPassWhenChangeMode, setTutorialScreenList, setUser, setUserList, setWeeklyQuestList, showFontSize, showMenuBar, store, systemCertificateUpload, systemStudentBadge, uploadFile, useFilters, useGalleryList, utcToLocalTime };
49151
49163
  //# sourceMappingURL=index.modern.js.map