mario-core 2.9.407-feedback → 2.9.409-feedback

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, 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, Card, CardBody, CardText, Tooltip, CustomInput, CardImg, CardTitle, CardHeader } from 'reactstrap';
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, Card, CardBody, CardText, Tooltip, CustomInput, CardImg, 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';
@@ -17,7 +17,7 @@ import { track, setSessionId, init, Identify, identify } from '@amplitude/analyt
17
17
  import moment from 'moment';
18
18
  import { LogLevel, PublicClientApplication } from '@azure/msal-browser';
19
19
  import { GiHamburgerMenu } from 'react-icons/gi';
20
- import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter, CContainer, CHeader, CToggler, CHeaderBrand, CHeaderNav } from '@coreui/react';
20
+ import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter, CHeader, CToggler, CHeaderBrand, CHeaderNav, CContainer } from '@coreui/react';
21
21
  import { CgMenuRight } from 'react-icons/cg';
22
22
  import { RiLogoutBoxRLine } from 'react-icons/ri';
23
23
  import Pusher from 'pusher-js/with-encryption';
@@ -1008,6 +1008,7 @@ var create_template_system = "Create Template System";
1008
1008
  var created_at = "Created At";
1009
1009
  var do_you_want_to_remove_this_template = "Do you want to remove this template?";
1010
1010
  var one_roster_setting = "OneRoster Setting";
1011
+ var clever_setting = "Clever Setting";
1011
1012
  var users = "Users";
1012
1013
  var one_roster_config = "OneRoster Config";
1013
1014
  var end_point_url = "End Point URL";
@@ -2180,6 +2181,7 @@ var save_note = "Save note";
2180
2181
  var type_the_main_focus_of_this_session = "Type the main focus of this session";
2181
2182
  var please_add_title_note = "Please add note title";
2182
2183
  var notes_and_logs = "Notes and Logs";
