mario-core 2.9.337-release → 2.9.339-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';
@@ -1999,6 +1999,8 @@ var open_responses = "Open Responses";
1999
1999
  var this_survey_was_sent_all_survey_links_that_were_sent_will_be_invalid_are_you_sure_to_delete_it = "This survey was sent all survey links that were sent will be invalid. Are you sure to delete it";
2000
2000
  var assign_teacher = "Assign Teacher";
2001
2001
  var teachers_list = "Teachers list";
2002
+ var educator = "Educator";
2003
+ var the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in = "The data presented in this chart reflects the student's <b>most recent check-in</b>.";
2002
2004
  var lang_us = {
2003
2005
  dashboard: dashboard,
2004
2006
  user: user,
@@ -3997,7 +3999,9 @@ var lang_us = {
3997
3999
  open_responses: open_responses,
3998
4000
  this_survey_was_sent_all_survey_links_that_were_sent_will_be_invalid_are_you_sure_to_delete_it: this_survey_was_sent_all_survey_links_that_were_sent_will_be_invalid_are_you_sure_to_delete_it,
3999
4001
  assign_teacher: assign_teacher,
4000
- teachers_list: teachers_list
4002
+ teachers_list: teachers_list,
4003
+ educator: educator,
4004
+ the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in: the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in
4001
4005
  };
4002
4006
 
4003
4007
  var dashboard$1 = "Dashboard";
@@ -5961,6 +5965,8 @@ var open_responses$1 = "Open Responses";
5961
5965
  var this_survey_was_sent_all_survey_links_that_were_sent_will_be_invalid_are_you_sure_to_delete_it$1 = "This survey was sent all survey links that were sent will be invalid. Are you sure to delete it";
5962
5966
  var assign_teacher$1 = "Assign Teacher";
5963
5967
  var teachers_list$1 = "Teachers list";
5968
+ var educator$1 = "Educator";
5969
+ var the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$1 = "The data presented in this chart reflects the student's <b>most recent check-in</b>.";
5964
5970
  var lang_uk = {
5965
5971
  dashboard: dashboard$1,
5966
5972
  user: user$1,
@@ -7959,7 +7965,9 @@ var lang_uk = {
7959
7965
  open_responses: open_responses$1,
7960
7966
  this_survey_was_sent_all_survey_links_that_were_sent_will_be_invalid_are_you_sure_to_delete_it: this_survey_was_sent_all_survey_links_that_were_sent_will_be_invalid_are_you_sure_to_delete_it$1,
7961
7967
  assign_teacher: assign_teacher$1,
7962
- teachers_list: teachers_list$1
7968
+ teachers_list: teachers_list$1,
7969
+ educator: educator$1,
7970
+ the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in: the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$1
7963
7971
  };
7964
7972
 
7965
7973
  var dashboard$2 = "لوحة المعلومات";
@@ -9956,6 +9964,8 @@ var good_job_you_filled_out_support_network_in_the_my_support_network_section =
9956
9964
  var good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section = "أحسنت! لقد قمت بملء \"استراتيجيات التعلم\" في قسم استراتيجيات التعلم الخاصة بي.";
9957
9965
  var open_responses$2 = "الردود المفتوحة";
9958
9966
  var teachers_list$2 = "قائمة المعلمين";
9967
+ var educator$2 = "مُعلّم";
9968
+ var the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$2 = "تعكس البيانات المقدمة في هذا المخطط <b>آخر تسجيل دخول</b> للطالب.";
9959
9969
  var lang_ar = {
9960
9970
  dashboard: dashboard$2,
9961
9971
  user: user$2,
@@ -11989,7 +11999,9 @@ var lang_ar = {
11989
11999
  good_job_you_filled_out_support_network_in_the_my_support_network_section: good_job_you_filled_out_support_network_in_the_my_support_network_section,
11990
12000
  good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section: good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section,
11991
12001
  open_responses: open_responses$2,
11992
- teachers_list: teachers_list$2
12002
+ teachers_list: teachers_list$2,
12003
+ educator: educator$2,
12004
+ the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in: the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$2
11993
12005
  };
11994
12006
 
11995
12007
  var dashboard$3 = "Cuadro de mandos";
@@ -13986,6 +13998,8 @@ var good_job_you_filled_out_support_network_in_the_my_support_network_section$1
13986
13998
  var good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section$1 = "¡Buen trabajo! Completaste \"Estrategias de aprendizaje\" en la sección Mis estrategias de aprendizaje.";
13987
13999
  var open_responses$3 = "Respuestas abiertas";
13988
14000
  var teachers_list$3 = "Lista de profesores";
14001
+ var educator$3 = "Educadora";
14002
+ var the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$3 = "Los datos presentados en este gráfico reflejan el <b>registro más reciente</b> del estudiante.";
13989
14003
  var lang_es = {
13990
14004
  dashboard: dashboard$3,
13991
14005
  user: user$3,
@@ -16019,7 +16033,9 @@ var lang_es = {
16019
16033
  good_job_you_filled_out_support_network_in_the_my_support_network_section: good_job_you_filled_out_support_network_in_the_my_support_network_section$1,
16020
16034
  good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section: good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section$1,
16021
16035
  open_responses: open_responses$3,
16022
- teachers_list: teachers_list$3
16036
+ teachers_list: teachers_list$3,
16037
+ educator: educator$3,
16038
+ the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in: the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$3
16023
16039
  };
16024
16040
 
16025
16041
  var dashboard$4 = "仪表板";
@@ -18016,6 +18032,8 @@ var good_job_you_filled_out_support_network_in_the_my_support_network_section$2
18016
18032
  var good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section$2 = "干得好!您已在我的学习策略部分填写“学习策略”。";
18017
18033
  var open_responses$4 = "开放式回应";
18018
18034
  var teachers_list$4 = "教师名单";
18035
+ var educator$4 = "教育者";
18036
+ var the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$4 = "此图表中显示的数据反映了学生<b>最近的签到情况</b>。";
18019
18037
  var lang_zh = {
18020
18038
  dashboard: dashboard$4,
18021
18039
  user: user$4,
@@ -20049,7 +20067,9 @@ var lang_zh = {
20049
20067
  good_job_you_filled_out_support_network_in_the_my_support_network_section: good_job_you_filled_out_support_network_in_the_my_support_network_section$2,
20050
20068
  good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section: good_job_you_filled_out_learning_strategies_in_the_my_learning_strategies_section$2,
20051
20069
  open_responses: open_responses$4,
20052
- teachers_list: teachers_list$4
20070
+ teachers_list: teachers_list$4,
20071
+ educator: educator$4,
20072
+ the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in: the_data_presented_in_this_chart_reflects_the_student_s_most_recent_check_in$4
20053
20073
  };
20054
20074
 
20055
20075
  var TINY_MCE_API_KEY = "htqausuofrnali3nh9ivmlpq6v415o0tv2qikpg39bqf4pnk";
@@ -39809,212 +39829,6 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
39809
39829
  })), t("log_out")))));
