mario-core 2.9.425-feedback → 2.9.427-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, 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';
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';
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, CHeader, CToggler, CHeaderBrand, CHeaderNav, CContainer } from '@coreui/react';
20
+ import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter, CContainer, CHeader, CToggler, CHeaderBrand, CHeaderNav } 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';
@@ -2195,6 +2195,7 @@ var survey_resulting_in_scheduled_sessions = "Survey resulting in scheduled sess
2195
2195
  var current_class_grade = "Current Class Grade";
2196
2196
  var these_are_the_answers_from_classroom_teachers = "These are the answers from classroom teachers.";
2197
2197
  var total_responses = "Total Responses";
2198
+ var readiness_trends = "Readiness Trends";
2198
2199
  var lang_us = {
2199
2200
  dashboard: dashboard,
2200
2201
  user: user,
@@ -4406,7 +4407,8 @@ var lang_us = {
4406
4407
  survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions,
4407
4408
  current_class_grade: current_class_grade,
4408
4409
  these_are_the_answers_from_classroom_teachers: these_are_the_answers_from_classroom_teachers,
4409
- total_responses: total_responses
4410
+ total_responses: total_responses,
4411
+ readiness_trends: readiness_trends
4410
4412
  };
4411
4413
 
4412
4414
  var dashboard$1 = "Dashboard";
@@ -6565,6 +6567,7 @@ var survey_resulting_in_scheduled_sessions$1 = "Survey resulting in scheduled se
6565
6567
  var current_class_grade$1 = "Current Class Grade";
6566
6568
  var these_are_the_answers_from_classroom_teachers$1 = "These are the answers from classroom teachers.";
6567
6569
  var total_responses$1 = "Total Responses";
6570
+ var readiness_trends$1 = "Readiness Trends";
6568
6571
  var lang_uk = {
6569
6572
  dashboard: dashboard$1,
6570
6573
  user: user$1,
@@ -8773,7 +8776,8 @@ var lang_uk = {
8773
8776
  survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$1,
8774
8777
  current_class_grade: current_class_grade$1,
8775
8778
  these_are_the_answers_from_classroom_teachers: these_are_the_answers_from_classroom_teachers$1,
8776
- total_responses: total_responses$1
8779
+ total_responses: total_responses$1,
8780
+ readiness_trends: readiness_trends$1
8777
8781
  };
8778
8782
 
8779
8783
  var dashboard$2 = "لوحة المعلومات";
@@ -10962,6 +10966,7 @@ var survey_resulting_in_scheduled_sessions$2 = "Survey resulting in scheduled se
10962
10966
  var current_class_grade$2 = "Current Class Grade";
10963
10967
  var these_are_the_answers_from_classroom_teachers$2 = "These are the answers from classroom teachers.";
10964
10968
  var total_responses$2 = "Total Responses";
10969
+ var readiness_trends$2 = "Readiness Trends";
10965
10970
  var lang_ar = {
10966
10971
  dashboard: dashboard$2,
10967
10972
  user: user$2,
@@ -13202,7 +13207,8 @@ var lang_ar = {
13202
13207
  survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$2,
13203
13208
  current_class_grade: current_class_grade$2,
13204
13209
  these_are_the_answers_from_classroom_teachers: these_are_the_answers_from_classroom_teachers$2,
13205
- total_responses: total_responses$2
13210
+ total_responses: total_responses$2,
13211
+ readiness_trends: readiness_trends$2
13206
13212
  };
13207
13213
 
13208
13214
  var dashboard$3 = "Cuadro de mandos";
@@ -15391,6 +15397,7 @@ var survey_resulting_in_scheduled_sessions$3 = "Survey resulting in scheduled se
15391
15397
  var current_class_grade$3 = "Current Class Grade";
15392
15398
  var these_are_the_answers_from_classroom_teachers$3 = "These are the answers from classroom teachers.";
15393
15399
  var total_responses$3 = "Total Responses";
15400
+ var readiness_trends$3 = "Readiness Trends";
15394
15401
  var lang_es = {
15395
15402
  dashboard: dashboard$3,
15396
15403
  user: user$3,
@@ -17631,7 +17638,8 @@ var lang_es = {
17631
17638
  survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$3,
17632
17639
  current_class_grade: current_class_grade$3,
17633
17640
  these_are_the_answers_from_classroom_teachers: these_are_the_answers_from_classroom_teachers$3,
17634
- total_responses: total_responses$3
17641
+ total_responses: total_responses$3,
17642
+ readiness_trends: readiness_trends$3
17635
17643
  };
17636
17644
 
17637
17645
  var dashboard$4 = "仪表板";
@@ -19820,6 +19828,7 @@ var survey_resulting_in_scheduled_sessions$4 = "Survey resulting in scheduled se
19820
19828
  var current_class_grade$4 = "Current Class Grade";
19821
19829
  var these_are_the_answers_from_classroom_teachers$4 = "These are the answers from classroom teachers.";
19822
19830
  var total_responses$4 = "Total Responses";
19831
+ var readiness_trends$4 = "Readiness Trends";
19823
19832
  var lang_zh = {
19824
19833
  dashboard: dashboard$4,
19825
19834
  user: user$4,
@@ -22060,7 +22069,8 @@ var lang_zh = {
22060
22069
  survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$4,
22061
22070
  current_class_grade: current_class_grade$4,
22062
22071
  these_are_the_answers_from_classroom_teachers: these_are_the_answers_from_classroom_teachers$4,
22063
- total_responses: total_responses$4
22072
+ total_responses: total_responses$4,
22073
+ readiness_trends: readiness_trends$4
22064
22074
  };
22065
22075
 
22066
22076
  var TINY_MCE_API_KEY = "htqausuofrnali3nh9ivmlpq6v415o0tv2qikpg39bqf4pnk";
@@ -41943,212 +41953,6 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
41943
41953
  })), t("log_out")))));
