mario-core 2.9.411-wellbeing → 2.9.412-wellbeing

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2109,7 +2109,7 @@ var add_1_1_conversation_notes = "Add 1-1 Conversation notes";
2109
2109
  var save_data = "Save data";
2110
2110
  var please_select_date_1_1_conversation = "Please select date 1-1 conversation!";
2111
2111
  var please_write_something_to_this_1_1_conversation = "Please write something to this 1-1 conversation!";
2112
- var data_1_1_conversation_cannot_exceed_300_characters = "Data 1-1 conversation cannot exceed 300 characters!";
2112
+ var data_1_1_conversation_cannot_exceed_300_characters = "Data 1-1 conversation cannot exceed 1000 characters!";
2113
2113
  var no_need_for_it = "No need for it";
2114
2114
  var conversation_saved = "Conversation saved!";
2115
2115
  var what_did_you_and_the_student_choose_as_an_action_step_would_you_like_to_add_it_as_a_goal = "What did you and the student choose as an action step?<br/>Would you like to add it as a Goal?";
@@ -2126,7 +2126,7 @@ var yes_view_student_goals = "Yes, view student goals";
2126
2126
  var please_set_time_1_1_conversation = "Please set time 1-1 conversation";
2127
2127
  var type_your_answer_here = "Type your answer here...";
2128
2128
  var delete_bulk = "Delete Bulk";
2129
- var number_of_students_with_at_least_one_very_low_metric = "Number of students with at least one very low metric";
2129
+ var number_of_students_with_at_least_one_very_low_metric = "Students with concerning metrics";
2130
2130
  var this_flags_if_the_student_is_not_ready_to_learn_or_has_at_least_one_success_or_readiness_to_learn_metrics_under_40 = "This flags if the student is not ready to learn or has at least one success, or readiness to learn metrics under 40%";
2131
2131
  var of_students_have_concerned_metrics = "of students have concerned metrics";
2132
2132
  var have_metrics_40 = "have metrics <40%";
@@ -2224,6 +2224,8 @@ var location$1 = "Location";
2224
2224
  var edit_my_profile = "Edit My Profile";
2225
2225
  var save_new_password = "Save new password";
2226
2226
  var teacher_code = "Teacher code";