2184
+ var school_monthly_usage = "School Monthly Usage";
2183
2185
  var lang_us = {
2184
2186
  dashboard: dashboard,
2185
2187
  user: user,
@@ -3169,6 +3171,7 @@ var lang_us = {
3169
3171
  created_at: created_at,
3170
3172
  do_you_want_to_remove_this_template: do_you_want_to_remove_this_template,
3171
3173
  one_roster_setting: one_roster_setting,
3174
+ clever_setting: clever_setting,
3172
3175
  users: users,
3173
3176
  one_roster_config: one_roster_config,
3174
3177
  end_point_url: end_point_url,
@@ -4376,7 +4379,8 @@ var lang_us = {
4376
4379
  save_note: save_note,
4377
4380
  type_the_main_focus_of_this_session: type_the_main_focus_of_this_session,
4378
4381
  please_add_title_note: please_add_title_note,
4379
- notes_and_logs: notes_and_logs
4382
+ notes_and_logs: notes_and_logs,
4383
+ school_monthly_usage: school_monthly_usage
4380
4384
  };
4381
4385
 
4382
4386
  var dashboard$1 = "Dashboard";
@@ -5352,6 +5356,7 @@ var create_template_system$1 = "Create Template System";
5352
5356
  var created_at$1 = "Created At";
5353
5357
  var do_you_want_to_remove_this_template$1 = "Do you want to remove this template?";
5354
5358
  var one_roster_setting$1 = "OneRoster Setting";
5359
+ var clever_setting$1 = "Clever Setting";
5355
5360
  var users$1 = "Users";
5356
5361
  var one_roster_config$1 = "OneRoster Config";
5357
5362
  var end_point_url$1 = "End Point URL";
@@ -6521,6 +6526,7 @@ var save_note$1 = "Save note";
6521
6526
  var type_the_main_focus_of_this_session$1 = "Type the main focus of this session";
6522
6527
  var please_add_title_note$1 = "Please add note title";
6523
6528
  var notes_and_logs$1 = "Notes and Logs";
6529
+ var school_monthly_usage$1 = "School Monthly Usage";
6524
6530
  var lang_uk = {
6525
6531
  dashboard: dashboard$1,
6526
6532
  user: user$1,
@@ -7513,6 +7519,7 @@ var lang_uk = {
7513
7519
  created_at: created_at$1,
7514
7520
  do_you_want_to_remove_this_template: do_you_want_to_remove_this_template$1,
7515
7521
  one_roster_setting: one_roster_setting$1,
7522
+ clever_setting: clever_setting$1,
7516
7523
  users: users$1,
7517
7524
  one_roster_config: one_roster_config$1,
7518
7525
  end_point_url: end_point_url$1,
@@ -8715,7 +8722,8 @@ var lang_uk = {
8715
8722
  save_note: save_note$1,
8716
8723
  type_the_main_focus_of_this_session: type_the_main_focus_of_this_session$1,
8717
8724
  please_add_title_note: please_add_title_note$1,
8718
- notes_and_logs: notes_and_logs$1
8725
+ notes_and_logs: notes_and_logs$1,
8726
+ school_monthly_usage: school_monthly_usage$1
8719
8727
  };
8720
8728
 
8721
8729
  var dashboard$2 = "لوحة المعلومات";
@@ -9688,6 +9696,7 @@ var create_template_system$2 = "إنشاء قالب النظام";
9688
9696
  var created_at$2 = "تم إنشاؤه في";
9689
9697
  var do_you_want_to_remove_this_template$2 = "هل تريد إزالة هذا القالب؟";
9690
9698
  var one_roster_setting$2 = "إعداد OneRoster";
9699
+ var clever_setting$2 = "إعداد ذكي";
9691
9700
  var users$2 = "المستخدمون";
9692
9701
  var one_roster_config$2 = "ضبط OneRoster";
9693
9702
  var end_point_url$2 = "عنوان URL لنقطة النهاية";
@@ -10890,6 +10899,7 @@ var save_note$2 = "Save note";
10890
10899
  var type_the_main_focus_of_this_session$2 = "Type the main focus of this session";
10891
10900
  var please_add_title_note$2 = "Please add note title";
10892
10901
  var notes_and_logs$2 = "Notes and Logs";
10902
+ var school_monthly_usage$2 = "School Monthly Usage";
10893
10903
  var lang_ar = {
10894
10904
  dashboard: dashboard$2,
10895
10905
  user: user$2,
@@ -11877,6 +11887,7 @@ var lang_ar = {
11877
11887
  created_at: created_at$2,
11878
11888
  do_you_want_to_remove_this_template: do_you_want_to_remove_this_template$2,
11879
11889
  one_roster_setting: one_roster_setting$2,
11890
+ clever_setting: clever_setting$2,
11880
11891
  users: users$2,
11881
11892
  one_roster_config: one_roster_config$2,
11882
11893
  end_point_url: end_point_url$2,
@@ -13116,7 +13127,8 @@ var lang_ar = {
13116
13127
  save_note: save_note$2,
13117
13128
  type_the_main_focus_of_this_session: type_the_main_focus_of_this_session$2,
13118
13129
  please_add_title_note: please_add_title_note$2,
13119
- notes_and_logs: notes_and_logs$2
13130
+ notes_and_logs: notes_and_logs$2,
13131
+ school_monthly_usage: school_monthly_usage$2
13120
13132
  };
13121
13133
 
13122
13134
  var dashboard$3 = "Cuadro de mandos";
@@ -14089,6 +14101,7 @@ var create_template_system$3 = "Crear sistema de plantillas";
14089
14101
  var created_at$3 = "Creado en";
14090
14102
  var do_you_want_to_remove_this_template$3 = "¿Desea eliminar esta plantilla?";
14091
14103
  var one_roster_setting$3 = "Configuración de OneRoster";
14104
+ var clever_setting$3 = "Configuración inteligente";
14092
14105
  var users$3 = "Usuarios";
14093
14106
  var one_roster_config$3 = "Configuración OneRoster";
14094
14107
  var end_point_url$3 = "URL del punto final";
@@ -15291,6 +15304,7 @@ var save_note$3 = "Save note";
15291
15304
  var type_the_main_focus_of_this_session$3 = "Type the main focus of this session";
15292
15305
  var please_add_title_note$3 = "Please add note title";
15293
15306
  var notes_and_logs$3 = "Notes and Logs";
15307
+ var school_monthly_usage$3 = "School Monthly Usage";
15294
15308
  var lang_es = {
15295
15309
  dashboard: dashboard$3,
15296
15310
  user: user$3,
@@ -16278,6 +16292,7 @@ var lang_es = {
16278
16292
  created_at: created_at$3,
16279
16293
  do_you_want_to_remove_this_template: do_you_want_to_remove_this_template$3,
16280
16294
  one_roster_setting: one_roster_setting$3,
16295
+ clever_setting: clever_setting$3,
16281
16296
  users: users$3,
16282
16297
  one_roster_config: one_roster_config$3,
16283
16298
  end_point_url: end_point_url$3,
@@ -17517,7 +17532,8 @@ var lang_es = {
17517
17532
  save_note: save_note$3,
17518
17533
  type_the_main_focus_of_this_session: type_the_main_focus_of_this_session$3,
17519
17534
  please_add_title_note: please_add_title_note$3,
17520
- notes_and_logs: notes_and_logs$3
17535
+ notes_and_logs: notes_and_logs$3,
17536
+ school_monthly_usage: school_monthly_usage$3
17521
17537
  };
17522
17538
 
17523
17539
  var dashboard$4 = "仪表板";
@@ -18490,6 +18506,7 @@ var create_template_system$4 = "创建模板系统";
18490
18506
  var created_at$4 = "创建时间";
18491
18507
  var do_you_want_to_remove_this_template$4 = "是否要删除此模板?";
18492
18508
  var one_roster_setting$4 = "OneRoster 设置";
18509
+ var clever_setting$4 = "巧妙的设置";
18493
18510
  var users$4 = "用户";
18494
18511
  var one_roster_config$4 = "OneRoster 配置";
18495
18512
  var end_point_url$4 = "端点 URL";
@@ -19692,6 +19709,7 @@ var save_note$4 = "Save note";
19692
19709
  var type_the_main_focus_of_this_session$4 = "Type the main focus of this session";
19693
19710
  var please_add_title_note$4 = "Please add note title";
19694
19711
  var notes_and_logs$4 = "Notes and Logs";
19712
+ var school_monthly_usage$4 = "School Monthly Usage";
19695
19713
  var lang_zh = {
19696
19714
  dashboard: dashboard$4,
19697
19715
  user: user$4,
@@ -20679,6 +20697,7 @@ var lang_zh = {
20679
20697
  created_at: created_at$4,
20680
20698
  do_you_want_to_remove_this_template: do_you_want_to_remove_this_template$4,
20681
20699
  one_roster_setting: one_roster_setting$4,
20700
+ clever_setting: clever_setting$4,
20682
20701
  users: users$4,
20683
20702
  one_roster_config: one_roster_config$4,
20684
20703
  end_point_url: end_point_url$4,
@@ -21918,7 +21937,8 @@ var lang_zh = {
21918
21937
  save_note: save_note$4,
21919
21938
  type_the_main_focus_of_this_session: type_the_main_focus_of_this_session$4,
21920
21939
  please_add_title_note: please_add_title_note$4,
21921
- notes_and_logs: notes_and_logs$4
21940
+ notes_and_logs: notes_and_logs$4,
21941
+ school_monthly_usage: school_monthly_usage$4
21922
21942
  };
21923
21943
 
21924
21944
  var TINY_MCE_API_KEY = "htqausuofrnali3nh9ivmlpq6v415o0tv2qikpg39bqf4pnk";
@@ -41786,6 +41806,212 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
41786
41806
  })), t("log_out")))));
41787
41807
  };
41788
41808
 
41809
+ var apiGetLanguage = function apiGetLanguage() {
41810
+ return api.get(BASE_URL + "/api/language");
41811
+ };
41812
+
41813
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
41814
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
41815
+ };
41816
+
41817
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
41818
+
41819
+ var useLanguages = function useLanguages() {
41820
+ var dispatch = useDispatch();
41821
+
41822
+ var _useTranslation = useTranslation(),
41823
+ i18n = _useTranslation.i18n;
41824
+
41825
+ var language = useSelector(function (state) {
41826
+ return state.common.language;
41827
+ });
41828
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
41829
+
41830
+ var _useState = useState([]),
41831
+ languageList = _useState[0],
41832
+ setLanguageList = _useState[1];
41833
+
41834
+ var _useState2 = useState(false),
41835
+ dropdownOpen = _useState2[0],
41836
+ setDropdownOpen = _useState2[1];
41837
+
41838
+ var _useState3 = useState(defaultLanguage),
41839
+ currentLang = _useState3[0],
41840
+ setCurrentLang = _useState3[1];
41841
+
41842
+ var toggle = function toggle() {
41843
+ return setDropdownOpen(function (prevState) {
41844
+ return !prevState;
41845
+ });
41846
+ };
41847
+
41848
+ var changeLanguageApp = function changeLanguageApp(lang) {
41849
+ try {
41850
+ var _temp3 = function _temp3() {
41851
+ dispatch(setLoading(false));
41852
+ };
41853
+
41854
+ dispatch(setLoading(true));
41855
+
41856
+ var _temp4 = _catch(function () {
41857
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
41858
+ i18n.changeLanguage(lang);
41859
+ setCurrentLang(lang);
41860
+ dispatch(setLanguage(lang));
41861
+ });
41862
+ }, function (err) {
41863
+ var _err$response, _err$response$data;
41864
+
41865
+ dispatch(setAlert({
41866
+ type: "danger",
41867
+ 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
41868
+ }));
41869
+ });
41870
+
41871
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
41872
+ } catch (e) {
41873
+ return Promise.reject(e);
41874
+ }
41875
+ };
41876
+
41877
+ var getListLanguage = function getListLanguage() {
41878
+ try {
41879
+ var _temp6 = _catch(function () {
41880
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
41881
+ setLanguageList(res.data);
41882
+ });
41883
+ }, function (err) {
41884
+ var _err$response2, _err$response2$data;
41885
+
41886
+ dispatch(setAlert({
41887
+ type: "danger",
41888
+ 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
41889
+ }));
41890
+ });
41891
+
41892
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
41893
+ } catch (e) {
41894
+ return Promise.reject(e);
41895
+ }
41896
+ };
41897
+
41898
+ useEffect(function () {
41899
+ defaultLanguage != language && changeLanguageApp(defaultLanguage);
41900
+ getListLanguage();
41901
+ }, []);
41902
+ return {
41903
+ languageList: languageList,
41904
+ toggle: toggle,
41905
+ dropdownOpen: dropdownOpen,
41906
+ currentLang: currentLang,
41907
+ changeLanguageApp: changeLanguageApp,
41908
+ setCurrentLang: setCurrentLang
41909
+ };
41910
+ };
41911
+
41912
+ var TheLanguageDropdown = function TheLanguageDropdown() {
41913
+ var _useLanguages = useLanguages(),
41914
+ languageList = _useLanguages.languageList,
41915
+ toggle = _useLanguages.toggle,
41916
+ dropdownOpen = _useLanguages.dropdownOpen,
41917
+ currentLang = _useLanguages.currentLang,
41918
+ changeLanguageApp = _useLanguages.changeLanguageApp;
41919
+
41920
+ var currentLanguage = useMemo(function () {
41921
+ var current = languageList.find(function (i) {
41922
+ return i.code === currentLang;
41923
+ });
41924
+ if (!current) return null;
41925
+ return React.createElement(React.Fragment, null, React.createElement("img", {
41926
+ className: "mr-2 " + styles['dropdown-menu-flag'],
41927
+ src: "" + getStaticFileUrl(current.image)
41928
+ }), " ", current.name);
41929
+ }, [currentLang, languageList]);
41930
+ return React.createElement(Dropdown, {
41931
+ isOpen: dropdownOpen,
41932
+ toggle: toggle,
41933
+ className: "" + styles["dropdown-menu"]
41934
+ }, React.createElement(DropdownToggle, {
41935
+ className: styles["header-avatar"] + " d-flex align-items-center"
41936
+ }, React.createElement("span", {
41937
+ style: {
41938
+ color: "#000",
41939
+ textTransform: "capitalize",
41940
+ display: 'flex',
41941
+ alignItems: 'center'
41942
+ }
41943
+ }, currentLanguage, React.createElement(BsChevronDown, {
41944
+ className: "ml-2",
41945
+ style: {
41946
+ fontSize: '10px'
41947
+ }
41948
+ }))), React.createElement(DropdownMenu, {
41949
+ className: styles["dropdown-content-language"]
41950
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
41951
+ return React.createElement(DropdownItem, {
41952
+ key: lang.code,
41953
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
41954
+ onClick: function onClick() {
41955
+ return changeLanguageApp(lang.code);
41956
+ }
41957
+ }, React.createElement("div", {
41958
+ className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
41959
+ }, React.createElement("span", {
41960
+ className: "mr-2 d-flex hover-opacity"
41961
+ }, React.createElement("img", {
41962
+ style: {
41963
+ width: "30px",
41964
+ height: "25px",
41965
+ borderRadius: "5px"
41966
+ },
41967
+ src: getStaticFileUrl(lang.image)
41968
+ })), lang.name));
41969
+ })));
41970
+ };
41971
+
41972
+ var TheHeader = function TheHeader(_ref) {
41973
+ var onToggleModel = _ref.onToggleModel;
41974
+ var dispatch = useDispatch();
41975
+ var sidebarShow = useSelector(function (state) {
41976
+ return state.common.sidebarShow;
41977
+ });
41978
+
41979
+ var _useTranslation = useTranslation(),
41980
+ t = _useTranslation.t;
41981
+
41982
+ var toggleSidebarMobile = function toggleSidebarMobile() {
41983
+ var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
41984
+ dispatch(setSidebar(val));
41985
+ };
41986
+
41987
+ var isDistrict = window.location.host.includes("-district");
41988
+ return React.createElement(CHeader, {
41989
+ withSubheader: true,
41990
+ className: "d-flex align-items-center justify-content-end"
41991
+ }, React.createElement(CToggler, {
41992
+ inHeader: true,
41993
+ className: "ml-md-3 d-lg-none",
41994
+ onClick: toggleSidebarMobile
41995
+ }), React.createElement(CHeaderBrand, {
41996
+ className: "mx-auto flex-grow-1 d-lg-none",
41997
+ to: "/"
41998
+ }, React.createElement("img", {
41999
+ src: getStaticFileUrl(Images.LOGO_HEADER),
42000
+ className: styles["header-logo"]
42001
+ })), React.createElement(CHeaderNav, {
42002
+ className: "pr-3"
42003
+ }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
42004
+ className: "mr-3",
42005
+ style: {
42006
+ color: '#000'
42007
+ },
42008
+ href: '/privacy-policy',
42009
+ target: "blank"
42010
+ }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
42011
+ onToggleModel: onToggleModel
42012
+ })));
42013
+ };
42014
+
41789
42015
  var TITLE$3 = "Not found";