41944
41954
  };
41945
41955
 
41946
- var apiGetLanguage = function apiGetLanguage() {
41947
- return api.get(BASE_URL + "/api/language");
41948
- };
41949
-
41950
- var apiUpdateLanguage = function apiUpdateLanguage(lang) {
41951
- return api.put(BASE_URL + "/api/language?lang=" + lang);
41952
- };
41953
-
41954
- var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
41955
-
41956
- var useLanguages = function useLanguages() {
41957
- var dispatch = useDispatch();
41958
-
41959
- var _useTranslation = useTranslation(),
41960
- i18n = _useTranslation.i18n;
41961
-
41962
- var language = useSelector(function (state) {
41963
- return state.common.language;
41964
- });
41965
- var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
41966
-
41967
- var _useState = useState([]),
41968
- languageList = _useState[0],
41969
- setLanguageList = _useState[1];
41970
-
41971
- var _useState2 = useState(false),
41972
- dropdownOpen = _useState2[0],
41973
- setDropdownOpen = _useState2[1];
41974
-
41975
- var _useState3 = useState(defaultLanguage),
41976
- currentLang = _useState3[0],
41977
- setCurrentLang = _useState3[1];
41978
-
41979
- var toggle = function toggle() {
41980
- return setDropdownOpen(function (prevState) {
41981
- return !prevState;
41982
- });
41983
- };
41984
-
41985
- var changeLanguageApp = function changeLanguageApp(lang) {
41986
- try {
41987
- var _temp3 = function _temp3() {
41988
- dispatch(setLoading(false));
41989
- };
41990
-
41991
- dispatch(setLoading(true));
41992
-
41993
- var _temp4 = _catch(function () {
41994
- return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
41995
- i18n.changeLanguage(lang);
41996
- setCurrentLang(lang);
41997
- dispatch(setLanguage(lang));
41998
- });
41999
- }, function (err) {
42000
- var _err$response, _err$response$data;
42001
-
42002
- dispatch(setAlert({
42003
- type: "danger",
42004
- 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
42005
- }));
42006
- });
42007
-
42008
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
42009
- } catch (e) {
42010
- return Promise.reject(e);
42011
- }
42012
- };
42013
-
42014
- var getListLanguage = function getListLanguage() {
42015
- try {
42016
- var _temp6 = _catch(function () {
42017
- return Promise.resolve(apiGetLanguage()).then(function (res) {
42018
- setLanguageList(res.data);
42019
- });
42020
- }, function (err) {
42021
- var _err$response2, _err$response2$data;
42022
-
42023
- dispatch(setAlert({
42024
- type: "danger",
42025
- 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
42026
- }));
42027
- });
42028
-
42029
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
42030
- } catch (e) {
42031
- return Promise.reject(e);
42032
- }
42033
- };
42034
-
42035
- useEffect(function () {
42036
- defaultLanguage != language && changeLanguageApp(defaultLanguage);
42037
- getListLanguage();
42038
- }, []);
42039
- return {
42040
- languageList: languageList,
42041
- toggle: toggle,
42042
- dropdownOpen: dropdownOpen,
42043
- currentLang: currentLang,
42044
- changeLanguageApp: changeLanguageApp,
42045
- setCurrentLang: setCurrentLang
42046
- };
42047
- };
42048
-
42049
- var TheLanguageDropdown = function TheLanguageDropdown() {
42050
- var _useLanguages = useLanguages(),
42051
- languageList = _useLanguages.languageList,
42052
- toggle = _useLanguages.toggle,
42053
- dropdownOpen = _useLanguages.dropdownOpen,
42054
- currentLang = _useLanguages.currentLang,
42055
- changeLanguageApp = _useLanguages.changeLanguageApp;
42056
-
42057
- var currentLanguage = useMemo(function () {
42058
- var current = languageList.find(function (i) {
42059
- return i.code === currentLang;
42060
- });
42061
- if (!current) return null;
42062
- return React.createElement(React.Fragment, null, React.createElement("img", {
42063
- className: "mr-2 " + styles['dropdown-menu-flag'],
42064
- src: "" + getStaticFileUrl(current.image)
42065
- }), " ", current.name);
42066
- }, [currentLang, languageList]);
42067
- return React.createElement(Dropdown, {
42068
- isOpen: dropdownOpen,
42069
- toggle: toggle,
42070
- className: "" + styles["dropdown-menu"]
42071
- }, React.createElement(DropdownToggle, {
42072
- className: styles["header-avatar"] + " d-flex align-items-center"
42073
- }, React.createElement("span", {
42074
- style: {
42075
- color: "#000",
42076
- textTransform: "capitalize",
42077
- display: 'flex',
42078
- alignItems: 'center'
42079
- }
42080
- }, currentLanguage, React.createElement(BsChevronDown, {
42081
- className: "ml-2",
42082
- style: {
42083
- fontSize: '10px'
42084
- }
42085
- }))), React.createElement(DropdownMenu, {
42086
- className: styles["dropdown-content-language"]
42087
- }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
42088
- return React.createElement(DropdownItem, {
42089
- key: lang.code,
42090
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
42091
- onClick: function onClick() {
42092
- return changeLanguageApp(lang.code);
42093
- }
42094
- }, React.createElement("div", {
42095
- className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
42096
- }, React.createElement("span", {
42097
- className: "mr-2 d-flex hover-opacity"
42098
- }, React.createElement("img", {
42099
- style: {
42100
- width: "30px",
42101
- height: "25px",
42102
- borderRadius: "5px"
42103
- },
42104
- src: getStaticFileUrl(lang.image)
42105
- })), lang.name));
42106
- })));
42107
- };
42108
-
42109
- var TheHeader = function TheHeader(_ref) {
42110
- var onToggleModel = _ref.onToggleModel;
42111
- var dispatch = useDispatch();
42112
- var sidebarShow = useSelector(function (state) {
42113
- return state.common.sidebarShow;
42114
- });
42115
-
42116
- var _useTranslation = useTranslation(),
42117
- t = _useTranslation.t;
42118
-
42119
- var toggleSidebarMobile = function toggleSidebarMobile() {
42120
- var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
42121
- dispatch(setSidebar(val));
42122
- };
42123
-
42124
- var isDistrict = window.location.host.includes("-district");
42125
- return React.createElement(CHeader, {
42126
- withSubheader: true,
42127
- className: "d-flex align-items-center justify-content-end"
42128
- }, React.createElement(CToggler, {
42129
- inHeader: true,
42130
- className: "ml-md-3 d-lg-none",
42131
- onClick: toggleSidebarMobile
42132
- }), React.createElement(CHeaderBrand, {
42133
- className: "mx-auto flex-grow-1 d-lg-none",
42134
- to: "/"
42135
- }, React.createElement("img", {
42136
- src: getStaticFileUrl(Images.LOGO_HEADER),
42137
- className: styles["header-logo"]
42138
- })), React.createElement(CHeaderNav, {
42139
- className: "pr-3"
42140
- }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
42141
- className: "mr-3",
42142
- style: {
42143
- color: '#000'
42144
- },
42145
- href: '/privacy-policy',
42146
- target: "blank"
42147
- }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
42148
- onToggleModel: onToggleModel
42149
- })));
42150
- };
42151
-
42152
41956
  var TITLE$3 = "Not found";