2227
+ var number_of_conversations = "Number of conversations";
2228
+ var number_of_expected_conversations_based_on_the_goal = "Number of expected conversations based on the goal";
2227
2229
  var lang_us = {
2228
2230
  dashboard: dashboard,
2229
2231
  user: user,
@@ -4464,7 +4466,9 @@ var lang_us = {
4464
4466
  location: location$1,
4465
4467
  edit_my_profile: edit_my_profile,
4466
4468
  save_new_password: save_new_password,
4467
- teacher_code: teacher_code
4469
+ teacher_code: teacher_code,
4470
+ number_of_conversations: number_of_conversations,
4471
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal
4468
4472
  };
4469
4473
 
4470
4474
  var dashboard$1 = "Dashboard";
@@ -6539,7 +6543,7 @@ var add_1_1_conversation_notes$1 = "Add 1-1 Conversation notes";
6539
6543
  var save_data$1 = "Save data";
6540
6544
  var please_select_date_1_1_conversation$1 = "Please select date 1-1 conversation!";
6541
6545
  var please_write_something_to_this_1_1_conversation$1 = "Please write something to this 1-1 conversation!";
6542
- var data_1_1_conversation_cannot_exceed_300_characters$1 = "Data 1-1 conversation cannot exceed 300 characters!";
6546
+ var data_1_1_conversation_cannot_exceed_300_characters$1 = "Data 1-1 conversation cannot exceed 1000 characters!";
6543
6547
  var no_need_for_it$1 = "No need for it";
6544
6548
  var conversation_saved$1 = "Conversation saved!";
6545
6549
  var what_did_you_and_the_student_choose_as_an_action_step_would_you_like_to_add_it_as_a_goal$1 = "What did you and the student choose as an action step?<br/>Would you like to add it as a Goal?";
@@ -6556,7 +6560,7 @@ var yes_view_student_goals$1 = "Yes, view student goals";
6556
6560
  var please_set_time_1_1_conversation$1 = "Please set time 1-1 conversation";
6557
6561
  var type_your_answer_here$1 = "Type your answer here...";
6558
6562
  var delete_bulk$1 = "Delete Bulk";
6559
- var number_of_students_with_at_least_one_very_low_metric$1 = "Number of students with at least one very low metric";
6563
+ var number_of_students_with_at_least_one_very_low_metric$1 = "Students with concerning metrics";
6560
6564
  var this_flags_if_the_student_is_not_ready_to_learn_or_has_at_least_one_success_or_readiness_to_learn_metrics_under_40$1 = "This flags if the student is not ready to learn or has at least one success, or readiness to learn metrics under 40%";
6561
6565
  var of_students_have_concerned_metrics$1 = "of students have concerned metrics";
6562
6566
  var have_metrics_40$1 = "have metrics <40%";
@@ -6651,6 +6655,8 @@ var take_a_moment_for_you$1 = "Take a Moment for You";
6651
6655
  var it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$1 = "It’s time to take care of yourself. Start your Well-Being Check-In to reflect on how you’re doing and receive the support you deserve.";
6652
6656
  var start_check_in_now$1 = "START CHECK-IN NOW";
6653
6657
  var i_ll_do_it_later$1 = "I'LL DO IT LATER";
6658
+ var number_of_conversations$1 = "Number of conversations";
6659
+ var number_of_expected_conversations_based_on_the_goal$1 = "Number of expected conversations based on the goal";
6654
6660
  var lang_uk = {
6655
6661
  dashboard: dashboard$1,
6656
6662
  user: user$1,
@@ -8888,7 +8894,9 @@ var lang_uk = {
8888
8894
  take_a_moment_for_you: take_a_moment_for_you$1,
8889
8895
  it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve: it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$1,
8890
8896
  start_check_in_now: start_check_in_now$1,
8891
- i_ll_do_it_later: i_ll_do_it_later$1
8897
+ i_ll_do_it_later: i_ll_do_it_later$1,
8898
+ number_of_conversations: number_of_conversations$1,
8899
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$1
8892
8900
  };
8893
8901
 
8894
8902
  var dashboard$2 = "لوحة المعلومات";
@@ -10992,7 +11000,7 @@ var add_1_1_conversation_notes$2 = "Add 1-1 Conversation notes";
10992
11000
  var save_data$2 = "Save data";
10993
11001
  var please_select_date_1_1_conversation$2 = "Please select date 1-1 conversation!";
10994
11002
  var please_write_something_to_this_1_1_conversation$2 = "Please write something to this 1-1 conversation!";
10995
- var data_1_1_conversation_cannot_exceed_300_characters$2 = "Data 1-1 conversation cannot exceed 300 characters!";
11003
+ var data_1_1_conversation_cannot_exceed_300_characters$2 = "Data 1-1 conversation cannot exceed 1000 characters!";
10996
11004
  var no_need_for_it$2 = "No need for it";
10997
11005
  var conversation_saved$2 = "Conversation saved!";
10998
11006
  var what_did_you_and_the_student_choose_as_an_action_step_would_you_like_to_add_it_as_a_goal$2 = "What did you and the student choose as an action step?<br/>Would you like to add it as a Goal?";
@@ -11010,7 +11018,7 @@ var please_set_time_1_1_conversation$2 = "Please set time 1-1 conversation";
11010
11018
  var type_your_answer_here$2 = "Type your answer here...";
11011
11019
  var not_ready_to_learn$2 = "Not ready to learn";
11012
11020
  var delete_bulk$2 = "Delete Bulk";
11013
- var number_of_students_with_at_least_one_very_low_metric$2 = "Number of students with at least one very low metric";
11021
+ var number_of_students_with_at_least_one_very_low_metric$2 = "Students with concerning metrics";
11014
11022
  var this_flags_if_the_student_is_not_ready_to_learn_or_has_at_least_one_success_or_readiness_to_learn_metrics_under_40$2 = "This flags if the student is not ready to learn or has at least one success, or readiness to learn metrics under 40%";
11015
11023
  var of_students_have_concerned_metrics$2 = "of students have concerned metrics";
11016
11024
  var have_metrics_40$2 = "have metrics <40%";
@@ -11106,6 +11114,8 @@ var take_a_moment_for_you$2 = "Take a Moment for You";
11106
11114
  var it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$2 = "It’s time to take care of yourself. Start your Well-Being Check-In to reflect on how you’re doing and receive the support you deserve.";
11107
11115
  var start_check_in_now$2 = "START CHECK-IN NOW";
11108
11116
  var i_ll_do_it_later$2 = "I'LL DO IT LATER";
11117
+ var number_of_conversations$2 = "Number of conversations";
11118
+ var number_of_expected_conversations_based_on_the_goal$2 = "Number of expected conversations based on the goal";
11109
11119
  var lang_ar = {
11110
11120
  dashboard: dashboard$2,
11111
11121
  user: user$2,
@@ -13376,7 +13386,9 @@ var lang_ar = {
13376
13386
  take_a_moment_for_you: take_a_moment_for_you$2,
13377
13387
  it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve: it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$2,
13378
13388
  start_check_in_now: start_check_in_now$2,
13379
- i_ll_do_it_later: i_ll_do_it_later$2
13389
+ i_ll_do_it_later: i_ll_do_it_later$2,
13390
+ number_of_conversations: number_of_conversations$2,
13391
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$2
13380
13392
  };
13381
13393
 
13382
13394
  var dashboard$3 = "Cuadro de mandos";
@@ -15481,7 +15493,7 @@ var add_1_1_conversation_notes$3 = "Add 1-1 Conversation notes";
15481
15493
  var save_data$3 = "Save data";
15482
15494
  var please_select_date_1_1_conversation$3 = "Please select date 1-1 conversation!";
15483
15495
  var please_write_something_to_this_1_1_conversation$3 = "Please write something to this 1-1 conversation!";
15484
- var data_1_1_conversation_cannot_exceed_300_characters$3 = "Data 1-1 conversation cannot exceed 300 characters!";
15496
+ var data_1_1_conversation_cannot_exceed_300_characters$3 = "Data 1-1 conversation cannot exceed 1000 characters!";
15485
15497
  var no_need_for_it$3 = "No need for it";
15486
15498
  var conversation_saved$3 = "Conversation saved!";
15487
15499
  var what_did_you_and_the_student_choose_as_an_action_step_would_you_like_to_add_it_as_a_goal$3 = "What did you and the student choose as an action step?<br/>Would you like to add it as a Goal?";
@@ -15498,7 +15510,7 @@ var yes_view_student_goals$3 = "Yes, view student goals";
15498
15510
  var please_set_time_1_1_conversation$3 = "Please set time 1-1 conversation";
15499
15511
  var type_your_answer_here$3 = "Type your answer here...";
15500
15512
  var delete_bulk$3 = "Delete Bulk";
15501
- var number_of_students_with_at_least_one_very_low_metric$3 = "Number of students with at least one very low metric";
15513
+ var number_of_students_with_at_least_one_very_low_metric$3 = "Students with concerning metrics";
15502
15514
  var this_flags_if_the_student_is_not_ready_to_learn_or_has_at_least_one_success_or_readiness_to_learn_metrics_under_40$3 = "This flags if the student is not ready to learn or has at least one success, or readiness to learn metrics under 40%";
15503
15515
  var of_students_have_concerned_metrics$3 = "of students have concerned metrics";
15504
15516
  var have_metrics_40$3 = "have metrics <40%";
@@ -15594,6 +15606,8 @@ var take_a_moment_for_you$3 = "Take a Moment for You";
15594
15606
  var it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$3 = "It’s time to take care of yourself. Start your Well-Being Check-In to reflect on how you’re doing and receive the support you deserve.";
15595
15607
  var start_check_in_now$3 = "START CHECK-IN NOW";
15596
15608
  var i_ll_do_it_later$3 = "I'LL DO IT LATER";
15609
+ var number_of_conversations$3 = "Number of conversations";
15610
+ var number_of_expected_conversations_based_on_the_goal$3 = "Number of expected conversations based on the goal";
15597
15611
  var lang_es = {
15598
15612
  dashboard: dashboard$3,
15599
15613
  user: user$3,
@@ -17864,7 +17878,9 @@ var lang_es = {
17864
17878
  take_a_moment_for_you: take_a_moment_for_you$3,
17865
17879
  it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve: it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$3,
17866
17880
  start_check_in_now: start_check_in_now$3,
17867
- i_ll_do_it_later: i_ll_do_it_later$3
17881
+ i_ll_do_it_later: i_ll_do_it_later$3,
17882
+ number_of_conversations: number_of_conversations$3,
17883
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$3
17868
17884
  };
17869
17885
 
17870
17886
  var dashboard$4 = "仪表板";
@@ -19969,7 +19985,7 @@ var add_1_1_conversation_notes$4 = "Add 1-1 Conversation notes";
19969
19985
  var save_data$4 = "Save data";
19970
19986
  var please_select_date_1_1_conversation$4 = "Please select date 1-1 conversation!";
19971
19987
  var please_write_something_to_this_1_1_conversation$4 = "Please write something to this 1-1 conversation!";
19972
- var data_1_1_conversation_cannot_exceed_300_characters$4 = "Data 1-1 conversation cannot exceed 300 characters!";
19988
+ var data_1_1_conversation_cannot_exceed_300_characters$4 = "Data 1-1 conversation cannot exceed 1000 characters!";
19973
19989
  var no_need_for_it$4 = "No need for it";
19974
19990
  var conversation_saved$4 = "Conversation saved!";
19975
19991
  var what_did_you_and_the_student_choose_as_an_action_step_would_you_like_to_add_it_as_a_goal$4 = "What did you and the student choose as an action step?<br/>Would you like to add it as a Goal?";
@@ -19986,7 +20002,7 @@ var yes_view_student_goals$4 = "Yes, view student goals";
19986
20002
  var please_set_time_1_1_conversation$4 = "Please set time 1-1 conversation";
19987
20003
  var type_your_answer_here$4 = "Type your answer here...";
19988
20004
  var delete_bulk$4 = "Delete Bulk";
19989
- var number_of_students_with_at_least_one_very_low_metric$4 = "Number of students with at least one very low metric";
20005
+ var number_of_students_with_at_least_one_very_low_metric$4 = "Students with concerning metrics";
19990
20006
  var this_flags_if_the_student_is_not_ready_to_learn_or_has_at_least_one_success_or_readiness_to_learn_metrics_under_40$4 = "This flags if the student is not ready to learn or has at least one success, or readiness to learn metrics under 40%";
19991
20007
  var of_students_have_concerned_metrics$4 = "of students have concerned metrics";
19992
20008
  var have_metrics_40$4 = "have metrics <40%";
@@ -20082,6 +20098,8 @@ var take_a_moment_for_you$4 = "Take a Moment for You";
20082
20098
  var it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$4 = "It’s time to take care of yourself. Start your Well-Being Check-In to reflect on how you’re doing and receive the support you deserve.";
20083
20099
  var start_check_in_now$4 = "START CHECK-IN NOW";
20084
20100
  var i_ll_do_it_later$4 = "I'LL DO IT LATER";
20101
+ var number_of_conversations$4 = "Number of conversations";
20102
+ var number_of_expected_conversations_based_on_the_goal$4 = "Number of expected conversations based on the goal";
20085
20103
  var lang_zh = {
20086
20104
  dashboard: dashboard$4,
20087
20105
  user: user$4,
@@ -22352,7 +22370,9 @@ var lang_zh = {
22352
22370
  take_a_moment_for_you: take_a_moment_for_you$4,
22353
22371
  it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve: it_s_time_to_take_care_of_yourself_start_your_well_being_check_in_to_reflect_on_how_you_re_doing_and_receive_the_support_you_deserve$4,
22354
22372
  start_check_in_now: start_check_in_now$4,
22355
- i_ll_do_it_later: i_ll_do_it_later$4
22373
+ i_ll_do_it_later: i_ll_do_it_later$4,
22374
+ number_of_conversations: number_of_conversations$4,
22375
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$4
22356
22376
  };
22357
22377
 
22358
22378
  var TINY_MCE_API_KEY = "htqausuofrnali3nh9ivmlpq6v415o0tv2qikpg39bqf4pnk";
@@ -42224,6 +42244,212 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
42224
42244
  })), t("log_out")))));