39810
39830
  };
39811
39831
 
39812
- var apiGetLanguage = function apiGetLanguage() {
39813
- return api.get(BASE_URL + "/api/language");
39814
- };
39815
-
39816
- var apiUpdateLanguage = function apiUpdateLanguage(lang) {
39817
- return api.put(BASE_URL + "/api/language?lang=" + lang);
39818
- };
39819
-
39820
- var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
39821
-
39822
- var useLanguages = function useLanguages() {
39823
- var dispatch = useDispatch();
39824
-
39825
- var _useTranslation = useTranslation(),
39826
- i18n = _useTranslation.i18n;
39827
-
39828
- var language = useSelector(function (state) {
39829
- return state.common.language;
39830
- });
39831
- var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
39832
-
39833
- var _useState = useState([]),
39834
- languageList = _useState[0],
39835
- setLanguageList = _useState[1];
39836
-
39837
- var _useState2 = useState(false),
39838
- dropdownOpen = _useState2[0],
39839
- setDropdownOpen = _useState2[1];
39840
-
39841
- var _useState3 = useState(defaultLanguage),
39842
- currentLang = _useState3[0],
39843
- setCurrentLang = _useState3[1];
39844
-
39845
- var toggle = function toggle() {
39846
- return setDropdownOpen(function (prevState) {
39847
- return !prevState;
39848
- });
39849
- };
39850
-
39851
- var changeLanguageApp = function changeLanguageApp(lang) {
39852
- try {
39853
- var _temp3 = function _temp3() {
39854
- dispatch(setLoading(false));
39855
- };
39856
-
39857
- dispatch(setLoading(true));
39858
-
39859
- var _temp4 = _catch(function () {
39860
- return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
39861
- i18n.changeLanguage(lang);
39862
- setCurrentLang(lang);
39863
- dispatch(setLanguage(lang));
39864
- });
39865
- }, function (err) {
39866
- var _err$response, _err$response$data;
39867
-
39868
- dispatch(setAlert({
39869
- type: "danger",
39870
- 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
39871
- }));
39872
- });
39873
-
39874
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
39875
- } catch (e) {
39876
- return Promise.reject(e);
39877
- }
39878
- };
39879
-
39880
- var getListLanguage = function getListLanguage() {
39881
- try {
39882
- var _temp6 = _catch(function () {
39883
- return Promise.resolve(apiGetLanguage()).then(function (res) {
39884
- setLanguageList(res.data);
39885
- });
39886
- }, function (err) {
39887
- var _err$response2, _err$response2$data;
39888
-
39889
- dispatch(setAlert({
39890
- type: "danger",
39891
- 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
39892
- }));
39893
- });
39894
-
39895
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
39896
- } catch (e) {
39897
- return Promise.reject(e);
39898
- }
39899
- };
39900
-
39901
- useEffect(function () {
39902
- defaultLanguage != language && changeLanguageApp(defaultLanguage);
39903
- getListLanguage();
39904
- }, []);
39905
- return {
39906
- languageList: languageList,
39907
- toggle: toggle,
39908
- dropdownOpen: dropdownOpen,
39909
- currentLang: currentLang,
39910
- changeLanguageApp: changeLanguageApp,
39911
- setCurrentLang: setCurrentLang
39912
- };
39913
- };
39914
-
39915
- var TheLanguageDropdown = function TheLanguageDropdown() {
39916
- var _useLanguages = useLanguages(),
39917
- languageList = _useLanguages.languageList,
39918
- toggle = _useLanguages.toggle,
39919
- dropdownOpen = _useLanguages.dropdownOpen,
39920
- currentLang = _useLanguages.currentLang,
39921
- changeLanguageApp = _useLanguages.changeLanguageApp;
39922
-
39923
- var currentLanguage = useMemo(function () {
39924
- var current = languageList.find(function (i) {
39925
- return i.code === currentLang;
39926
- });
39927
- if (!current) return null;
39928
- return React.createElement(React.Fragment, null, React.createElement("img", {
39929
- className: "mr-2 " + styles['dropdown-menu-flag'],
39930
- src: "" + getStaticFileUrl(current.image)
39931
- }), " ", current.name);
39932
- }, [currentLang, languageList]);
39933
- return React.createElement(Dropdown, {
39934
- isOpen: dropdownOpen,
39935
- toggle: toggle,
39936
- className: "" + styles["dropdown-menu"]
39937
- }, React.createElement(DropdownToggle, {
39938
- className: styles["header-avatar"] + " d-flex align-items-center"
39939
- }, React.createElement("span", {
39940
- style: {
39941
- color: "#000",
39942
- textTransform: "capitalize",
39943
- display: 'flex',
39944
- alignItems: 'center'
39945
- }
39946
- }, currentLanguage, React.createElement(BsChevronDown, {
39947
- className: "ml-2",
39948
- style: {
39949
- fontSize: '10px'
39950
- }
39951
- }))), React.createElement(DropdownMenu, {
39952
- className: styles["dropdown-content-language"]
39953
- }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
39954
- return React.createElement(DropdownItem, {
39955
- key: lang.code,
39956
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
39957
- onClick: function onClick() {
39958
- return changeLanguageApp(lang.code);
39959
- }
39960
- }, React.createElement("div", {
39961
- className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
39962
- }, React.createElement("span", {
39963
- className: "mr-2 d-flex hover-opacity"
39964
- }, React.createElement("img", {
39965
- style: {
39966
- width: "30px",
39967
- height: "25px",
39968
- borderRadius: "5px"
39969
- },
39970
- src: getStaticFileUrl(lang.image)
39971
- })), lang.name));
39972
- })));
39973
- };
39974
-
39975
- var TheHeader = function TheHeader(_ref) {
39976
- var onToggleModel = _ref.onToggleModel;
39977
- var dispatch = useDispatch();
39978
- var sidebarShow = useSelector(function (state) {
39979
- return state.common.sidebarShow;
39980
- });
39981
-
39982
- var _useTranslation = useTranslation(),
39983
- t = _useTranslation.t;
39984
-
39985
- var toggleSidebarMobile = function toggleSidebarMobile() {
39986
- var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
39987
- dispatch(setSidebar(val));
39988
- };
39989
-
39990
- var isDistrict = window.location.host.includes("-district");
39991
- return React.createElement(CHeader, {
39992
- withSubheader: true,
39993
- className: "d-flex align-items-center justify-content-end"
39994
- }, React.createElement(CToggler, {
39995
- inHeader: true,
39996
- className: "ml-md-3 d-lg-none",
39997
- onClick: toggleSidebarMobile
39998
- }), React.createElement(CHeaderBrand, {
39999
- className: "mx-auto flex-grow-1 d-lg-none",
40000
- to: "/"
40001
- }, React.createElement("img", {
40002
- src: getStaticFileUrl(Images.LOGO_HEADER),
40003
- className: styles["header-logo"]
40004
- })), React.createElement(CHeaderNav, {
40005
- className: "pr-3"
40006
- }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
40007
- className: "mr-3",
40008
- style: {
40009
- color: '#000'
40010
- },
40011
- href: '/privacy-policy',
40012
- target: "blank"
40013
- }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
40014
- onToggleModel: onToggleModel
40015
- })));
40016
- };
40017
-
40018
39832
  var TITLE$3 = "Not found";