42153
41957
 
42154
41958
  var NotFound = function NotFound() {
@@ -42206,258 +42010,6 @@ var TheContent = function TheContent(_ref) {
42206
42010
 
42207
42011
  var TheContent$1 = React.memo(TheContent);
42208
42012
 
42209
- var loadingStyle = {
42210
- minWidth: "100vw",
42211
- minHeight: "100vh",
42212
- position: "fixed",
42213
- top: 0,
42214
- left: 0,
42215
- zIndex: 999999999,
42216
- backgroundColor: "rgba(0, 0, 0, 0.4)",
42217
- display: "flex",
42218
- justifyContent: "center",
42219
- alignItems: "center"
42220
- };
42221
-
42222
- var Loading = function Loading() {
42223
- var isLoading = useSelector(function (state) {
42224
- return state.common.isLoading;
42225
- });
42226
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
42227
- return isLoading ? React.createElement("div", {
42228
- style: loadingStyle
42229
- }, React.createElement("div", {
42230
- className: "spinner-border text-secondary",
42231
- role: "status"
42232
- }, React.createElement("span", {
42233
- className: "sr-only"
42234
- }, "Loading..."))) : null;
42235
- };
42236
-
42237
- var firstCheckToken = function firstCheckToken() {
42238
- return Promise.resolve(_catch(function () {
42239
- var token = getAccessToken();
42240
- return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
42241
- return tokenStatus.data ? true : false;
42242
- }) : false;
42243
- }, function () {
42244
- return false;
42245
- }));
42246
- };
42247
-
42248
- var canAccess = function canAccess(userRoles, componentRoles) {
42249
- if (!Array.isArray(userRoles)) {
42250
- return false;
42251
- }
42252
-
42253
- if (Array.isArray(componentRoles)) {
42254
- var intersects = userRoles.filter(function (i) {
42255
- return componentRoles.includes(i);
42256
- });
42257
- return intersects.length > 0;
42258
- }
42259
-
42260
- return true;
42261
- };
42262
-
42263
- var ModelSelectRole = function ModelSelectRole(_ref) {
42264
- var _handleUserRole;
42265
-
42266
- var open = _ref.open,
42267
- onToggleModel = _ref.onToggleModel;
42268
- var dispatch = useDispatch();
42269
-
42270
- var _useTranslation = useTranslation(),
42271
- t = _useTranslation.t;
42272
-
42273
- var history = useHistory();
42274
- var pathname = window.location.pathname;
42275
- var user = useSelector(function (state) {
42276
- return state.common.user;
42277
- });
42278
- var roles = user === null || user === void 0 ? void 0 : user.roles;
42279
-
42280
- var handleSelectUserRoles = function handleSelectUserRoles(roles) {
42281
- dispatch(setLoading(true));
42282
- var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
42283
- dispatch(setUser(_extends({}, user, {
42284
- roles: roleSelect
42285
- })));
42286
- localStorage.setItem("ROLES", roleSelect.toString());
42287
- onToggleModel();
42288
-
42289
- if (roles.includes("Parent")) {
42290
- history.push("/parent");
42291
- } else if (roles.includes("Admin")) {
42292
- history.push("/admin/home");
42293
- } else {
42294
- pathname !== "/home" ? history.push("/home") : window.location.reload();
42295
- }
42296
- };
42297
-
42298
- return React.createElement(Modal, {
42299
- isOpen: open,
42300
- toggle: function toggle() {
42301
- return onToggleModel();
42302
- },
42303
- className: "" + styles["model-switch-roles"],
42304
- centered: true
42305
- }, React.createElement("p", {
42306
- className: "" + styles["title"]
42307
- }, 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) {
42308
- return React.createElement("p", {
42309
- key: r,
42310
- 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" : ""],
42311
- onClick: function onClick() {
42312
- return handleSelectUserRoles([r]);
42313
- }
42314
- }, r == "SecondaryTeacher" ? "Support Teacher" : r);
42315
- })));
42316
- };
42317
-
42318
- var TheLayout = function TheLayout(_ref) {
42319
- var routes = _ref.routes,
42320
- navigation = _ref.navigation;
42321
- var history = useHistory();
42322
- var dispatch = useDispatch();
42323
- var user = useSelector(function (state) {
42324
- return state.common.user;
42325
- });
42326
- var language = useSelector(function (state) {
42327
- return state.common.language;
42328
- });
42329
-
42330
- var _useState = useState(false),
42331
- openModelSelectRole = _useState[0],
42332
- setOpenModelSelectRole = _useState[1];
42333
-
42334
- var _useTranslation = useTranslation(),
42335
- t = _useTranslation.t;
42336
-
42337
- var location = useLocation();
42338
- var isNotification = location.pathname.includes("notifications");
42339
- var isDistrict = window.location.host.includes("-district");
42340
-
42341
- var handleToggleModel = function handleToggleModel() {
42342
- setOpenModelSelectRole(!openModelSelectRole);
42343
- };
42344
-
42345
- var authRoutes = useMemo(function () {
42346
- return routes.filter(function (route) {
42347
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
42348
- }).filter(function (route) {
42349
- return !!route.isDistrict === isDistrict;
42350
- });
42351
- }, [user, language]);
42352
- var authNavigations = useMemo(function () {
42353
- return navigation.map(function (item) {
42354
- var _item$_children, _item$_children2;
42355
-
42356
- return _extends({}, item, {
42357
- name: t(item.name),
42358
- _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) {
42359
- return _extends({}, x, {
42360
- name: t(x.name)
42361
- });
42362
- }) : undefined
42363
- });
42364
- }).filter(function (nav) {
42365
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
42366
- }).filter(function (nav) {
42367
- return !!nav.isDistrict === isDistrict;
42368
- });
42369
- }, [user, language]);
42370
-
42371
- var getInformationSetting = function getInformationSetting() {
42372
- try {
42373
- var _temp2 = _catch(function () {
42374
- return Promise.resolve(getSchoolSettings()).then(function (res) {
42375
- dispatch(setSandboxMode(res.data.isSandboxMode));
42376
- });
42377
- }, function (err) {
42378
- console.error(err);
42379
- });
42380
-
42381
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
42382
- } catch (e) {
42383
- return Promise.reject(e);
42384
- }
42385
- };
42386
-
42387
- useEffect(function () {
42388
- checkAuthentication();
42389
- }, []);
42390
- useEffect(function () {
42391
- getInformationSetting();
42392
- }, [location.pathname]);
42393
-
42394
- var checkAuthentication = function checkAuthentication() {
42395
- try {
42396
- var _temp4 = _catch(function () {
42397
- return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
42398
- tokenStatus ? loadInfo() : resetAuth();
42399
- });
42400
- }, function () {
42401
- resetAuth();
42402
- });
42403
-
42404
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
42405
- } catch (e) {
42406
- return Promise.reject(e);
42407
- }
42408
- };
42409
-
42410
- var loadInfo = function loadInfo() {
42411
- try {
42412
- var _temp6 = _catch(function () {
42413
- return Promise.resolve(getInfo()).then(function (info) {
42414
- var _info$data, _info$data$roles;
42415
-
42416
- 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"))) {
42417
- resetAuth();
42418
- }
42419
-
42420
- dispatch(setUser(info.data));
42421
- });
42422
- }, function () {
42423
- resetAuth();
42424
- });
42425
-
42426
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
42427
- } catch (e) {
42428
- return Promise.reject(e);
42429
- }
42430
- };
42431
-
42432
- var resetAuth = function resetAuth() {
42433
- localStorage.removeItem(ACCESS_TOKEN);
42434
- sessionStorage.removeItem(ACCESS_TOKEN);
42435
- localStorage.removeItem("ROLES");
42436
- history.push("/");
42437
- };
42438
-
42439
- if (!user) {
42440
- return React.createElement(Loading, null);
42441
- }
42442
-
42443
- return React.createElement("div", {
42444
- className: "c-app c-default-layout"
42445
- }, !isNotification && React.createElement(TheSidebar, {
42446
- navigation: authNavigations
42447
- }), React.createElement("div", {
42448
- className: "c-wrapper"
42449
- }, !isNotification && React.createElement(TheHeader, {
42450
- onToggleModel: handleToggleModel
42451
- }), React.createElement("div", {
42452
- className: "c-body bg-white"
42453
- }, React.createElement(TheContent$1, {
42454
- routes: authRoutes
42455
- }))), React.createElement(ModelSelectRole, {
42456
- open: openModelSelectRole,
42457
- onToggleModel: handleToggleModel
42458
- }));
42459
- };
42460
-
42461
42013
  var buttonTextStyle = {
42462
42014
  fontWeight: 500
42463
42015
  };