41790
42016
 
41791
42017
  var NotFound = function NotFound() {
@@ -41843,6 +42069,258 @@ var TheContent = function TheContent(_ref) {
41843
42069
 
41844
42070
  var TheContent$1 = React.memo(TheContent);
41845
42071
 
42072
+ var loadingStyle = {
42073
+ minWidth: "100vw",
42074
+ minHeight: "100vh",
42075
+ position: "fixed",
42076
+ top: 0,
42077
+ left: 0,
42078
+ zIndex: 999999999,
42079
+ backgroundColor: "rgba(0, 0, 0, 0.4)",
42080
+ display: "flex",
42081
+ justifyContent: "center",
42082
+ alignItems: "center"
42083
+ };
42084
+
42085
+ var Loading = function Loading() {
42086
+ var isLoading = useSelector(function (state) {
42087
+ return state.common.isLoading;
42088
+ });
42089
+ localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
42090
+ return isLoading ? React.createElement("div", {
42091
+ style: loadingStyle
42092
+ }, React.createElement("div", {
42093
+ className: "spinner-border text-secondary",
42094
+ role: "status"
42095
+ }, React.createElement("span", {
42096
+ className: "sr-only"
42097
+ }, "Loading..."))) : null;
42098
+ };
42099
+
42100
+ var firstCheckToken = function firstCheckToken() {
42101
+ return Promise.resolve(_catch(function () {
42102
+ var token = getAccessToken();
42103
+ return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
42104
+ return tokenStatus.data ? true : false;
42105
+ }) : false;
42106
+ }, function () {
42107
+ return false;
42108
+ }));
42109
+ };
42110
+
42111
+ var canAccess = function canAccess(userRoles, componentRoles) {
42112
+ if (!Array.isArray(userRoles)) {
42113
+ return false;
42114
+ }
42115
+
42116
+ if (Array.isArray(componentRoles)) {
42117
+ var intersects = userRoles.filter(function (i) {
42118
+ return componentRoles.includes(i);
42119
+ });
42120
+ return intersects.length > 0;
42121
+ }
42122
+
42123
+ return true;
42124
+ };
42125
+
42126
+ var ModelSelectRole = function ModelSelectRole(_ref) {
42127
+ var _handleUserRole;
42128
+
42129
+ var open = _ref.open,
42130
+ onToggleModel = _ref.onToggleModel;
42131
+ var dispatch = useDispatch();
42132
+
42133
+ var _useTranslation = useTranslation(),
42134
+ t = _useTranslation.t;
42135
+
42136
+ var history = useHistory();
42137
+ var pathname = window.location.pathname;
42138
+ var user = useSelector(function (state) {
42139
+ return state.common.user;
42140
+ });
42141
+ var roles = user === null || user === void 0 ? void 0 : user.roles;
42142
+
42143
+ var handleSelectUserRoles = function handleSelectUserRoles(roles) {
42144
+ dispatch(setLoading(true));
42145
+ var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
42146
+ dispatch(setUser(_extends({}, user, {
42147
+ roles: roleSelect
42148
+ })));
42149
+ localStorage.setItem("ROLES", roleSelect.toString());
42150
+ onToggleModel();
42151
+
42152
+ if (roles.includes("Parent")) {
42153
+ history.push("/parent");
42154
+ } else if (roles.includes("Admin")) {
42155
+ history.push("/admin/home");
42156
+ } else {
42157
+ pathname !== "/home" ? history.push("/home") : window.location.reload();
42158
+ }
42159
+ };
42160
+
42161
+ return React.createElement(Modal, {
42162
+ isOpen: open,
42163
+ toggle: function toggle() {
42164
+ return onToggleModel();
42165
+ },
42166
+ className: "" + styles["model-switch-roles"],
42167
+ centered: true
42168
+ }, React.createElement("p", {
42169
+ className: "" + styles["title"]
42170
+ }, 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) {
42171
+ return React.createElement("p", {
42172
+ key: r,
42173
+ 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" : ""],
42174
+ onClick: function onClick() {
42175
+ return handleSelectUserRoles([r]);
42176
+ }
42177
+ }, r == "SecondaryTeacher" ? "Support Teacher" : r);
42178
+ })));
42179
+ };
42180
+
42181
+ var TheLayout = function TheLayout(_ref) {
42182
+ var routes = _ref.routes,
42183
+ navigation = _ref.navigation;
42184
+ var history = useHistory();
42185
+ var dispatch = useDispatch();
42186
+ var user = useSelector(function (state) {
42187
+ return state.common.user;
42188
+ });
42189
+ var language = useSelector(function (state) {
42190
+ return state.common.language;
42191
+ });
42192
+
42193
+ var _useState = useState(false),
42194
+ openModelSelectRole = _useState[0],
42195
+ setOpenModelSelectRole = _useState[1];
42196
+
42197
+ var _useTranslation = useTranslation(),
42198
+ t = _useTranslation.t;
42199
+
42200
+ var location = useLocation();
42201
+ var isNotification = location.pathname.includes("notifications");
42202
+ var isDistrict = window.location.host.includes("-district");
42203
+
42204
+ var handleToggleModel = function handleToggleModel() {
42205
+ setOpenModelSelectRole(!openModelSelectRole);
42206
+ };
42207
+
42208
+ var authRoutes = useMemo(function () {
42209
+ return routes.filter(function (route) {
42210
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
42211
+ }).filter(function (route) {
42212
+ return !!route.isDistrict === isDistrict;
42213
+ });
42214
+ }, [user, language]);
42215
+ var authNavigations = useMemo(function () {
42216
+ return navigation.map(function (item) {
42217
+ var _item$_children, _item$_children2;
42218
+
42219
+ return _extends({}, item, {
42220
+ name: t(item.name),
42221
+ _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) {
42222
+ return _extends({}, x, {
42223
+ name: t(x.name)
42224
+ });
42225
+ }) : undefined
42226
+ });
42227
+ }).filter(function (nav) {
42228
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
42229
+ }).filter(function (nav) {
42230
+ return !!nav.isDistrict === isDistrict;
42231
+ });
42232
+ }, [user, language]);
42233
+
42234
+ var getInformationSetting = function getInformationSetting() {
42235
+ try {
42236
+ var _temp2 = _catch(function () {
42237
+ return Promise.resolve(getSchoolSettings()).then(function (res) {
42238
+ dispatch(setSandboxMode(res.data.isSandboxMode));
42239
+ });
42240
+ }, function (err) {
42241
+ console.error(err);
42242
+ });
42243
+
42244
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
42245
+ } catch (e) {
42246
+ return Promise.reject(e);
42247
+ }
42248
+ };
42249
+
42250
+ useEffect(function () {
42251
+ checkAuthentication();
42252
+ }, []);
42253
+ useEffect(function () {
42254
+ getInformationSetting();
42255
+ }, [location.pathname]);
42256
+
42257
+ var checkAuthentication = function checkAuthentication() {
42258
+ try {
42259
+ var _temp4 = _catch(function () {
42260
+ return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
42261
+ tokenStatus ? loadInfo() : resetAuth();
42262
+ });
42263
+ }, function () {
42264
+ resetAuth();
42265
+ });
42266
+
42267
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
42268
+ } catch (e) {
42269
+ return Promise.reject(e);
42270
+ }
42271
+ };
42272
+
42273
+ var loadInfo = function loadInfo() {
42274
+ try {
42275
+ var _temp6 = _catch(function () {
42276
+ return Promise.resolve(getInfo()).then(function (info) {
42277
+ var _info$data, _info$data$roles;
42278
+
42279
+ 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"))) {
42280
+ resetAuth();
42281
+ }
42282
+
42283
+ dispatch(setUser(info.data));
42284
+ });
42285
+ }, function () {
42286
+ resetAuth();
42287
+ });
42288
+
42289
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
42290
+ } catch (e) {
42291
+ return Promise.reject(e);
42292
+ }
42293
+ };
42294
+
42295
+ var resetAuth = function resetAuth() {
42296
+ localStorage.removeItem(ACCESS_TOKEN);
42297
+ sessionStorage.removeItem(ACCESS_TOKEN);
42298
+ localStorage.removeItem("ROLES");
42299
+ history.push("/");
42300
+ };
42301
+
42302
+ if (!user) {
42303
+ return React.createElement(Loading, null);
42304
+ }
42305
+
42306
+ return React.createElement("div", {
42307
+ className: "c-app c-default-layout"
42308
+ }, !isNotification && React.createElement(TheSidebar, {
42309
+ navigation: authNavigations
42310
+ }), React.createElement("div", {
42311
+ className: "c-wrapper"
42312
+ }, !isNotification && React.createElement(TheHeader, {
42313
+ onToggleModel: handleToggleModel
42314
+ }), React.createElement("div", {
42315
+ className: "c-body bg-white"
42316
+ }, React.createElement(TheContent$1, {
42317
+ routes: authRoutes
42318
+ }))), React.createElement(ModelSelectRole, {
42319
+ open: openModelSelectRole,
42320
+ onToggleModel: handleToggleModel
42321
+ }));
42322
+ };
42323
+
41846
42324
  var buttonTextStyle = {
41847
42325
  fontWeight: 500
41848
42326
  };