40019
39833
 
40020
39834
  var NotFound = function NotFound() {
@@ -40072,258 +39886,6 @@ var TheContent = function TheContent(_ref) {
40072
39886
 
40073
39887
  var TheContent$1 = React.memo(TheContent);
40074
39888
 
40075
- var loadingStyle = {
40076
- minWidth: "100vw",
40077
- minHeight: "100vh",
40078
- position: "fixed",
40079
- top: 0,
40080
- left: 0,
40081
- zIndex: 999999999,
40082
- backgroundColor: "rgba(0, 0, 0, 0.4)",
40083
- display: "flex",
40084
- justifyContent: "center",
40085
- alignItems: "center"
40086
- };
40087
-
40088
- var Loading = function Loading() {
40089
- var isLoading = useSelector(function (state) {
40090
- return state.common.isLoading;
40091
- });
40092
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
40093
- return isLoading ? React.createElement("div", {
40094
- style: loadingStyle
40095
- }, React.createElement("div", {
40096
- className: "spinner-border text-secondary",
40097
- role: "status"
40098
- }, React.createElement("span", {
40099
- className: "sr-only"
40100
- }, "Loading..."))) : null;
40101
- };
40102
-
40103
- var firstCheckToken = function firstCheckToken() {
40104
- return Promise.resolve(_catch(function () {
40105
- var token = getAccessToken();
40106
- return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
40107
- return tokenStatus.data ? true : false;
40108
- }) : false;
40109
- }, function () {
40110
- return false;
40111
- }));
40112
- };
40113
-
40114
- var canAccess = function canAccess(userRoles, componentRoles) {
40115
- if (!Array.isArray(userRoles)) {
40116
- return false;
40117
- }
40118
-
40119
- if (Array.isArray(componentRoles)) {
40120
- var intersects = userRoles.filter(function (i) {
40121
- return componentRoles.includes(i);
40122
- });
40123
- return intersects.length > 0;
40124
- }
40125
-
40126
- return true;
40127
- };
40128
-
40129
- var ModelSelectRole = function ModelSelectRole(_ref) {
40130
- var _handleUserRole;
40131
-
40132
- var open = _ref.open,
40133
- onToggleModel = _ref.onToggleModel;
40134
- var dispatch = useDispatch();
40135
-
40136
- var _useTranslation = useTranslation(),
40137
- t = _useTranslation.t;
40138
-
40139
- var history = useHistory();
40140
- var pathname = window.location.pathname;
40141
- var user = useSelector(function (state) {
40142
- return state.common.user;
40143
- });
40144
- var roles = user === null || user === void 0 ? void 0 : user.roles;
40145
-
40146
- var handleSelectUserRoles = function handleSelectUserRoles(roles) {
40147
- dispatch(setLoading(true));
40148
- var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
40149
- dispatch(setUser(_extends({}, user, {
40150
- roles: roleSelect
40151
- })));
40152
- localStorage.setItem("ROLES", roleSelect.toString());
40153
- onToggleModel();
40154
-
40155
- if (roles.includes("Parent")) {
40156
- history.push("/parent");
40157
- } else if (roles.includes("Admin")) {
40158
- history.push("/admin/home");
40159
- } else {
40160
- pathname !== "/home" ? history.push("/home") : window.location.reload();
40161
- }
40162
- };
40163
-
40164
- return React.createElement(Modal, {
40165
- isOpen: open,
40166
- toggle: function toggle() {
40167
- return onToggleModel();
40168
- },
40169
- className: "" + styles["model-switch-roles"],
40170
- centered: true
40171
- }, React.createElement("p", {
40172
- className: "" + styles["title"]
40173
- }, 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) {
40174
- return React.createElement("p", {
40175
- key: r,
40176
- 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" : ""],
40177
- onClick: function onClick() {
40178
- return handleSelectUserRoles([r]);
40179
- }
40180
- }, r == "SecondaryTeacher" ? "Support Teacher" : r);
40181
- })));
40182
- };
40183
-
40184
- var TheLayout = function TheLayout(_ref) {
40185
- var routes = _ref.routes,
40186
- navigation = _ref.navigation;
40187
- var history = useHistory();
40188
- var dispatch = useDispatch();
40189
- var user = useSelector(function (state) {
40190
- return state.common.user;
40191
- });
40192
- var language = useSelector(function (state) {
40193
- return state.common.language;
40194
- });
40195
-
40196
- var _useState = useState(false),
40197
- openModelSelectRole = _useState[0],
40198
- setOpenModelSelectRole = _useState[1];
40199
-
40200
- var _useTranslation = useTranslation(),
40201
- t = _useTranslation.t;
40202
-
40203
- var location = useLocation();
40204
- var isNotification = location.pathname.includes("notifications");
40205
- var isDistrict = window.location.host.includes("-district");
40206
-
40207
- var handleToggleModel = function handleToggleModel() {
40208
- setOpenModelSelectRole(!openModelSelectRole);
40209
- };
40210
-
40211
- var authRoutes = useMemo(function () {
40212
- return routes.filter(function (route) {
40213
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
40214
- }).filter(function (route) {
40215
- return !!route.isDistrict === isDistrict;
40216
- });
40217
- }, [user, language]);
40218
- var authNavigations = useMemo(function () {
40219
- return navigation.map(function (item) {
40220
- var _item$_children, _item$_children2;
40221
-
40222
- return _extends({}, item, {
40223
- name: t(item.name),
40224
- _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) {
40225
- return _extends({}, x, {
40226
- name: t(x.name)
40227
- });
40228
- }) : undefined
40229
- });
40230
- }).filter(function (nav) {
40231
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
40232
- }).filter(function (nav) {
40233
- return !!nav.isDistrict === isDistrict;
40234
- });
40235
- }, [user, language]);
40236
-
40237
- var getInformationSetting = function getInformationSetting() {
40238
- try {
40239
- var _temp2 = _catch(function () {
40240
- return Promise.resolve(getSchoolSettings()).then(function (res) {
40241
- dispatch(setSandboxMode(res.data.isSandboxMode));
40242
- });
40243
- }, function (err) {
40244
- console.error(err);
40245
- });
40246
-
40247
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
40248
- } catch (e) {
40249
- return Promise.reject(e);
40250
- }
40251
- };
40252
-
40253
- useEffect(function () {
40254
- checkAuthentication();
40255
- }, []);
40256
- useEffect(function () {
40257
- getInformationSetting();
40258
- }, [location.pathname]);
40259
-
40260
- var checkAuthentication = function checkAuthentication() {
40261
- try {
40262
- var _temp4 = _catch(function () {
40263
- return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
40264
- tokenStatus ? loadInfo() : resetAuth();
40265
- });
40266
- }, function () {
40267
- resetAuth();
40268
- });
40269
-
40270
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
40271
- } catch (e) {
40272
- return Promise.reject(e);
40273
- }
40274
- };
40275
-
40276
- var loadInfo = function loadInfo() {
40277
- try {
40278
- var _temp6 = _catch(function () {
40279
- return Promise.resolve(getInfo()).then(function (info) {
40280
- var _info$data, _info$data$roles;
40281
-
40282
- 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"))) {
40283
- resetAuth();
40284
- }
40285
-
40286
- dispatch(setUser(info.data));
40287
- });
40288
- }, function () {
40289
- resetAuth();
40290
- });
40291
-
40292
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
40293
- } catch (e) {
40294
- return Promise.reject(e);
40295
- }
40296
- };
40297
-
40298
- var resetAuth = function resetAuth() {
40299
- localStorage.removeItem(ACCESS_TOKEN);
40300
- sessionStorage.removeItem(ACCESS_TOKEN);
40301
- localStorage.removeItem("ROLES");
40302
- history.push("/");
40303
- };
40304
-
40305
- if (!user) {
40306
- return React.createElement(Loading, null);
40307
- }
40308
-
40309
- return React.createElement("div", {
40310
- className: "c-app c-default-layout"
40311
- }, !isNotification && React.createElement(TheSidebar, {
40312
- navigation: authNavigations
40313
- }), React.createElement("div", {
40314
- className: "c-wrapper"
40315
- }, !isNotification && React.createElement(TheHeader, {
40316
- onToggleModel: handleToggleModel
40317
- }), React.createElement("div", {
40318
- className: "c-body bg-white"
40319
- }, React.createElement(TheContent$1, {
40320
- routes: authRoutes
40321
- }))), React.createElement(ModelSelectRole, {
40322
- open: openModelSelectRole,
40323
- onToggleModel: handleToggleModel
40324
- }));
40325
- };
40326
-
40327
39889
  var buttonTextStyle = {
40328
39890
  fontWeight: 500
40329
39891
  };