@@ -51854,6 +51406,34 @@ var UserDetail = function UserDetail() {
51854
51406
  });
51855
51407
  };
51856
51408
 
51409
+ var loadingStyle = {
51410
+ minWidth: "100vw",
51411
+ minHeight: "100vh",
51412
+ position: "fixed",
51413
+ top: 0,
51414
+ left: 0,
51415
+ zIndex: 999999999,
51416
+ backgroundColor: "rgba(0, 0, 0, 0.4)",
51417
+ display: "flex",
51418
+ justifyContent: "center",
51419
+ alignItems: "center"
51420
+ };
51421
+
51422
+ var Loading = function Loading() {
51423
+ var isLoading = useSelector(function (state) {
51424
+ return state.common.isLoading;
51425
+ });
51426
+ localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
51427
+ return isLoading ? React.createElement("div", {
51428
+ style: loadingStyle
51429
+ }, React.createElement("div", {
51430
+ className: "spinner-border text-secondary",
51431
+ role: "status"
51432
+ }, React.createElement("span", {
51433
+ className: "sr-only"
51434
+ }, "Loading..."))) : null;
51435
+ };
51436
+
51857
51437
  var ScrollToTop = function ScrollToTop() {
51858
51438
  var _useLocation = useLocation(),
51859
51439
  pathname = _useLocation.pathname;
@@ -54910,6 +54490,32 @@ var store = configureStore({
54910
54490
  }
54911
54491
  });