@@ -51191,34 +51669,6 @@ var UserDetail = function UserDetail() {
51191
51669
  });
51192
51670
  };
51193
51671
 
51194
- var loadingStyle = {
51195
- minWidth: "100vw",
51196
- minHeight: "100vh",
51197
- position: "fixed",
51198
- top: 0,
51199
- left: 0,
51200
- zIndex: 999999999,
51201
- backgroundColor: "rgba(0, 0, 0, 0.4)",
51202
- display: "flex",
51203
- justifyContent: "center",
51204
- alignItems: "center"
51205
- };
51206
-
51207
- var Loading = function Loading() {
51208
- var isLoading = useSelector(function (state) {
51209
- return state.common.isLoading;
51210
- });
51211
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
51212
- return isLoading ? React.createElement("div", {
51213
- style: loadingStyle
51214
- }, React.createElement("div", {
51215
- className: "spinner-border text-secondary",
51216
- role: "status"
51217
- }, React.createElement("span", {
51218
- className: "sr-only"
51219
- }, "Loading..."))) : null;
51220
- };
51221
-
51222
51672
  var ScrollToTop = function ScrollToTop() {
51223
51673
  var _useLocation = useLocation(),
51224
51674
  pathname = _useLocation.pathname;
@@ -54242,32 +54692,6 @@ var store = configureStore({
54242
54692
  }
54243
54693
  });