42225
42245
  };
42226
42246
 
42247
+ var apiGetLanguage = function apiGetLanguage() {
42248
+ return api.get(BASE_URL + "/api/language");
42249
+ };
42250
+
42251
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
42252
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
42253
+ };
42254
+
42255
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
42256
+
42257
+ var useLanguages = function useLanguages() {
42258
+ var dispatch = reactRedux.useDispatch();
42259
+
42260
+ var _useTranslation = reactI18next.useTranslation(),
42261
+ i18n = _useTranslation.i18n;
42262
+
42263
+ var language = reactRedux.useSelector(function (state) {
42264
+ return state.common.language;
42265
+ });
42266
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
42267
+
42268
+ var _useState = React.useState([]),
42269
+ languageList = _useState[0],
42270
+ setLanguageList = _useState[1];
42271
+
42272
+ var _useState2 = React.useState(false),
42273
+ dropdownOpen = _useState2[0],
42274
+ setDropdownOpen = _useState2[1];
42275
+
42276
+ var _useState3 = React.useState(defaultLanguage),
42277
+ currentLang = _useState3[0],
42278
+ setCurrentLang = _useState3[1];
42279
+
42280
+ var toggle = function toggle() {
42281
+ return setDropdownOpen(function (prevState) {
42282
+ return !prevState;
42283
+ });
42284
+ };
42285
+
42286
+ var changeLanguageApp = function changeLanguageApp(lang) {
42287
+ try {
42288
+ var _temp3 = function _temp3() {
42289
+ dispatch(setLoading(false));
42290
+ };
42291
+
42292
+ dispatch(setLoading(true));
42293
+
42294
+ var _temp4 = _catch(function () {
42295
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
42296
+ i18n.changeLanguage(lang);
42297
+ setCurrentLang(lang);
42298
+ dispatch(setLanguage(lang));
42299
+ });
42300
+ }, function (err) {
42301
+ var _err$response, _err$response$data;
42302
+
42303
+ dispatch(setAlert({
42304
+ type: "danger",
42305
+ 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
42306
+ }));
42307
+ });
42308
+
42309
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
42310
+ } catch (e) {
42311
+ return Promise.reject(e);
42312
+ }
42313
+ };
42314
+
42315
+ var getListLanguage = function getListLanguage() {
42316
+ try {
42317
+ var _temp6 = _catch(function () {
42318
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
42319
+ setLanguageList(res.data);
42320
+ });
42321
+ }, function (err) {
42322
+ var _err$response2, _err$response2$data;
42323
+
42324
+ dispatch(setAlert({
42325
+ type: "danger",
42326
+ 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
42327
+ }));
42328
+ });
42329
+
42330
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
42331
+ } catch (e) {
42332
+ return Promise.reject(e);
42333
+ }
42334
+ };
42335
+
42336
+ React.useEffect(function () {
42337
+ defaultLanguage != language && changeLanguageApp(defaultLanguage);
42338
+ getListLanguage();
42339
+ }, []);
42340
+ return {
42341
+ languageList: languageList,
42342
+ toggle: toggle,
42343
+ dropdownOpen: dropdownOpen,
42344
+ currentLang: currentLang,
42345
+ changeLanguageApp: changeLanguageApp,
42346
+ setCurrentLang: setCurrentLang
42347
+ };
42348
+ };
42349
+
42350
+ var TheLanguageDropdown = function TheLanguageDropdown() {
42351
+ var _useLanguages = useLanguages(),
42352
+ languageList = _useLanguages.languageList,
42353
+ toggle = _useLanguages.toggle,
42354
+ dropdownOpen = _useLanguages.dropdownOpen,
42355
+ currentLang = _useLanguages.currentLang,
42356
+ changeLanguageApp = _useLanguages.changeLanguageApp;
42357
+
42358
+ var currentLanguage = React.useMemo(function () {
42359
+ var current = languageList.find(function (i) {
42360
+ return i.code === currentLang;
42361
+ });
42362
+ if (!current) return null;
42363
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
42364
+ className: "mr-2 " + styles['dropdown-menu-flag'],
42365
+ src: "" + getStaticFileUrl(current.image)
42366
+ }), " ", current.name);
42367
+ }, [currentLang, languageList]);
42368
+ return React__default.createElement(reactstrap.Dropdown, {
42369
+ isOpen: dropdownOpen,
42370
+ toggle: toggle,
42371
+ className: "" + styles["dropdown-menu"]
42372
+ }, React__default.createElement(reactstrap.DropdownToggle, {
42373
+ className: styles["header-avatar"] + " d-flex align-items-center"
42374
+ }, React__default.createElement("span", {
42375
+ style: {
42376
+ color: "#000",
42377
+ textTransform: "capitalize",
42378
+ display: 'flex',
42379
+ alignItems: 'center'
42380
+ }
42381
+ }, currentLanguage, React__default.createElement(bs.BsChevronDown, {
42382
+ className: "ml-2",
42383
+ style: {
42384
+ fontSize: '10px'
42385
+ }
42386
+ }))), React__default.createElement(reactstrap.DropdownMenu, {
42387
+ className: styles["dropdown-content-language"]
42388
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
42389
+ return React__default.createElement(reactstrap.DropdownItem, {
42390
+ key: lang.code,
42391
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
42392
+ onClick: function onClick() {
42393
+ return changeLanguageApp(lang.code);
42394
+ }
42395
+ }, React__default.createElement("div", {
42396
+ className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
42397
+ }, React__default.createElement("span", {
42398
+ className: "mr-2 d-flex hover-opacity"
42399
+ }, React__default.createElement("img", {
42400
+ style: {
42401
+ width: "30px",
42402
+ height: "25px",
42403
+ borderRadius: "5px"
42404
+ },
42405
+ src: getStaticFileUrl(lang.image)
42406
+ })), lang.name));
42407
+ })));
42408
+ };
42409
+
42410
+ var TheHeader = function TheHeader(_ref) {
42411
+ var onToggleModel = _ref.onToggleModel;
42412
+ var dispatch = reactRedux.useDispatch();
42413
+ var sidebarShow = reactRedux.useSelector(function (state) {
42414
+ return state.common.sidebarShow;
42415
+ });
42416
+
42417
+ var _useTranslation = reactI18next.useTranslation(),
42418
+ t = _useTranslation.t;
42419
+
42420
+ var toggleSidebarMobile = function toggleSidebarMobile() {
42421
+ var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
42422
+ dispatch(setSidebar(val));
42423
+ };
42424
+
42425
+ var isDistrict = window.location.host.includes("-district");
42426
+ return React__default.createElement(react.CHeader, {
42427
+ withSubheader: true,
42428
+ className: "d-flex align-items-center justify-content-end"
42429
+ }, React__default.createElement(react.CToggler, {
42430
+ inHeader: true,
42431
+ className: "ml-md-3 d-lg-none",
42432
+ onClick: toggleSidebarMobile
42433
+ }), React__default.createElement(react.CHeaderBrand, {
42434
+ className: "mx-auto flex-grow-1 d-lg-none",
42435
+ to: "/"
42436
+ }, React__default.createElement("img", {
42437
+ src: getStaticFileUrl(Images.LOGO_HEADER),
42438
+ className: styles["header-logo"]
42439
+ })), React__default.createElement(react.CHeaderNav, {
42440
+ className: "pr-3"
42441
+ }, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
42442
+ className: "mr-3",
42443
+ style: {
42444
+ color: '#000'
42445
+ },
42446
+ href: '/privacy-policy',
42447
+ target: "blank"
42448
+ }, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
42449
+ onToggleModel: onToggleModel
42450
+ })));
42451
+ };
42452
+
42227
42453
  var TITLE$3 = "Not found";