54912
54492
 
54493
+ var firstCheckToken = function firstCheckToken() {
54494
+ return Promise.resolve(_catch(function () {
54495
+ var token = getAccessToken();
54496
+ return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
54497
+ return tokenStatus.data ? true : false;
54498
+ }) : false;
54499
+ }, function () {
54500
+ return false;
54501
+ }));
54502
+ };
54503
+
54504
+ var canAccess = function canAccess(userRoles, componentRoles) {
54505
+ if (!Array.isArray(userRoles)) {
54506
+ return false;
54507
+ }
54508
+
54509
+ if (Array.isArray(componentRoles)) {
54510
+ var intersects = userRoles.filter(function (i) {
54511
+ return componentRoles.includes(i);
54512
+ });
54513
+ return intersects.length > 0;
54514
+ }
54515
+
54516
+ return true;
54517
+ };
54518
+
54913
54519
  var isInViewport = function isInViewport(el) {
54914
54520
  var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
54915
54521
  return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
@@ -54943,6 +54549,410 @@ var generateRandomString = (function () {
54943
54549
  return (Math.random() + 1).toString(36).substring(7);
54944
54550
  });
54945
54551
 
54552
+ var apiGetLanguage = function apiGetLanguage() {
54553
+ return api.get(BASE_URL + "/api/language");
54554
+ };
54555
+
54556
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
54557
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
54558
+ };
54559
+
54560
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
54561
+
54562
+ var useLanguages = function useLanguages() {
54563
+ var dispatch = useDispatch();
54564
+
54565
+ var _useTranslation = useTranslation(),
54566
+ i18n = _useTranslation.i18n;
54567
+
54568
+ var language = useSelector(function (state) {
54569
+ return state.common.language;
54570
+ });
54571
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
54572
+
54573
+ var _useState = useState([]),
54574
+ languageList = _useState[0],
54575
+ setLanguageList = _useState[1];
54576
+
54577
+ var _useState2 = useState(false),
54578
+ dropdownOpen = _useState2[0],
54579
+ setDropdownOpen = _useState2[1];
54580
+
54581
+ var _useState3 = useState(defaultLanguage),
54582
+ currentLang = _useState3[0],
54583
+ setCurrentLang = _useState3[1];
54584
+
54585
+ var toggle = function toggle() {
54586
+ return setDropdownOpen(function (prevState) {
54587
+ return !prevState;
54588
+ });
54589
+ };
54590
+
54591
+ var changeLanguageApp = function changeLanguageApp(lang) {
54592
+ try {
54593
+ var _temp3 = function _temp3() {
54594
+ dispatch(setLoading(false));
54595
+ };
54596
+
54597
+ dispatch(setLoading(true));
54598
+
54599
+ var _temp4 = _catch(function () {
54600
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
54601
+ i18n.changeLanguage(lang);
54602
+ setCurrentLang(lang);
54603
+ dispatch(setLanguage(lang));
54604
+ });
54605
+ }, function (err) {
54606
+ var _err$response, _err$response$data;
54607
+
54608
+ dispatch(setAlert({
54609
+ type: "danger",
54610
+ 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
54611
+ }));
54612
+ });
54613
+
54614
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
54615
+ } catch (e) {
54616
+ return Promise.reject(e);
54617
+ }
54618
+ };
54619
+
54620
+ var getListLanguage = function getListLanguage() {
54621
+ try {
54622
+ var _temp6 = _catch(function () {
54623
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
54624
+ setLanguageList(res.data);
54625
+ });
54626
+ }, function (err) {
54627
+ var _err$response2, _err$response2$data;
54628
+
54629
+ dispatch(setAlert({
54630
+ type: "danger",
54631
+ 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
54632
+ }));
54633
+ });
54634
+
54635
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
54636
+ } catch (e) {
54637
+ return Promise.reject(e);
54638
+ }
54639
+ };
54640
+
54641
+ useEffect(function () {
54642
+ defaultLanguage != language && changeLanguageApp(defaultLanguage);
54643
+ getListLanguage();
54644
+ }, []);
54645
+ return {
54646
+ languageList: languageList,
54647
+ toggle: toggle,
54648
+ dropdownOpen: dropdownOpen,
54649
+ currentLang: currentLang,
54650
+ changeLanguageApp: changeLanguageApp,
54651
+ setCurrentLang: setCurrentLang
54652
+ };
54653
+ };
54654
+
54655
+ var TheLanguageDropdown = function TheLanguageDropdown() {
54656
+ var _useLanguages = useLanguages(),
54657
+ languageList = _useLanguages.languageList,
54658
+ toggle = _useLanguages.toggle,
54659
+ dropdownOpen = _useLanguages.dropdownOpen,
54660
+ currentLang = _useLanguages.currentLang,
54661
+ changeLanguageApp = _useLanguages.changeLanguageApp;
54662
+
54663
+ var currentLanguage = useMemo(function () {
54664
+ var current = languageList.find(function (i) {
54665
+ return i.code === currentLang;
54666
+ });
54667
+ if (!current) return null;
54668
+ return React.createElement(React.Fragment, null, React.createElement("img", {
54669
+ className: "mr-2 " + styles['dropdown-menu-flag'],
54670
+ src: "" + getStaticFileUrl(current.image)
54671
+ }), " ", current.name);
54672
+ }, [currentLang, languageList]);
54673
+ return React.createElement(Dropdown, {
54674
+ isOpen: dropdownOpen,
54675
+ toggle: toggle,
54676
+ className: "" + styles["dropdown-menu"]
54677
+ }, React.createElement(DropdownToggle, {
54678
+ className: styles["header-avatar"] + " d-flex align-items-center"
54679
+ }, React.createElement("span", {
54680
+ style: {
54681
+ color: "#000",
54682
+ textTransform: "capitalize",
54683
+ display: 'flex',
54684
+ alignItems: 'center'
54685
+ }
54686
+ }, currentLanguage, React.createElement(BsChevronDown, {
54687
+ className: "ml-2",
54688
+ style: {
54689
+ fontSize: '10px'
54690
+ }
54691
+ }))), React.createElement(DropdownMenu, {
54692
+ className: styles["dropdown-content-language"]
54693
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
54694
+ return React.createElement(DropdownItem, {
54695
+ key: lang.code,
54696
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
54697
+ onClick: function onClick() {
54698
+ return changeLanguageApp(lang.code);
54699
+ }
54700
+ }, React.createElement("div", {
54701
+ className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
54702
+ }, React.createElement("span", {
54703
+ className: "mr-2 d-flex hover-opacity"
54704
+ }, React.createElement("img", {
54705
+ style: {
54706
+ width: "30px",
54707
+ height: "25px",
54708
+ borderRadius: "5px"
54709
+ },
54710
+ src: getStaticFileUrl(lang.image)
54711
+ })), lang.name));
54712
+ })));
54713
+ };
54714
+
54715
+ var TheHeader = function TheHeader(_ref) {
54716
+ var onToggleModel = _ref.onToggleModel;
54717
+ var dispatch = useDispatch();
54718
+ var sidebarShow = useSelector(function (state) {
54719
+ return state.common.sidebarShow;
54720
+ });
54721
+
54722
+ var _useTranslation = useTranslation(),
54723
+ t = _useTranslation.t;
54724
+
54725
+ var toggleSidebarMobile = function toggleSidebarMobile() {
54726
+ var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
54727
+ dispatch(setSidebar(val));
54728
+ };
54729
+
54730
+ var isDistrict = window.location.host.includes("-district");
54731
+ return React.createElement(CHeader, {
54732
+ withSubheader: true,
54733
+ className: "d-flex align-items-center justify-content-end"
54734
+ }, React.createElement(CToggler, {
54735
+ inHeader: true,
54736
+ className: "ml-md-3 d-lg-none",
54737
+ onClick: toggleSidebarMobile
54738
+ }), React.createElement(CHeaderBrand, {
54739
+ className: "mx-auto flex-grow-1 d-lg-none",
54740
+ to: "/"
54741
+ }, React.createElement("img", {
54742
+ src: getStaticFileUrl(Images.LOGO_HEADER),
54743
+ className: styles["header-logo"]
54744
+ })), React.createElement(CHeaderNav, {
54745
+ className: "pr-3"
54746
+ }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
54747
+ className: "mr-3",
54748
+ style: {
54749
+ color: '#000'
54750
+ },
54751
+ href: '/privacy-policy',
54752
+ target: "blank"
54753
+ }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
54754
+ onToggleModel: onToggleModel
54755
+ })));
54756
+ };
54757
+
54758
+ var ModelSelectRole = function ModelSelectRole(_ref) {
54759
+ var _handleUserRole;
54760
+
54761
+ var open = _ref.open,
54762
+ onToggleModel = _ref.onToggleModel;
54763
+ var dispatch = useDispatch();
54764
+
54765
+ var _useTranslation = useTranslation(),
54766
+ t = _useTranslation.t;
54767
+
54768
+ var history = useHistory();
54769
+ var pathname = window.location.pathname;
54770
+ var user = useSelector(function (state) {
54771
+ return state.common.user;
54772
+ });
54773
+ var roles = user === null || user === void 0 ? void 0 : user.roles;
54774
+
54775
+ var handleSelectUserRoles = function handleSelectUserRoles(roles) {
54776
+ dispatch(setLoading(true));
54777
+ var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
54778
+ dispatch(setUser(_extends({}, user, {
54779
+ roles: roleSelect
54780
+ })));
54781
+ localStorage.setItem("ROLES", roleSelect.toString());
54782
+ onToggleModel();
54783
+
54784
+ if (roles.includes("Parent")) {
54785
+ history.push("/parent");
54786
+ } else if (roles.includes("Admin")) {
54787
+ history.push("/admin/home");
54788
+ } else {
54789
+ pathname !== "/home" ? history.push("/home") : window.location.reload();
54790
+ }
54791
+ };
54792
+
54793
+ return React.createElement(Modal, {
54794
+ isOpen: open,
54795
+ toggle: function toggle() {
54796
+ return onToggleModel();
54797
+ },
54798
+ className: "" + styles["model-switch-roles"],
54799
+ centered: true
54800
+ }, React.createElement("p", {
54801
+ className: "" + styles["title"]
54802
+ }, 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) {
54803
+ return React.createElement("p", {
54804
+ key: r,
54805
+ 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" : ""],
54806
+ onClick: function onClick() {
54807
+ return handleSelectUserRoles([r]);
54808
+ }
54809
+ }, r == "SecondaryTeacher" ? "Support Teacher" : r);
54810
+ })));
54811
+ };
54812
+
54813
+ var TheLayout = function TheLayout(_ref) {
54814
+ var routes = _ref.routes,
54815
+ navigation = _ref.navigation;
54816
+ var history = useHistory();
54817
+ var dispatch = useDispatch();
54818
+ var user = useSelector(function (state) {
54819
+ return state.common.user;
54820
+ });
54821
+ var language = useSelector(function (state) {
54822
+ return state.common.language;
54823
+ });
54824
+
54825
+ var _useState = useState(false),
54826
+ openModelSelectRole = _useState[0],
54827
+ setOpenModelSelectRole = _useState[1];
54828
+
54829
+ var _useTranslation = useTranslation(),
54830
+ t = _useTranslation.t;
54831
+
54832
+ var location = useLocation();
54833
+ var isNotification = location.pathname.includes("notifications");
54834
+ var isDistrict = window.location.host.includes("-district");
54835
+
54836
+ var handleToggleModel = function handleToggleModel() {
54837
+ setOpenModelSelectRole(!openModelSelectRole);
54838
+ };
54839
+
54840
+ var authRoutes = useMemo(function () {
54841
+ return routes.filter(function (route) {
54842
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
54843
+ }).filter(function (route) {
54844
+ return !!route.isDistrict === isDistrict;
54845
+ });
54846
+ }, [user, language]);
54847
+ var authNavigations = useMemo(function () {
54848
+ return navigation.map(function (item) {
54849
+ var _item$_children, _item$_children2;
54850
+
54851
+ return _extends({}, item, {
54852
+ name: t(item.name),
54853
+ _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) {
54854
+ return _extends({}, x, {
54855
+ name: t(x.name)
54856
+ });
54857
+ }) : undefined
54858
+ });
54859
+ }).filter(function (nav) {
54860
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
54861
+ }).filter(function (nav) {
54862
+ return !!nav.isDistrict === isDistrict;
54863
+ });
54864
+ }, [user, language]);
54865
+
54866
+ var getInformationSetting = function getInformationSetting() {
54867
+ try {
54868
+ var _temp2 = _catch(function () {
54869
+ return Promise.resolve(getSchoolSettings()).then(function (res) {
54870
+ dispatch(setSandboxMode(res.data.isSandboxMode));
54871
+ });
54872
+ }, function (err) {
54873
+ console.error(err);
54874
+ });
54875
+
54876
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
54877
+ } catch (e) {
54878
+ return Promise.reject(e);
54879
+ }
54880
+ };
54881
+
54882
+ useEffect(function () {
54883
+ checkAuthentication();
54884
+ }, []);
54885
+ useEffect(function () {
54886
+ getInformationSetting();
54887
+ }, [location.pathname]);
54888
+
54889
+ var checkAuthentication = function checkAuthentication() {
54890
+ try {
54891
+ var _temp4 = _catch(function () {
54892
+ return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
54893
+ tokenStatus ? loadInfo() : resetAuth();
54894
+ });
54895
+ }, function () {
54896
+ resetAuth();
54897
+ });
54898
+
54899
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
54900
+ } catch (e) {
54901
+ return Promise.reject(e);
54902
+ }
54903
+ };
54904
+
54905
+ var loadInfo = function loadInfo() {
54906
+ try {
54907
+ var _temp6 = _catch(function () {
54908
+ return Promise.resolve(getInfo()).then(function (info) {
54909
+ var _info$data, _info$data$roles;
54910
+
54911
+ 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"))) {
54912
+ resetAuth();
54913
+ }
54914
+
54915
+ dispatch(setUser(info.data));
54916
+ });
54917
+ }, function () {
54918
+ resetAuth();
54919
+ });
54920
+
54921
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
54922
+ } catch (e) {
54923
+ return Promise.reject(e);
54924
+ }
54925
+ };
54926
+
54927
+ var resetAuth = function resetAuth() {
54928
+ localStorage.removeItem(ACCESS_TOKEN);
54929
+ sessionStorage.removeItem(ACCESS_TOKEN);
54930
+ localStorage.removeItem("ROLES");
54931
+ history.push("/");
54932
+ };
54933
+
54934
+ if (!user) {
54935
+ return React.createElement(Loading, null);
54936
+ }
54937
+
54938
+ return React.createElement("div", {
54939
+ className: "c-app c-default-layout"
54940
+ }, !isNotification && React.createElement(TheSidebar, {
54941
+ navigation: authNavigations
54942
+ }), React.createElement("div", {
54943
+ className: "c-wrapper"
54944
+ }, !isNotification && React.createElement(TheHeader, {
54945
+ onToggleModel: handleToggleModel
54946
+ }), React.createElement("div", {
54947
+ className: "c-body bg-white"
54948
+ }, React.createElement(TheContent$1, {
54949
+ routes: authRoutes
54950
+ }))), React.createElement(ModelSelectRole, {
54951
+ open: openModelSelectRole,
54952
+ onToggleModel: handleToggleModel
54953
+ }));
54954
+ };
54955
+
54946
54956
  var amplitudeClient = amplitude;
54947
54957
 
54948
54958
  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, getAccessToken, 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 };