54244
54694
 
54245
- var firstCheckToken = function firstCheckToken() {
54246
- return Promise.resolve(_catch(function () {
54247
- var token = getAccessToken();
54248
- return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
54249
- return tokenStatus.data ? true : false;
54250
- }) : false;
54251
- }, function () {
54252
- return false;
54253
- }));
54254
- };
54255
-
54256
- var canAccess = function canAccess(userRoles, componentRoles) {
54257
- if (!Array.isArray(userRoles)) {
54258
- return false;
54259
- }
54260
-
54261
- if (Array.isArray(componentRoles)) {
54262
- var intersects = userRoles.filter(function (i) {
54263
- return componentRoles.includes(i);
54264
- });
54265
- return intersects.length > 0;
54266
- }
54267
-
54268
- return true;
54269
- };
54270
-
54271
54695
  var isInViewport = function isInViewport(el) {
54272
54696
  var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
54273
54697
  return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
@@ -54301,410 +54725,6 @@ var generateRandomString = (function () {
54301
54725
  return (Math.random() + 1).toString(36).substring(7);
54302
54726
  });
54303
54727
 
54304
- var apiGetLanguage = function apiGetLanguage() {
54305
- return api.get(BASE_URL + "/api/language");
54306
- };
54307
-
54308
- var apiUpdateLanguage = function apiUpdateLanguage(lang) {
54309
- return api.put(BASE_URL + "/api/language?lang=" + lang);
54310
- };
54311
-
54312
- var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
54313
-
54314
- var useLanguages = function useLanguages() {
54315
- var dispatch = useDispatch();
54316
-
54317
- var _useTranslation = useTranslation(),
54318
- i18n = _useTranslation.i18n;
54319
-
54320
- var language = useSelector(function (state) {
54321
- return state.common.language;
54322
- });
54323
- var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
54324
-
54325
- var _useState = useState([]),
54326
- languageList = _useState[0],
54327
- setLanguageList = _useState[1];
54328
-
54329
- var _useState2 = useState(false),
54330
- dropdownOpen = _useState2[0],
54331
- setDropdownOpen = _useState2[1];
54332
-
54333
- var _useState3 = useState(defaultLanguage),
54334
- currentLang = _useState3[0],
54335
- setCurrentLang = _useState3[1];
54336
-
54337
- var toggle = function toggle() {
54338
- return setDropdownOpen(function (prevState) {
54339
- return !prevState;
54340
- });
54341
- };
54342
-
54343
- var changeLanguageApp = function changeLanguageApp(lang) {
54344
- try {
54345
- var _temp3 = function _temp3() {
54346
- dispatch(setLoading(false));
54347
- };
54348
-
54349
- dispatch(setLoading(true));
54350
-
54351
- var _temp4 = _catch(function () {
54352
- return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
54353
- i18n.changeLanguage(lang);
54354
- setCurrentLang(lang);
54355
- dispatch(setLanguage(lang));
54356
- });
54357
- }, function (err) {
54358
- var _err$response, _err$response$data;
54359
-
54360
- dispatch(setAlert({
54361
- type: "danger",
54362
- 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
54363
- }));
54364
- });
54365
-
54366
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
54367
- } catch (e) {
54368
- return Promise.reject(e);
54369
- }
54370
- };
54371
-
54372
- var getListLanguage = function getListLanguage() {
54373
- try {
54374
- var _temp6 = _catch(function () {
54375
- return Promise.resolve(apiGetLanguage()).then(function (res) {
54376
- setLanguageList(res.data);
54377
- });
54378
- }, function (err) {
54379
- var _err$response2, _err$response2$data;
54380
-
54381
- dispatch(setAlert({
54382
- type: "danger",
54383
- 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
54384
- }));
54385
- });
54386
-
54387
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
54388
- } catch (e) {
54389
- return Promise.reject(e);
54390
- }
54391
- };
54392
-
54393
- useEffect(function () {
54394
- defaultLanguage != language && changeLanguageApp(defaultLanguage);
54395
- getListLanguage();
54396
- }, []);
54397
- return {
54398
- languageList: languageList,
54399
- toggle: toggle,
54400
- dropdownOpen: dropdownOpen,
54401
- currentLang: currentLang,
54402
- changeLanguageApp: changeLanguageApp,
54403
- setCurrentLang: setCurrentLang
54404
- };
54405
- };
54406
-
54407
- var TheLanguageDropdown = function TheLanguageDropdown() {
54408
- var _useLanguages = useLanguages(),
54409
- languageList = _useLanguages.languageList,
54410
- toggle = _useLanguages.toggle,
54411
- dropdownOpen = _useLanguages.dropdownOpen,
54412
- currentLang = _useLanguages.currentLang,
54413
- changeLanguageApp = _useLanguages.changeLanguageApp;
54414
-
54415
- var currentLanguage = useMemo(function () {
54416
- var current = languageList.find(function (i) {
54417
- return i.code === currentLang;
54418
- });
54419
- if (!current) return null;
54420
- return React.createElement(React.Fragment, null, React.createElement("img", {
54421
- className: "mr-2 " + styles['dropdown-menu-flag'],
54422
- src: "" + getStaticFileUrl(current.image)
54423
- }), " ", current.name);
54424
- }, [currentLang, languageList]);
54425
- return React.createElement(Dropdown, {
54426
- isOpen: dropdownOpen,
54427
- toggle: toggle,
54428
- className: "" + styles["dropdown-menu"]
54429
- }, React.createElement(DropdownToggle, {
54430
- className: styles["header-avatar"] + " d-flex align-items-center"
54431
- }, React.createElement("span", {
54432
- style: {
54433
- color: "#000",
54434
- textTransform: "capitalize",
54435
- display: 'flex',
54436
- alignItems: 'center'
54437
- }
54438
- }, currentLanguage, React.createElement(BsChevronDown, {
54439
- className: "ml-2",
54440
- style: {
54441
- fontSize: '10px'
54442
- }
54443
- }))), React.createElement(DropdownMenu, {
54444
- className: styles["dropdown-content-language"]
54445
- }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
54446
- return React.createElement(DropdownItem, {
54447
- key: lang.code,
54448
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
54449
- onClick: function onClick() {
54450
- return changeLanguageApp(lang.code);
54451
- }
54452
- }, React.createElement("div", {
54453
- className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
54454
- }, React.createElement("span", {
54455
- className: "mr-2 d-flex hover-opacity"
54456
- }, React.createElement("img", {
54457
- style: {
54458
- width: "30px",
54459
- height: "25px",
54460
- borderRadius: "5px"
54461
- },
54462
- src: getStaticFileUrl(lang.image)
54463
- })), lang.name));
54464
- })));
54465
- };
54466
-
54467
- var TheHeader = function TheHeader(_ref) {
54468
- var onToggleModel = _ref.onToggleModel;
54469
- var dispatch = useDispatch();
54470
- var sidebarShow = useSelector(function (state) {
54471
- return state.common.sidebarShow;
54472
- });
54473
-
54474
- var _useTranslation = useTranslation(),
54475
- t = _useTranslation.t;
54476
-
54477
- var toggleSidebarMobile = function toggleSidebarMobile() {
54478
- var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
54479
- dispatch(setSidebar(val));
54480
- };
54481
-
54482
- var isDistrict = window.location.host.includes("-district");
54483
- return React.createElement(CHeader, {
54484
- withSubheader: true,
54485
- className: "d-flex align-items-center justify-content-end"
54486
- }, React.createElement(CToggler, {
54487
- inHeader: true,
54488
- className: "ml-md-3 d-lg-none",
54489
- onClick: toggleSidebarMobile
54490
- }), React.createElement(CHeaderBrand, {
54491
- className: "mx-auto flex-grow-1 d-lg-none",
54492
- to: "/"
54493
- }, React.createElement("img", {
54494
- src: getStaticFileUrl(Images.LOGO_HEADER),
54495
- className: styles["header-logo"]
54496
- })), React.createElement(CHeaderNav, {
54497
- className: "pr-3"
54498
- }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
54499
- className: "mr-3",
54500
- style: {
54501
- color: '#000'
54502
- },
54503
- href: '/privacy-policy',
54504
- target: "blank"
54505
- }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
54506
- onToggleModel: onToggleModel
54507
- })));
54508
- };
54509
-
54510
- var ModelSelectRole = function ModelSelectRole(_ref) {
54511
- var _handleUserRole;
54512
-
54513
- var open = _ref.open,
54514
- onToggleModel = _ref.onToggleModel;
54515
- var dispatch = useDispatch();
54516
-
54517
- var _useTranslation = useTranslation(),
54518
- t = _useTranslation.t;
54519
-
54520
- var history = useHistory();
54521
- var pathname = window.location.pathname;
54522
- var user = useSelector(function (state) {
54523
- return state.common.user;
54524
- });
54525
- var roles = user === null || user === void 0 ? void 0 : user.roles;
54526
-
54527
- var handleSelectUserRoles = function handleSelectUserRoles(roles) {
54528
- dispatch(setLoading(true));
54529
- var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
54530
- dispatch(setUser(_extends({}, user, {
54531
- roles: roleSelect
54532
- })));
54533
- localStorage.setItem("ROLES", roleSelect.toString());
54534
- onToggleModel();
54535
-
54536
- if (roles.includes("Parent")) {
54537
- history.push("/parent");
54538
- } else if (roles.includes("Admin")) {
54539
- history.push("/admin/home");
54540
- } else {
54541
- pathname !== "/home" ? history.push("/home") : window.location.reload();
54542
- }
54543
- };
54544
-
54545
- return React.createElement(Modal, {
54546
- isOpen: open,
54547
- toggle: function toggle() {
54548
- return onToggleModel();
54549
- },
54550
- className: "" + styles["model-switch-roles"],
54551
- centered: true
54552
- }, React.createElement("p", {
54553
- className: "" + styles["title"]
54554
- }, 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) {
54555
- return React.createElement("p", {
54556
- key: r,
54557
- 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" : ""],
54558
- onClick: function onClick() {
54559
- return handleSelectUserRoles([r]);
54560
- }
54561
- }, r == "SecondaryTeacher" ? "Support Teacher" : r);
54562
- })));
54563
- };
54564
-
54565
- var TheLayout = function TheLayout(_ref) {
54566
- var routes = _ref.routes,
54567
- navigation = _ref.navigation;
54568
- var history = useHistory();
54569
- var dispatch = useDispatch();
54570
- var user = useSelector(function (state) {
54571
- return state.common.user;
54572
- });
54573
- var language = useSelector(function (state) {
54574
- return state.common.language;
54575
- });
54576
-
54577
- var _useState = useState(false),
54578
- openModelSelectRole = _useState[0],
54579
- setOpenModelSelectRole = _useState[1];
54580
-
54581
- var _useTranslation = useTranslation(),
54582
- t = _useTranslation.t;
54583
-
54584
- var location = useLocation();
54585
- var isNotification = location.pathname.includes("notifications");
54586
- var isDistrict = window.location.host.includes("-district");
54587
-
54588
- var handleToggleModel = function handleToggleModel() {
54589
- setOpenModelSelectRole(!openModelSelectRole);
54590
- };
54591
-
54592
- var authRoutes = useMemo(function () {
54593
- return routes.filter(function (route) {
54594
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
54595
- }).filter(function (route) {
54596
- return !!route.isDistrict === isDistrict;
54597
- });
54598
- }, [user, language]);
54599
- var authNavigations = useMemo(function () {
54600
- return navigation.map(function (item) {
54601
- var _item$_children, _item$_children2;
54602
-
54603
- return _extends({}, item, {
54604
- name: t(item.name),
54605
- _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) {
54606
- return _extends({}, x, {
54607
- name: t(x.name)
54608
- });
54609
- }) : undefined
54610
- });
54611
- }).filter(function (nav) {
54612
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
54613
- }).filter(function (nav) {
54614
- return !!nav.isDistrict === isDistrict;
54615
- });
54616
- }, [user, language]);
54617
-
54618
- var getInformationSetting = function getInformationSetting() {
54619
- try {
54620
- var _temp2 = _catch(function () {
54621
- return Promise.resolve(getSchoolSettings()).then(function (res) {
54622
- dispatch(setSandboxMode(res.data.isSandboxMode));
54623
- });
54624
- }, function (err) {
54625
- console.error(err);
54626
- });
54627
-
54628
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
54629
- } catch (e) {
54630
- return Promise.reject(e);
54631
- }
54632
- };
54633
-
54634
- useEffect(function () {
54635
- checkAuthentication();
54636
- }, []);
54637
- useEffect(function () {
54638
- getInformationSetting();
54639
- }, [location.pathname]);
54640
-
54641
- var checkAuthentication = function checkAuthentication() {
54642
- try {
54643
- var _temp4 = _catch(function () {
54644
- return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
54645
- tokenStatus ? loadInfo() : resetAuth();
54646
- });
54647
- }, function () {
54648
- resetAuth();
54649
- });
54650
-
54651
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
54652
- } catch (e) {
54653
- return Promise.reject(e);
54654
- }
54655
- };
54656
-
54657
- var loadInfo = function loadInfo() {
54658
- try {
54659
- var _temp6 = _catch(function () {
54660
- return Promise.resolve(getInfo()).then(function (info) {
54661
- var _info$data, _info$data$roles;
54662
-
54663
- 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"))) {
54664
- resetAuth();
54665
- }
54666
-
54667
- dispatch(setUser(info.data));
54668
- });
54669
- }, function () {
54670
- resetAuth();
54671
- });
54672
-
54673
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
54674
- } catch (e) {
54675
- return Promise.reject(e);
54676
- }
54677
- };
54678
-
54679
- var resetAuth = function resetAuth() {
54680
- localStorage.removeItem(ACCESS_TOKEN);
54681
- sessionStorage.removeItem(ACCESS_TOKEN);
54682
- localStorage.removeItem("ROLES");
54683
- history.push("/");
54684
- };
54685
-
54686
- if (!user) {
54687
- return React.createElement(Loading, null);
54688
- }
54689
-
54690
- return React.createElement("div", {
54691
- className: "c-app c-default-layout"
54692
- }, !isNotification && React.createElement(TheSidebar, {
54693
- navigation: authNavigations
54694
- }), React.createElement("div", {
54695
- className: "c-wrapper"
54696
- }, !isNotification && React.createElement(TheHeader, {
54697
- onToggleModel: handleToggleModel
54698
- }), React.createElement("div", {
54699
- className: "c-body bg-white"
54700
- }, React.createElement(TheContent$1, {
54701
- routes: authRoutes
54702
- }))), React.createElement(ModelSelectRole, {
54703
- open: openModelSelectRole,
54704
- onToggleModel: handleToggleModel
54705
- }));
54706
- };
54707
-
54708
54728
  var amplitudeClient = amplitude;
54709
54729
 
54710
54730
  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, setEnableMarioAi, 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 };