@@ -46136,6 +45698,34 @@ var UserDetail = function UserDetail() {
46136
45698
  });
46137
45699
  };
46138
45700
 
45701
+ var loadingStyle = {
45702
+ minWidth: "100vw",
45703
+ minHeight: "100vh",
45704
+ position: "fixed",
45705
+ top: 0,
45706
+ left: 0,
45707
+ zIndex: 999999999,
45708
+ backgroundColor: "rgba(0, 0, 0, 0.4)",
45709
+ display: "flex",
45710
+ justifyContent: "center",
45711
+ alignItems: "center"
45712
+ };
45713
+
45714
+ var Loading = function Loading() {
45715
+ var isLoading = useSelector(function (state) {
45716
+ return state.common.isLoading;
45717
+ });
45718
+ localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
45719
+ return isLoading ? React.createElement("div", {
45720
+ style: loadingStyle
45721
+ }, React.createElement("div", {
45722
+ className: "spinner-border text-secondary",
45723
+ role: "status"
45724
+ }, React.createElement("span", {
45725
+ className: "sr-only"
45726
+ }, "Loading..."))) : null;
45727
+ };
45728
+
46139
45729
  var ScrollToTop = function ScrollToTop() {
46140
45730
  var _useLocation = useLocation(),
46141
45731
  pathname = _useLocation.pathname;
@@ -49155,6 +48745,32 @@ var store = configureStore({
49155
48745
  }
49156
48746
  });