42228
42454
 
42229
42455
  var NotFound = function NotFound() {
@@ -42281,6 +42507,258 @@ var TheContent = function TheContent(_ref) {
42281
42507
 
42282
42508
  var TheContent$1 = React__default.memo(TheContent);
42283
42509
 
42510
+ var loadingStyle = {
42511
+ minWidth: "100vw",
42512
+ minHeight: "100vh",
42513
+ position: "fixed",
42514
+ top: 0,
42515
+ left: 0,
42516
+ zIndex: 999999999,
42517
+ backgroundColor: "rgba(0, 0, 0, 0.4)",
42518
+ display: "flex",
42519
+ justifyContent: "center",
42520
+ alignItems: "center"
42521
+ };
42522
+
42523
+ var Loading = function Loading() {
42524
+ var isLoading = reactRedux.useSelector(function (state) {
42525
+ return state.common.isLoading;
42526
+ });
42527
+ localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
42528
+ return isLoading ? React__default.createElement("div", {
42529
+ style: loadingStyle
42530
+ }, React__default.createElement("div", {
42531
+ className: "spinner-border text-secondary",
42532
+ role: "status"
42533
+ }, React__default.createElement("span", {
42534
+ className: "sr-only"
42535
+ }, "Loading..."))) : null;
42536
+ };
42537
+
42538
+ var firstCheckToken = function firstCheckToken() {
42539
+ return Promise.resolve(_catch(function () {
42540
+ var token = getAccessToken();
42541
+ return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
42542
+ return tokenStatus.data ? true : false;
42543
+ }) : false;
42544
+ }, function () {
42545
+ return false;
42546
+ }));
42547
+ };
42548
+
42549
+ var canAccess = function canAccess(userRoles, componentRoles) {
42550
+ if (!Array.isArray(userRoles)) {
42551
+ return false;
42552
+ }
42553
+
42554
+ if (Array.isArray(componentRoles)) {
42555
+ var intersects = userRoles.filter(function (i) {
42556
+ return componentRoles.includes(i);
42557
+ });
42558
+ return intersects.length > 0;
42559
+ }
42560
+
42561
+ return true;
42562
+ };
42563
+
42564
+ var ModelSelectRole = function ModelSelectRole(_ref) {
42565
+ var _handleUserRole;
42566
+
42567
+ var open = _ref.open,
42568
+ onToggleModel = _ref.onToggleModel;
42569
+ var dispatch = reactRedux.useDispatch();
42570
+
42571
+ var _useTranslation = reactI18next.useTranslation(),
42572
+ t = _useTranslation.t;
42573
+
42574
+ var history = reactRouterDom.useHistory();
42575
+ var pathname = window.location.pathname;
42576
+ var user = reactRedux.useSelector(function (state) {
42577
+ return state.common.user;
42578
+ });
42579
+ var roles = user === null || user === void 0 ? void 0 : user.roles;
42580
+
42581
+ var handleSelectUserRoles = function handleSelectUserRoles(roles) {
42582
+ dispatch(setLoading(true));
42583
+ var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
42584
+ dispatch(setUser(_extends({}, user, {
42585
+ roles: roleSelect
42586
+ })));
42587
+ localStorage.setItem("ROLES", roleSelect.toString());
42588
+ onToggleModel();
42589
+
42590
+ if (roles.includes("Parent")) {
42591
+ history.push("/parent");
42592
+ } else if (roles.includes("Admin")) {
42593
+ history.push("/admin/home");
42594
+ } else {
42595
+ pathname !== "/home" ? history.push("/home") : window.location.reload();
42596
+ }
42597
+ };
42598
+
42599
+ return React__default.createElement(reactstrap.Modal, {
42600
+ isOpen: open,
42601
+ toggle: function toggle() {
42602
+ return onToggleModel();
42603
+ },
42604
+ className: "" + styles["model-switch-roles"],
42605
+ centered: true
42606
+ }, React__default.createElement("p", {
42607
+ className: "" + styles["title"]
42608
+ }, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
42609
+ return React__default.createElement("p", {
42610
+ key: r,
42611
+ 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" : ""],
42612
+ onClick: function onClick() {
42613
+ return handleSelectUserRoles([r]);
42614
+ }
42615
+ }, r == "SecondaryTeacher" ? "Support Teacher" : r);
42616
+ })));
42617
+ };
42618
+
42619
+ var TheLayout = function TheLayout(_ref) {
42620
+ var routes = _ref.routes,
42621
+ navigation = _ref.navigation;
42622
+ var history = reactRouterDom.useHistory();
42623
+ var dispatch = reactRedux.useDispatch();
42624
+ var user = reactRedux.useSelector(function (state) {
42625
+ return state.common.user;
42626
+ });
42627
+ var language = reactRedux.useSelector(function (state) {
42628
+ return state.common.language;
42629
+ });
42630
+
42631
+ var _useState = React.useState(false),
42632
+ openModelSelectRole = _useState[0],
42633
+ setOpenModelSelectRole = _useState[1];
42634
+
42635
+ var _useTranslation = reactI18next.useTranslation(),
42636
+ t = _useTranslation.t;
42637
+
42638
+ var location = reactRouterDom.useLocation();
42639
+ var isNotification = location.pathname.includes("notifications");
42640
+ var isDistrict = window.location.host.includes("-district");
42641
+
42642
+ var handleToggleModel = function handleToggleModel() {
42643
+ setOpenModelSelectRole(!openModelSelectRole);
42644
+ };
42645
+
42646
+ var authRoutes = React.useMemo(function () {
42647
+ return routes.filter(function (route) {
42648
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
42649
+ }).filter(function (route) {
42650
+ return !!route.isDistrict === isDistrict;
42651
+ });
42652
+ }, [user, language]);
42653
+ var authNavigations = React.useMemo(function () {
42654
+ return navigation.map(function (item) {
42655
+ var _item$_children, _item$_children2;
42656
+
42657
+ return _extends({}, item, {
42658
+ name: t(item.name),
42659
+ _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) {
42660
+ return _extends({}, x, {
42661
+ name: t(x.name)
42662
+ });
42663
+ }) : undefined
42664
+ });
42665
+ }).filter(function (nav) {
42666
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
42667
+ }).filter(function (nav) {
42668
+ return !!nav.isDistrict === isDistrict;
42669
+ });
42670
+ }, [user, language]);
42671
+
42672
+ var getInformationSetting = function getInformationSetting() {
42673
+ try {
42674
+ var _temp2 = _catch(function () {
42675
+ return Promise.resolve(getSchoolSettings()).then(function (res) {
42676
+ dispatch(setSandboxMode(res.data.isSandboxMode));
42677
+ });
42678
+ }, function (err) {
42679
+ console.error(err);
42680
+ });
42681
+
42682
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
42683
+ } catch (e) {
42684
+ return Promise.reject(e);
42685
+ }
42686
+ };
42687
+
42688
+ React.useEffect(function () {
42689
+ checkAuthentication();
42690
+ }, []);
42691
+ React.useEffect(function () {
42692
+ getInformationSetting();
42693
+ }, [location.pathname]);
42694
+
42695
+ var checkAuthentication = function checkAuthentication() {
42696
+ try {
42697
+ var _temp4 = _catch(function () {
42698
+ return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
42699
+ tokenStatus ? loadInfo() : resetAuth();
42700
+ });
42701
+ }, function () {
42702
+ resetAuth();
42703
+ });
42704
+
42705
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
42706
+ } catch (e) {
42707
+ return Promise.reject(e);
42708
+ }
42709
+ };
42710
+
42711
+ var loadInfo = function loadInfo() {
42712
+ try {
42713
+ var _temp6 = _catch(function () {
42714
+ return Promise.resolve(getInfo()).then(function (info) {
42715
+ var _info$data, _info$data$roles;
42716
+
42717
+ 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"))) {
42718
+ resetAuth();
42719
+ }
42720
+
42721
+ dispatch(setUser(info.data));
42722
+ });
42723
+ }, function () {
42724
+ resetAuth();
42725
+ });
42726
+
42727
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
42728
+ } catch (e) {
42729
+ return Promise.reject(e);
42730
+ }
42731
+ };
42732
+
42733
+ var resetAuth = function resetAuth() {
42734
+ localStorage.removeItem(ACCESS_TOKEN);
42735
+ sessionStorage.removeItem(ACCESS_TOKEN);
42736
+ localStorage.removeItem("ROLES");
42737
+ history.push("/");
42738
+ };
42739
+
42740
+ if (!user) {
42741
+ return React__default.createElement(Loading, null);
42742
+ }
42743
+
42744
+ return React__default.createElement("div", {
42745
+ className: "c-app c-default-layout"
42746
+ }, !isNotification && React__default.createElement(TheSidebar, {
42747
+ navigation: authNavigations
42748
+ }), React__default.createElement("div", {
42749
+ className: "c-wrapper"
42750
+ }, !isNotification && React__default.createElement(TheHeader, {
42751
+ onToggleModel: handleToggleModel
42752
+ }), React__default.createElement("div", {
42753
+ className: "c-body bg-white"
42754
+ }, React__default.createElement(TheContent$1, {
42755
+ routes: authRoutes
42756
+ }))), React__default.createElement(ModelSelectRole, {
42757
+ open: openModelSelectRole,
42758
+ onToggleModel: handleToggleModel
42759
+ }));
42760
+ };
42761
+
42284
42762
  var buttonTextStyle = {
42285
42763
  fontWeight: 500
42286
42764
  };