49157
48747
 
48748
+ var firstCheckToken = function firstCheckToken() {
48749
+ return Promise.resolve(_catch(function () {
48750
+ var token = getAccessToken();
48751
+ return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
48752
+ return tokenStatus.data ? true : false;
48753
+ }) : false;
48754
+ }, function () {
48755
+ return false;
48756
+ }));
48757
+ };
48758
+
48759
+ var canAccess = function canAccess(userRoles, componentRoles) {
48760
+ if (!Array.isArray(userRoles)) {
48761
+ return false;
48762
+ }
48763
+
48764
+ if (Array.isArray(componentRoles)) {
48765
+ var intersects = userRoles.filter(function (i) {
48766
+ return componentRoles.includes(i);
48767
+ });
48768
+ return intersects.length > 0;
48769
+ }
48770
+
48771
+ return true;
48772
+ };
48773
+
49158
48774
  var isInViewport = function isInViewport(el) {
49159
48775
  var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
49160
48776
  return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
@@ -49190,5 +48806,411 @@ var generateRandomString = (function () {
49190
48806
 
49191
48807
  var amplitudeClient = amplitude.getInstance();
49192
48808
 
49193
- 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 };
48809
+ var apiGetLanguage = function apiGetLanguage() {
48810
+ return api.get(BASE_URL + "/api/language");
48811
+ };
48812
+
48813
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
48814
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
48815
+ };
48816
+
48817
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
48818
+
48819
+ var useLanguages = function useLanguages() {
48820
+ var dispatch = useDispatch();
48821
+
48822
+ var _useTranslation = useTranslation(),
48823
+ i18n = _useTranslation.i18n;
48824
+
48825
+ var language = useSelector(function (state) {
48826
+ return state.common.language;
48827
+ });
48828
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
48829
+
48830
+ var _useState = useState([]),
48831
+ languageList = _useState[0],
48832
+ setLanguageList = _useState[1];
48833
+
48834
+ var _useState2 = useState(false),
48835
+ dropdownOpen = _useState2[0],
48836
+ setDropdownOpen = _useState2[1];
48837
+
48838
+ var _useState3 = useState(defaultLanguage),
48839
+ currentLang = _useState3[0],
48840
+ setCurrentLang = _useState3[1];
48841
+
48842
+ var toggle = function toggle() {
48843
+ return setDropdownOpen(function (prevState) {
48844
+ return !prevState;
48845
+ });
48846
+ };
48847
+
48848
+ var changeLanguageApp = function changeLanguageApp(lang) {
48849
+ try {
48850
+ var _temp3 = function _temp3() {
48851
+ dispatch(setLoading(false));
48852
+ };
48853
+
48854
+ dispatch(setLoading(true));
48855
+
48856
+ var _temp4 = _catch(function () {
48857
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
48858
+ i18n.changeLanguage(lang);
48859
+ setCurrentLang(lang);
48860
+ dispatch(setLanguage(lang));
48861
+ });
48862
+ }, function (err) {
48863
+ var _err$response, _err$response$data;
48864
+
48865
+ dispatch(setAlert({
48866
+ type: "danger",
48867
+ 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
48868
+ }));
48869
+ });
48870
+
48871
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
48872
+ } catch (e) {
48873
+ return Promise.reject(e);
48874
+ }
48875
+ };
48876
+
48877
+ var getListLanguage = function getListLanguage() {
48878
+ try {
48879
+ var _temp6 = _catch(function () {
48880
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
48881
+ setLanguageList(res.data);
48882
+ });
48883
+ }, function (err) {
48884
+ var _err$response2, _err$response2$data;
48885
+
48886
+ dispatch(setAlert({
48887
+ type: "danger",
48888
+ 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
48889
+ }));
48890
+ });
48891
+
48892
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
48893
+ } catch (e) {
48894
+ return Promise.reject(e);
48895
+ }
48896
+ };
48897
+
48898
+ useEffect(function () {
48899
+ defaultLanguage != language && changeLanguageApp(defaultLanguage);
48900
+ getListLanguage();
48901
+ }, []);
48902
+ return {
48903
+ languageList: languageList,
48904
+ toggle: toggle,
48905
+ dropdownOpen: dropdownOpen,
48906
+ currentLang: currentLang,
48907
+ changeLanguageApp: changeLanguageApp,
48908
+ setCurrentLang: setCurrentLang
48909
+ };
48910
+ };
48911
+
48912
+ var TheLanguageDropdown = function TheLanguageDropdown() {
48913
+ var _useLanguages = useLanguages(),
48914
+ languageList = _useLanguages.languageList,
48915
+ toggle = _useLanguages.toggle,
48916
+ dropdownOpen = _useLanguages.dropdownOpen,
48917
+ currentLang = _useLanguages.currentLang,
48918
+ changeLanguageApp = _useLanguages.changeLanguageApp;
48919
+
48920
+ var currentLanguage = useMemo(function () {
48921
+ var current = languageList.find(function (i) {
48922
+ return i.code === currentLang;
48923
+ });
48924
+ if (!current) return null;
48925
+ return React.createElement(React.Fragment, null, React.createElement("img", {
48926
+ className: "mr-2 " + styles['dropdown-menu-flag'],
48927
+ src: "" + getStaticFileUrl(current.image)
48928
+ }), " ", current.name);
48929
+ }, [currentLang, languageList]);
48930
+ return React.createElement(Dropdown, {
48931
+ isOpen: dropdownOpen,
48932
+ toggle: toggle,
48933
+ className: "" + styles["dropdown-menu"]
48934
+ }, React.createElement(DropdownToggle, {
48935
+ className: styles["header-avatar"] + " d-flex align-items-center"
48936
+ }, React.createElement("span", {
48937
+ style: {
48938
+ color: "#000",
48939
+ textTransform: "capitalize",
48940
+ display: 'flex',
48941
+ alignItems: 'center'
48942
+ }
48943
+ }, currentLanguage, React.createElement(BsChevronDown, {
48944
+ className: "ml-2",
48945
+ style: {
48946
+ fontSize: '10px'
48947
+ }
48948
+ }))), React.createElement(DropdownMenu, {
48949
+ className: styles["dropdown-content-language"]
48950
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
48951
+ return React.createElement(DropdownItem, {
48952
+ key: lang.code,
48953
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
48954
+ onClick: function onClick() {
48955
+ return changeLanguageApp(lang.code);
48956
+ }
48957
+ }, React.createElement("div", {
48958
+ className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
48959
+ }, React.createElement("span", {
48960
+ className: "mr-2 d-flex hover-opacity"
48961
+ }, React.createElement("img", {
48962
+ style: {
48963
+ width: "30px",
48964
+ height: "25px",
48965
+ borderRadius: "5px"
48966
+ },
48967
+ src: getStaticFileUrl(lang.image)
48968
+ })), lang.name));
48969
+ })));
48970
+ };
48971
+
48972
+ var TheHeader = function TheHeader(_ref) {
48973
+ var onToggleModel = _ref.onToggleModel;
48974
+ var dispatch = useDispatch();
48975
+ var sidebarShow = useSelector(function (state) {
48976
+ return state.common.sidebarShow;
48977
+ });
48978
+
48979
+ var _useTranslation = useTranslation(),
48980
+ t = _useTranslation.t;
48981
+
48982
+ var toggleSidebarMobile = function toggleSidebarMobile() {
48983
+ var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
48984
+ dispatch(setSidebar(val));
48985
+ };
48986
+
48987
+ var isDistrict = window.location.host.includes("-district");
48988
+ return React.createElement(CHeader, {
48989
+ withSubheader: true,
48990
+ className: "d-flex align-items-center justify-content-end"
48991
+ }, React.createElement(CToggler, {
48992
+ inHeader: true,
48993
+ className: "ml-md-3 d-lg-none",
48994
+ onClick: toggleSidebarMobile
48995
+ }), React.createElement(CHeaderBrand, {
48996
+ className: "mx-auto flex-grow-1 d-lg-none",
48997
+ to: "/"
48998
+ }, React.createElement("img", {
48999
+ src: getStaticFileUrl(Images.LOGO_HEADER),
49000
+ className: styles["header-logo"]
49001
+ })), React.createElement(CHeaderNav, {
49002
+ className: "pr-3"
49003
+ }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
49004
+ className: "mr-3",
49005
+ style: {
49006
+ color: '#000'
49007
+ },
49008
+ href: '/privacy-policy',
49009
+ target: "blank"
49010
+ }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
49011
+ onToggleModel: onToggleModel
49012
+ })));
49013
+ };
49014
+
49015
+ var ModelSelectRole = function ModelSelectRole(_ref) {
49016
+ var _handleUserRole;
49017
+
49018
+ var open = _ref.open,
49019
+ onToggleModel = _ref.onToggleModel;
49020
+ var dispatch = useDispatch();
49021
+
49022
+ var _useTranslation = useTranslation(),
49023
+ t = _useTranslation.t;
49024
+
49025
+ var history = useHistory();
49026
+ var pathname = window.location.pathname;
49027
+ var user = useSelector(function (state) {
49028
+ return state.common.user;
49029
+ });
49030
+ var roles = user === null || user === void 0 ? void 0 : user.roles;
49031
+
49032
+ var handleSelectUserRoles = function handleSelectUserRoles(roles) {
49033
+ dispatch(setLoading(true));
49034
+ var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
49035
+ dispatch(setUser(_extends({}, user, {
49036
+ roles: roleSelect
49037
+ })));
49038
+ localStorage.setItem("ROLES", roleSelect.toString());
49039
+ onToggleModel();
49040
+
49041
+ if (roles.includes("Parent")) {
49042
+ history.push("/parent");
49043
+ } else if (roles.includes("Admin")) {
49044
+ history.push("/admin/home");
49045
+ } else {
49046
+ pathname !== "/home" ? history.push("/home") : window.location.reload();
49047
+ }
49048
+ };
49049
+
49050
+ return React.createElement(Modal, {
49051
+ isOpen: open,
49052
+ toggle: function toggle() {
49053
+ return onToggleModel();
49054
+ },
49055
+ className: "" + styles["model-switch-roles"],
49056
+ centered: true
49057
+ }, React.createElement("p", {
49058
+ className: "" + styles["title"]
49059
+ }, 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) {
49060
+ return React.createElement("p", {
49061
+ key: r,
49062
+ 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" : ""],
49063
+ onClick: function onClick() {
49064
+ return handleSelectUserRoles([r]);
49065
+ }
49066
+ }, r == "SecondaryTeacher" ? "Support Teacher" : r);
49067
+ })));
49068
+ };
49069
+
49070
+ var TheLayout = function TheLayout(_ref) {
49071
+ var routes = _ref.routes,
49072
+ navigation = _ref.navigation;
49073
+ var history = useHistory();
49074
+ var dispatch = useDispatch();
49075
+ var user = useSelector(function (state) {
49076
+ return state.common.user;
49077
+ });
49078
+ var language = useSelector(function (state) {
49079
+ return state.common.language;
49080
+ });
49081
+
49082
+ var _useState = useState(false),
49083
+ openModelSelectRole = _useState[0],
49084
+ setOpenModelSelectRole = _useState[1];
49085
+
49086
+ var _useTranslation = useTranslation(),
49087
+ t = _useTranslation.t;
49088
+
49089
+ var location = useLocation();
49090
+ var isNotification = location.pathname.includes("notifications");
49091
+ var isDistrict = window.location.host.includes("-district");
49092
+
49093
+ var handleToggleModel = function handleToggleModel() {
49094
+ setOpenModelSelectRole(!openModelSelectRole);
49095
+ };
49096
+
49097
+ var authRoutes = useMemo(function () {
49098
+ return routes.filter(function (route) {
49099
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
49100
+ }).filter(function (route) {
49101
+ return !!route.isDistrict === isDistrict;
49102
+ });
49103
+ }, [user, language]);
49104
+ var authNavigations = useMemo(function () {
49105
+ return navigation.map(function (item) {
49106
+ var _item$_children, _item$_children2;
49107
+
49108
+ return _extends({}, item, {
49109
+ name: t(item.name),
49110
+ _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) {
49111
+ return _extends({}, x, {
49112
+ name: t(x.name)
49113
+ });
49114
+ }) : undefined
49115
+ });
49116
+ }).filter(function (nav) {
49117
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
49118
+ }).filter(function (nav) {
49119
+ return !!nav.isDistrict === isDistrict;
49120
+ });
49121
+ }, [user, language]);
49122
+
49123
+ var getInformationSetting = function getInformationSetting() {
49124
+ try {
49125
+ var _temp2 = _catch(function () {
49126
+ return Promise.resolve(getSchoolSettings()).then(function (res) {
49127
+ dispatch(setSandboxMode(res.data.isSandboxMode));
49128
+ });
49129
+ }, function (err) {
49130
+ console.error(err);
49131
+ });
49132
+
49133
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
49134
+ } catch (e) {
49135
+ return Promise.reject(e);
49136
+ }
49137
+ };
49138
+
49139
+ useEffect(function () {
49140
+ checkAuthentication();
49141
+ }, []);
49142
+ useEffect(function () {
49143
+ getInformationSetting();
49144
+ }, [location.pathname]);
49145
+
49146
+ var checkAuthentication = function checkAuthentication() {
49147
+ try {
49148
+ var _temp4 = _catch(function () {
49149
+ return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
49150
+ tokenStatus ? loadInfo() : resetAuth();
49151
+ });
49152
+ }, function () {
49153
+ resetAuth();
49154
+ });
49155
+
49156
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
49157
+ } catch (e) {
49158
+ return Promise.reject(e);
49159
+ }
49160
+ };
49161
+
49162
+ var loadInfo = function loadInfo() {
49163
+ try {
49164
+ var _temp6 = _catch(function () {
49165
+ return Promise.resolve(getInfo()).then(function (info) {
49166
+ var _info$data, _info$data$roles;
49167
+
49168
+ 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"))) {
49169
+ resetAuth();
49170
+ }
49171
+
49172
+ dispatch(setUser(info.data));
49173
+ });
49174
+ }, function () {
49175
+ resetAuth();
49176
+ });
49177
+
49178
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
49179
+ } catch (e) {
49180
+ return Promise.reject(e);
49181
+ }
49182
+ };
49183
+
49184
+ var resetAuth = function resetAuth() {
49185
+ localStorage.removeItem(ACCESS_TOKEN);
49186
+ sessionStorage.removeItem(ACCESS_TOKEN);
49187
+ localStorage.removeItem("ROLES");
49188
+ history.push("/");
49189
+ };
49190
+
49191
+ if (!user) {
49192
+ return React.createElement(Loading, null);
49193
+ }
49194
+
49195
+ return React.createElement("div", {
49196
+ className: "c-app c-default-layout"
49197
+ }, !isNotification && React.createElement(TheSidebar, {
49198
+ navigation: authNavigations
49199
+ }), React.createElement("div", {
49200
+ className: "c-wrapper"
49201
+ }, !isNotification && React.createElement(TheHeader, {
49202
+ onToggleModel: handleToggleModel
49203
+ }), React.createElement("div", {
49204
+ className: "c-body bg-white"
49205
+ }, React.createElement(TheContent$1, {
49206
+ routes: authRoutes
49207
+ }))), React.createElement(ModelSelectRole, {
49208
+ open: openModelSelectRole,
49209
+ onToggleModel: handleToggleModel
49210
+ }));
49211
+ };
49212
+
49213
+ var amplitudeClient$1 = amplitude.getInstance();
49214
+
49215
+ 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 };
49194
49216
  //# sourceMappingURL=index.modern.js.map