@@ -51627,34 +52105,6 @@ var UserDetail = function UserDetail() {
51627
52105
  });
51628
52106
  };
51629
52107
 
51630
- var loadingStyle = {
51631
- minWidth: "100vw",
51632
- minHeight: "100vh",
51633
- position: "fixed",
51634
- top: 0,
51635
- left: 0,
51636
- zIndex: 999999999,
51637
- backgroundColor: "rgba(0, 0, 0, 0.4)",
51638
- display: "flex",
51639
- justifyContent: "center",
51640
- alignItems: "center"
51641
- };
51642
-
51643
- var Loading = function Loading() {
51644
- var isLoading = reactRedux.useSelector(function (state) {
51645
- return state.common.isLoading;
51646
- });
51647
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
51648
- return isLoading ? React__default.createElement("div", {
51649
- style: loadingStyle
51650
- }, React__default.createElement("div", {
51651
- className: "spinner-border text-secondary",
51652
- role: "status"
51653
- }, React__default.createElement("span", {
51654
- className: "sr-only"
51655
- }, "Loading..."))) : null;
51656
- };
51657
-
51658
52108
  var ScrollToTop = function ScrollToTop() {
51659
52109
  var _useLocation = reactRouterDom.useLocation(),
51660
52110
  pathname = _useLocation.pathname;
@@ -54680,32 +55130,6 @@ var store = toolkit.configureStore({
54680
55130
  }
54681
55131
  });
54682
55132
 
54683
- var firstCheckToken = function firstCheckToken() {
54684
- return Promise.resolve(_catch(function () {
54685
- var token = getAccessToken();
54686
- return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
54687
- return tokenStatus.data ? true : false;
54688
- }) : false;
54689
- }, function () {
54690
- return false;
54691
- }));
54692
- };
54693
-
54694
- var canAccess = function canAccess(userRoles, componentRoles) {
54695
- if (!Array.isArray(userRoles)) {
54696
- return false;
54697
- }
54698
-
54699
- if (Array.isArray(componentRoles)) {
54700
- var intersects = userRoles.filter(function (i) {
54701
- return componentRoles.includes(i);
54702
- });
54703
- return intersects.length > 0;
54704
- }
54705
-
54706
- return true;
54707
- };
54708
-
54709
55133
  var isInViewport = function isInViewport(el) {
54710
55134
  var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
54711
55135
  return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
@@ -54739,410 +55163,6 @@ var generateRandomString = (function () {
54739
55163
  return (Math.random() + 1).toString(36).substring(7);
54740
55164
  });
54741
55165
 
54742
- var apiGetLanguage = function apiGetLanguage() {
54743
- return api.get(BASE_URL + "/api/language");
54744
- };
54745
-
54746
- var apiUpdateLanguage = function apiUpdateLanguage(lang) {
54747
- return api.put(BASE_URL + "/api/language?lang=" + lang);
54748
- };
54749
-
54750
- var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
54751
-
54752
- var useLanguages = function useLanguages() {
54753
- var dispatch = reactRedux.useDispatch();
54754
-
54755
- var _useTranslation = reactI18next.useTranslation(),
54756
- i18n = _useTranslation.i18n;
54757
-
54758
- var language = reactRedux.useSelector(function (state) {
54759
- return state.common.language;
54760
- });
54761
- var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
54762
-
54763
- var _useState = React.useState([]),
54764
- languageList = _useState[0],
54765
- setLanguageList = _useState[1];
54766
-
54767
- var _useState2 = React.useState(false),
54768
- dropdownOpen = _useState2[0],
54769
- setDropdownOpen = _useState2[1];
54770
-
54771
- var _useState3 = React.useState(defaultLanguage),
54772
- currentLang = _useState3[0],
54773
- setCurrentLang = _useState3[1];
54774
-
54775
- var toggle = function toggle() {
54776
- return setDropdownOpen(function (prevState) {
54777
- return !prevState;
54778
- });
54779
- };
54780
-
54781
- var changeLanguageApp = function changeLanguageApp(lang) {
54782
- try {
54783
- var _temp3 = function _temp3() {
54784
- dispatch(setLoading(false));
54785
- };
54786
-
54787
- dispatch(setLoading(true));
54788
-
54789
- var _temp4 = _catch(function () {
54790
- return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
54791
- i18n.changeLanguage(lang);
54792
- setCurrentLang(lang);
54793
- dispatch(setLanguage(lang));
54794
- });
54795
- }, function (err) {
54796
- var _err$response, _err$response$data;
54797
-
54798
- dispatch(setAlert({
54799
- type: "danger",
54800
- 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
54801
- }));
54802
- });
54803
-
54804
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
54805
- } catch (e) {
54806
- return Promise.reject(e);
54807
- }
54808
- };
54809
-
54810
- var getListLanguage = function getListLanguage() {
54811
- try {
54812
- var _temp6 = _catch(function () {
54813
- return Promise.resolve(apiGetLanguage()).then(function (res) {
54814
- setLanguageList(res.data);
54815
- });
54816
- }, function (err) {
54817
- var _err$response2, _err$response2$data;
54818
-
54819
- dispatch(setAlert({
54820
- type: "danger",
54821
- 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
54822
- }));
54823
- });
54824
-
54825
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
54826
- } catch (e) {
54827
- return Promise.reject(e);
54828
- }
54829
- };
54830
-
54831
- React.useEffect(function () {
54832
- defaultLanguage != language && changeLanguageApp(defaultLanguage);
54833
- getListLanguage();
54834
- }, []);
54835
- return {
54836
- languageList: languageList,
54837
- toggle: toggle,
54838
- dropdownOpen: dropdownOpen,
54839
- currentLang: currentLang,
54840
- changeLanguageApp: changeLanguageApp,
54841
- setCurrentLang: setCurrentLang
54842
- };
54843
- };
54844
-
54845
- var TheLanguageDropdown = function TheLanguageDropdown() {
54846
- var _useLanguages = useLanguages(),
54847
- languageList = _useLanguages.languageList,
54848
- toggle = _useLanguages.toggle,
54849
- dropdownOpen = _useLanguages.dropdownOpen,
54850
- currentLang = _useLanguages.currentLang,
54851
- changeLanguageApp = _useLanguages.changeLanguageApp;
54852
-
54853
- var currentLanguage = React.useMemo(function () {
54854
- var current = languageList.find(function (i) {
54855
- return i.code === currentLang;
54856
- });
54857
- if (!current) return null;
54858
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
54859
- className: "mr-2 " + styles['dropdown-menu-flag'],
54860
- src: "" + getStaticFileUrl(current.image)
54861
- }), " ", current.name);
54862
- }, [currentLang, languageList]);
54863
- return React__default.createElement(reactstrap.Dropdown, {
54864
- isOpen: dropdownOpen,
54865
- toggle: toggle,
54866
- className: "" + styles["dropdown-menu"]
54867
- }, React__default.createElement(reactstrap.DropdownToggle, {
54868
- className: styles["header-avatar"] + " d-flex align-items-center"
54869
- }, React__default.createElement("span", {
54870
- style: {
54871
- color: "#000",
54872
- textTransform: "capitalize",
54873
- display: 'flex',
54874
- alignItems: 'center'
54875
- }
54876
- }, currentLanguage, React__default.createElement(bs.BsChevronDown, {
54877
- className: "ml-2",
54878
- style: {
54879
- fontSize: '10px'
54880
- }
54881
- }))), React__default.createElement(reactstrap.DropdownMenu, {
54882
- className: styles["dropdown-content-language"]
54883
- }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
54884
- return React__default.createElement(reactstrap.DropdownItem, {
54885
- key: lang.code,
54886
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
54887
- onClick: function onClick() {
54888
- return changeLanguageApp(lang.code);
54889
- }
54890
- }, React__default.createElement("div", {
54891
- className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
54892
- }, React__default.createElement("span", {
54893
- className: "mr-2 d-flex hover-opacity"
54894
- }, React__default.createElement("img", {
54895
- style: {
54896
- width: "30px",
54897
- height: "25px",
54898
- borderRadius: "5px"
54899
- },
54900
- src: getStaticFileUrl(lang.image)
54901
- })), lang.name));
54902
- })));
54903
- };
54904
-
54905
- var TheHeader = function TheHeader(_ref) {
54906
- var onToggleModel = _ref.onToggleModel;
54907
- var dispatch = reactRedux.useDispatch();
54908
- var sidebarShow = reactRedux.useSelector(function (state) {
54909
- return state.common.sidebarShow;
54910
- });
54911
-
54912
- var _useTranslation = reactI18next.useTranslation(),
54913
- t = _useTranslation.t;
54914
-
54915
- var toggleSidebarMobile = function toggleSidebarMobile() {
54916
- var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
54917
- dispatch(setSidebar(val));
54918
- };
54919
-
54920
- var isDistrict = window.location.host.includes("-district");
54921
- return React__default.createElement(react.CHeader, {
54922
- withSubheader: true,
54923
- className: "d-flex align-items-center justify-content-end"
54924
- }, React__default.createElement(react.CToggler, {
54925
- inHeader: true,
54926
- className: "ml-md-3 d-lg-none",
54927
- onClick: toggleSidebarMobile
54928
- }), React__default.createElement(react.CHeaderBrand, {
54929
- className: "mx-auto flex-grow-1 d-lg-none",
54930
- to: "/"
54931
- }, React__default.createElement("img", {
54932
- src: getStaticFileUrl(Images.LOGO_HEADER),
54933
- className: styles["header-logo"]
54934
- })), React__default.createElement(react.CHeaderNav, {
54935
- className: "pr-3"
54936
- }, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
54937
- className: "mr-3",
54938
- style: {
54939
- color: '#000'
54940
- },
54941
- href: '/privacy-policy',
54942
- target: "blank"
54943
- }, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
54944
- onToggleModel: onToggleModel
54945
- })));
54946
- };
54947
-
54948
- var ModelSelectRole = function ModelSelectRole(_ref) {
54949
- var _handleUserRole;
54950
-
54951
- var open = _ref.open,
54952
- onToggleModel = _ref.onToggleModel;
54953
- var dispatch = reactRedux.useDispatch();
54954
-
54955
- var _useTranslation = reactI18next.useTranslation(),
54956
- t = _useTranslation.t;
54957
-
54958
- var history = reactRouterDom.useHistory();
54959
- var pathname = window.location.pathname;
54960
- var user = reactRedux.useSelector(function (state) {
54961
- return state.common.user;
54962
- });
54963
- var roles = user === null || user === void 0 ? void 0 : user.roles;
54964
-
54965
- var handleSelectUserRoles = function handleSelectUserRoles(roles) {
54966
- dispatch(setLoading(true));
54967
- var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
54968
- dispatch(setUser(_extends({}, user, {
54969
- roles: roleSelect
54970
- })));
54971
- localStorage.setItem("ROLES", roleSelect.toString());
54972
- onToggleModel();
54973
-
54974
- if (roles.includes("Parent")) {
54975
- history.push("/parent");
54976
- } else if (roles.includes("Admin")) {
54977
- history.push("/admin/home");
54978
- } else {
54979
- pathname !== "/home" ? history.push("/home") : window.location.reload();
54980
- }
54981
- };
54982
-
54983
- return React__default.createElement(reactstrap.Modal, {
54984
- isOpen: open,
54985
- toggle: function toggle() {
54986
- return onToggleModel();
54987
- },
54988
- className: "" + styles["model-switch-roles"],
54989
- centered: true
54990
- }, React__default.createElement("p", {
54991
- className: "" + styles["title"]
54992
- }, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
54993
- return React__default.createElement("p", {
54994
- key: r,
54995
- 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" : ""],
54996
- onClick: function onClick() {
54997
- return handleSelectUserRoles([r]);
54998
- }
54999
- }, r == "SecondaryTeacher" ? "Support Teacher" : r);
55000
- })));
55001
- };
55002
-
55003
- var TheLayout = function TheLayout(_ref) {
55004
- var routes = _ref.routes,
55005
- navigation = _ref.navigation;
55006
- var history = reactRouterDom.useHistory();
55007
- var dispatch = reactRedux.useDispatch();
55008
- var user = reactRedux.useSelector(function (state) {
55009
- return state.common.user;
55010
- });
55011
- var language = reactRedux.useSelector(function (state) {
55012
- return state.common.language;
55013
- });
55014
-
55015
- var _useState = React.useState(false),
55016
- openModelSelectRole = _useState[0],
55017
- setOpenModelSelectRole = _useState[1];
55018
-
55019
- var _useTranslation = reactI18next.useTranslation(),
55020
- t = _useTranslation.t;
55021
-
55022
- var location = reactRouterDom.useLocation();
55023
- var isNotification = location.pathname.includes("notifications");
55024
- var isDistrict = window.location.host.includes("-district");
55025
-
55026
- var handleToggleModel = function handleToggleModel() {
55027
- setOpenModelSelectRole(!openModelSelectRole);
55028
- };
55029
-
55030
- var authRoutes = React.useMemo(function () {
55031
- return routes.filter(function (route) {
55032
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
55033
- }).filter(function (route) {
55034
- return !!route.isDistrict === isDistrict;
55035
- });
55036
- }, [user, language]);
55037
- var authNavigations = React.useMemo(function () {
55038
- return navigation.map(function (item) {
55039
- var _item$_children, _item$_children2;
55040
-
55041
- return _extends({}, item, {
55042
- name: t(item.name),
55043
- _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) {
55044
- return _extends({}, x, {
55045
- name: t(x.name)
55046
- });
55047
- }) : undefined
55048
- });
55049
- }).filter(function (nav) {
55050
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
55051
- }).filter(function (nav) {
55052
- return !!nav.isDistrict === isDistrict;
55053
- });
55054
- }, [user, language]);
55055
-
55056
- var getInformationSetting = function getInformationSetting() {
55057
- try {
55058
- var _temp2 = _catch(function () {
55059
- return Promise.resolve(getSchoolSettings()).then(function (res) {
55060
- dispatch(setSandboxMode(res.data.isSandboxMode));
55061
- });
55062
- }, function (err) {
55063
- console.error(err);
55064
- });
55065
-
55066
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
55067
- } catch (e) {
55068
- return Promise.reject(e);
55069
- }
55070
- };
55071
-
55072
- React.useEffect(function () {
55073
- checkAuthentication();
55074
- }, []);
55075
- React.useEffect(function () {
55076
- getInformationSetting();
55077
- }, [location.pathname]);
55078
-
55079
- var checkAuthentication = function checkAuthentication() {
55080
- try {
55081
- var _temp4 = _catch(function () {
55082
- return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
55083
- tokenStatus ? loadInfo() : resetAuth();
55084
- });
55085
- }, function () {
55086
- resetAuth();
55087
- });
55088
-
55089
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
55090
- } catch (e) {
55091
- return Promise.reject(e);
55092
- }
55093
- };
55094
-
55095
- var loadInfo = function loadInfo() {
55096
- try {
55097
- var _temp6 = _catch(function () {
55098
- return Promise.resolve(getInfo()).then(function (info) {
55099
- var _info$data, _info$data$roles;
55100
-
55101
- 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"))) {
55102
- resetAuth();
55103
- }
55104
-
55105
- dispatch(setUser(info.data));
55106
- });
55107
- }, function () {
55108
- resetAuth();
55109
- });
55110
-
55111
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
55112
- } catch (e) {
55113
- return Promise.reject(e);
55114
- }
55115
- };
55116
-
55117
- var resetAuth = function resetAuth() {
55118
- localStorage.removeItem(ACCESS_TOKEN);
55119
- sessionStorage.removeItem(ACCESS_TOKEN);
55120
- localStorage.removeItem("ROLES");
55121
- history.push("/");
55122
- };
55123
-
55124
- if (!user) {
55125
- return React__default.createElement(Loading, null);
55126
- }
55127
-
55128
- return React__default.createElement("div", {
55129
- className: "c-app c-default-layout"
55130
- }, !isNotification && React__default.createElement(TheSidebar, {
55131
- navigation: authNavigations
55132
- }), React__default.createElement("div", {
55133
- className: "c-wrapper"
55134
- }, !isNotification && React__default.createElement(TheHeader, {
55135
- onToggleModel: handleToggleModel
55136
- }), React__default.createElement("div", {
55137
- className: "c-body bg-white"
55138
- }, React__default.createElement(TheContent$1, {
55139
- routes: authRoutes
55140
- }))), React__default.createElement(ModelSelectRole, {
55141
- open: openModelSelectRole,
55142
- onToggleModel: handleToggleModel
55143
- }));
55144
- };
55145
-
55146
55166
  var amplitudeClient = amplitude;
55147
55167
 
55148
55168
  Object.defineProperty(exports, 'I18nextProvider', {