mario-core 2.9.418-feedback → 2.9.420-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.
package/dist/index.js CHANGED
@@ -66,8 +66,8 @@ var gender = "Gender";
66
66
  var grade = "Grade";
67
67
  var grades = "Grades";
68
68
  var current_grade = "Current Grade";
69
- var student_name = "Student name";
70
- var teacher_name = "Teacher name";
69
+ var student_name = "Student Name";
70
+ var teacher_name = "Teacher Name";
71
71
  var start_date = "Start Date";
72
72
  var end_date = "End Date";
73
73
  var tooltip_content_readiness_to_learn_chart = "The represenation of individual student responses to their own feelings of Energy, Focus, Happiness, Safety, and Stress at the time administered. Note that scores are set on a 1-100 scale with the exception of Stress which optimum stress is set at '0' to get a sense of High Stress vs Low Stress.";
@@ -124,8 +124,8 @@ var default_question_for_students_or_teachers = "Default question for students o
124
124
  var is_default_question_general_class = "Is default question general class";
125
125
  var default_question_general_for_students_or_teachers = "Default question general for students or teachers";
126
126
  var before_session = "Before session";
127
- var edit_custom_alert = "Edit custom alert";
128
- var create_custom_alert = "Create custom alert";
127
+ var edit_custom_alert = "Edit Custom Alert";
128
+ var create_custom_alert = "Create Custom Alert";
129
129
  var total_of_custom_alert = "Total Custom Alerts";
130
130
  var number_of_sessions = "Number of sessions";
131
131
  var number_of_students = "Number of students";
@@ -715,9 +715,9 @@ var students_missing_a_weekly_check_in = "Students missing a weekly check in";
715
715
  var student_stress_by_zone = "Student Stress by Zone";
716
716
  var student_distribution = "Student Distribution";
717
717
  var surveys_flags = "Survey's flags";
718
- var yellow_flags = "Yellow flags";
719
- var green_flags = "Green flags";
720
- var red_flags = "Red flags";
718
+ var yellow_flags = "Yellow Flags";
719
+ var green_flags = "Green Flags";
720
+ var red_flags = "Red Flags";
721
721
  var show_by = "Show by";
722
722
  var survey_overview = "Survey Overview";
723
723
  var share_note = "Share Note";
@@ -773,7 +773,7 @@ var image_is_a_required = "Image is a required";
773
773
  var old_iep = "Old IEP";
774
774
  var create_next_years_iep = "Create Next Year's IEP";
775
775
  var write_something_optional = "Write something (Optional)";
776
- var the_effectiveness_of_learning_strategies_by_students_feedback = "The Effectiveness of Learning Strategies by Student's feedback";
776
+ var the_effectiveness_of_learning_strategies_by_students_feedback = "The effectiveness of learning strategies as rated by students";
777
777
  var perceived_usefulness = "Perceived Usefulness";
778
778
  var performance$1 = "Performance";
779
779
  var not_enough_challenge_leading_to_boredom_and_lack_of_interest = "Not enough challenge, leading to boredom and lack of interest.";
@@ -787,7 +787,7 @@ var select_or_input_class_type = "Select or input class type";
787
787
  var send_request = "Send Request";
788
788
  var start_reflection = "Start Reflection";
789
789
  var customize_reflection = "Customize Reflection";
790
- var include_section_you_want_to_appear = "Include section you want to appear";
790
+ var include_section_you_want_to_appear = "Include sections you want to appear";
791
791
  var time_of_day = "Time of Day";
792
792
  var iep_template = "IEP Template";
793
793
  var one_roster = "OneRoster";
@@ -939,9 +939,9 @@ var completed_classwork = "Completed classwork";
939
939
  var asked_for_help_when_needed = "Asked for help when needed";
940
940
  var clear = "Clear ";
941
941
  var missing_reflections = "Missing Reflections";
942
- var total_students_missing_late_assignments = "Total students missing/late assignments";
942
+ var total_students_missing_late_assignments = "Total Students Missing/Late Assignments";
943
943
  var subject_class = "Subject class";
944
- var chart_type = "Chart type";
944
+ var chart_type = "Chart Type";
945
945
  var request_from = "Request from";
946
946
  var are_you_sure_you_want_to_delete_this_item = "Are you sure you want to delete this item?";
947
947
  var yes_delete = "Yes, delete";
@@ -2191,6 +2191,9 @@ var teacher_code = "Teacher code";
2191
2191
  var number_of_conversations = "Number of conversations";
2192
2192
  var number_of_expected_conversations_based_on_the_goal = "Number of expected conversations based on the goal";
2193
2193
  var check_in = "Check-in";
2194
+ var search_for_a_student = "Search for a student";
2195
+ var survey_resulting_in_scheduled_sessions = "Survey resulting in scheduled sessions";
2196
+ var current_class_grade = "Current Class Grade";
2194
2197
  var lang_us = {
2195
2198
  dashboard: dashboard,
2196
2199
  user: user,
@@ -4115,7 +4118,7 @@ var lang_us = {
4115
4118
  financial_planning: financial_planning,
4116
4119
  "you_haven't_added_any_plans_yet": "You haven't added any plans yet",
4117
4120
  add_new_plan: add_new_plan,
4118
- "students_shaded_red_have_an_incomplete_check-_in": "Students shaded red have an incomplete check- in",
4121
+ "students_shaded_red_have_an_incomplete_check-_in": "Students shaded red have an incomplete check-in",
4119
4122
  rows_per_page: rows_per_page,
4120
4123
  anonymous_link: anonymous_link,
4121
4124
  select_ratings_of_questions: select_ratings_of_questions,
@@ -4397,7 +4400,10 @@ var lang_us = {
4397
4400
  teacher_code: teacher_code,
4398
4401
  number_of_conversations: number_of_conversations,
4399
4402
  number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal,
4400
- check_in: check_in
4403
+ check_in: check_in,
4404
+ search_for_a_student: search_for_a_student,
4405
+ survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions,
4406
+ current_class_grade: current_class_grade
4401
4407
  };
4402
4408
 
4403
4409
  var dashboard$1 = "Dashboard";
@@ -4427,8 +4433,8 @@ var gender$1 = "Gender";
4427
4433
  var grade$1 = "Grade";
4428
4434
  var grades$1 = "Grades";
4429
4435
  var current_grade$1 = "Current Grade";
4430
- var student_name$1 = "Student name";
4431
- var teacher_name$1 = "Teacher name";
4436
+ var student_name$1 = "Student Name";
4437
+ var teacher_name$1 = "Teacher Name";
4432
4438
  var start_date$1 = "Start Date";
4433
4439
  var end_date$1 = "End Date";
4434
4440
  var tooltip_content_readiness_to_learn_chart$1 = "The represenation of individual student responses to their own feelings of Energy, Focus, Happiness, Safety, and Stress at the time administered. Note that scores are set on a 1-100 scale with the exception of Stress which optimum stress is set at '0' to get a sense of High Stress vs Low Stress.";
@@ -4487,8 +4493,8 @@ var default_question_for_students_or_teachers$1 = "Default question for students
4487
4493
  var is_default_question_general_class$1 = "Is default question general class";
4488
4494
  var default_question_general_for_students_or_teachers$1 = "Default question general for students or teachers";
4489
4495
  var before_session$1 = "Before session";
4490
- var edit_custom_alert$1 = "Edit custom alert";
4491
- var create_custom_alert$1 = "Create custom alert";
4496
+ var edit_custom_alert$1 = "Edit Custom Alert";
4497
+ var create_custom_alert$1 = "Create Custom Alert";
4492
4498
  var total_of_custom_alert$1 = "Total Custom Alerts";
4493
4499
  var number_of_sessions$1 = "Number of sessions";
4494
4500
  var number_of_students$1 = "Number of students";
@@ -5079,9 +5085,9 @@ var students_missing_a_weekly_check_in$1 = "Students missing a weekly check in";
5079
5085
  var student_stress_by_zone$1 = "Student Stress by Zone";
5080
5086
  var student_distribution$1 = "Student Distribution";
5081
5087
  var surveys_flags$1 = "Survey's flags";
5082
- var yellow_flags$1 = "Yellow flags";
5083
- var green_flags$1 = "Green flags";
5084
- var red_flags$1 = "Red flags";
5088
+ var yellow_flags$1 = "Yellow Flags";
5089
+ var green_flags$1 = "Green Flags";
5090
+ var red_flags$1 = "Red Flags";
5085
5091
  var show_by$1 = "Show by";
5086
5092
  var survey_overview$1 = "Survey Overview";
5087
5093
  var share_note$1 = "Share Note";
@@ -5137,7 +5143,7 @@ var image_is_a_required$1 = "Image is a required";
5137
5143
  var old_iep$1 = "Old IEP";
5138
5144
  var create_next_years_iep$1 = "Create Next Year's IEP";
5139
5145
  var write_something_optional$1 = "Write something (Optional)";
5140
- var the_effectiveness_of_learning_strategies_by_students_feedback$1 = "The Effectiveness of Learning Strategies by Student's feedback";
5146
+ var the_effectiveness_of_learning_strategies_by_students_feedback$1 = "The effectiveness of learning strategies as rated by students";
5141
5147
  var perceived_usefulness$1 = "Perceived Usefulness";
5142
5148
  var performance$2 = "Performance";
5143
5149
  var not_enough_challenge_leading_to_boredom_and_lack_of_interest$1 = "Not enough challenge, leading to boredom and lack of interest.";
@@ -5151,7 +5157,7 @@ var select_or_input_class_type$1 = "Select or input class type";
5151
5157
  var send_request$1 = "Send Request";
5152
5158
  var start_reflection$1 = "Start Reflection";
5153
5159
  var customize_reflection$1 = "Customize Reflection";
5154
- var include_section_you_want_to_appear$1 = "Include section you want to appear";
5160
+ var include_section_you_want_to_appear$1 = "Include sections you want to appear";
5155
5161
  var time_of_day$1 = "Time of Day";
5156
5162
  var iep_template$1 = "IEP Template";
5157
5163
  var one_roster$1 = "OneRoster";
@@ -5303,9 +5309,9 @@ var completed_classwork$1 = "Completed classwork";
5303
5309
  var asked_for_help_when_needed$1 = "Asked for help when needed";
5304
5310
  var clear$1 = "Clear ";
5305
5311
  var missing_reflections$1 = "Missing Reflections";
5306
- var total_students_missing_late_assignments$1 = "Total students missing/late assignments";
5312
+ var total_students_missing_late_assignments$1 = "Total Students Missing/Late Assignments";
5307
5313
  var subject_class$1 = "Subject class";
5308
- var chart_type$1 = "Chart type";
5314
+ var chart_type$1 = "Chart Type";
5309
5315
  var request_from$1 = "Request from";
5310
5316
  var are_you_sure_you_want_to_delete_this_item$1 = "Are you sure you want to delete this item?";
5311
5317
  var yes_delete$1 = "Yes, delete";
@@ -6551,6 +6557,9 @@ var save_new_password$1 = "Save new password";
6551
6557
  var teacher_code$1 = "Teacher code";
6552
6558
  var number_of_conversations$1 = "Number of conversations";
6553
6559
  var number_of_expected_conversations_based_on_the_goal$1 = "Number of expected conversations based on the goal";
6560
+ var search_for_a_student$1 = "Search for a student";
6561
+ var survey_resulting_in_scheduled_sessions$1 = "Survey resulting in scheduled sessions";
6562
+ var current_class_grade$1 = "Current Class Grade";
6554
6563
  var lang_uk = {
6555
6564
  dashboard: dashboard$1,
6556
6565
  user: user$1,
@@ -8475,7 +8484,7 @@ var lang_uk = {
8475
8484
  financial_planning: financial_planning$1,
8476
8485
  "you_haven't_added_any_plans_yet": "You haven't added any plans yet",
8477
8486
  add_new_plan: add_new_plan$1,
8478
- "students_shaded_red_have_an_incomplete_check-_in": "Students shaded red have an incomplete check- in",
8487
+ "students_shaded_red_have_an_incomplete_check-_in": "Students shaded red have an incomplete check-in",
8479
8488
  rows_per_page: rows_per_page$1,
8480
8489
  anonymous_link: anonymous_link$1,
8481
8490
  select_ratings_of_questions: select_ratings_of_questions$1,
@@ -8754,7 +8763,10 @@ var lang_uk = {
8754
8763
  save_new_password: save_new_password$1,
8755
8764
  teacher_code: teacher_code$1,
8756
8765
  number_of_conversations: number_of_conversations$1,
8757
- number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$1
8766
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$1,
8767
+ search_for_a_student: search_for_a_student$1,
8768
+ survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$1,
8769
+ current_class_grade: current_class_grade$1
8758
8770
  };
8759
8771
 
8760
8772
  var dashboard$2 = "لوحة المعلومات";
@@ -10938,6 +10950,9 @@ var save_new_password$2 = "Save new password";
10938
10950
  var teacher_code$2 = "Teacher code";
10939
10951
  var number_of_conversations$2 = "Number of conversations";
10940
10952
  var number_of_expected_conversations_based_on_the_goal$2 = "Number of expected conversations based on the goal";
10953
+ var search_for_a_student$2 = "Search for a student";
10954
+ var survey_resulting_in_scheduled_sessions$2 = "Survey resulting in scheduled sessions";
10955
+ var current_class_grade$2 = "Current Class Grade";
10941
10956
  var lang_ar = {
10942
10957
  dashboard: dashboard$2,
10943
10958
  user: user$2,
@@ -13173,7 +13188,10 @@ var lang_ar = {
13173
13188
  save_new_password: save_new_password$2,
13174
13189
  teacher_code: teacher_code$2,
13175
13190
  number_of_conversations: number_of_conversations$2,
13176
- number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$2
13191
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$2,
13192
+ search_for_a_student: search_for_a_student$2,
13193
+ survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$2,
13194
+ current_class_grade: current_class_grade$2
13177
13195
  };
13178
13196
 
13179
13197
  var dashboard$3 = "Cuadro de mandos";
@@ -15357,6 +15375,9 @@ var save_new_password$3 = "Save new password";
15357
15375
  var teacher_code$3 = "Teacher code";
15358
15376
  var number_of_conversations$3 = "Number of conversations";
15359
15377
  var number_of_expected_conversations_based_on_the_goal$3 = "Number of expected conversations based on the goal";
15378
+ var search_for_a_student$3 = "Search for a student";
15379
+ var survey_resulting_in_scheduled_sessions$3 = "Survey resulting in scheduled sessions";
15380
+ var current_class_grade$3 = "Current Class Grade";
15360
15381
  var lang_es = {
15361
15382
  dashboard: dashboard$3,
15362
15383
  user: user$3,
@@ -17592,7 +17613,10 @@ var lang_es = {
17592
17613
  save_new_password: save_new_password$3,
17593
17614
  teacher_code: teacher_code$3,
17594
17615
  number_of_conversations: number_of_conversations$3,
17595
- number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$3
17616
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$3,
17617
+ search_for_a_student: search_for_a_student$3,
17618
+ survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$3,
17619
+ current_class_grade: current_class_grade$3
17596
17620
  };
17597
17621
 
17598
17622
  var dashboard$4 = "仪表板";
@@ -19776,6 +19800,9 @@ var save_new_password$4 = "Save new password";
19776
19800
  var teacher_code$4 = "Teacher code";
19777
19801
  var number_of_conversations$4 = "Number of conversations";
19778
19802
  var number_of_expected_conversations_based_on_the_goal$4 = "Number of expected conversations based on the goal";
19803
+ var search_for_a_student$4 = "Search for a student";
19804
+ var survey_resulting_in_scheduled_sessions$4 = "Survey resulting in scheduled sessions";
19805
+ var current_class_grade$4 = "Current Class Grade";
19779
19806
  var lang_zh = {
19780
19807
  dashboard: dashboard$4,
19781
19808
  user: user$4,
@@ -22011,7 +22038,10 @@ var lang_zh = {
22011
22038
  save_new_password: save_new_password$4,
22012
22039
  teacher_code: teacher_code$4,
22013
22040
  number_of_conversations: number_of_conversations$4,
22014
- number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$4
22041
+ number_of_expected_conversations_based_on_the_goal: number_of_expected_conversations_based_on_the_goal$4,
22042
+ search_for_a_student: search_for_a_student$4,
22043
+ survey_resulting_in_scheduled_sessions: survey_resulting_in_scheduled_sessions$4,
22044
+ current_class_grade: current_class_grade$4
22015
22045
  };
22016
22046
 
22017
22047
  var TINY_MCE_API_KEY = "htqausuofrnali3nh9ivmlpq6v415o0tv2qikpg39bqf4pnk";
@@ -22178,7 +22208,9 @@ var CsvImportType;
22178
22208
 
22179
22209
  var domainName = window.location.hostname;
22180
22210
  var listCheckMalvernCollege = ['malverncollege', 'stage', 'localhost'];
22181
- var isMalvernCollege = listCheckMalvernCollege.includes(domainName);
22211
+ var isMalvernCollege = listCheckMalvernCollege.some(function (e) {
22212
+ return domainName.includes(e);
22213
+ });
22182
22214
 
22183
22215
  var resources$5 = {
22184
22216
  "en-US": {
@@ -41892,212 +41924,6 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
41892
41924
  })), t("log_out")))));
41893
41925
  };
41894
41926
 
41895
- var apiGetLanguage = function apiGetLanguage() {
41896
- return api.get(BASE_URL + "/api/language");
41897
- };
41898
-
41899
- var apiUpdateLanguage = function apiUpdateLanguage(lang) {
41900
- return api.put(BASE_URL + "/api/language?lang=" + lang);
41901
- };
41902
-
41903
- var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
41904
-
41905
- var useLanguages = function useLanguages() {
41906
- var dispatch = reactRedux.useDispatch();
41907
-
41908
- var _useTranslation = reactI18next.useTranslation(),
41909
- i18n = _useTranslation.i18n;
41910
-
41911
- var language = reactRedux.useSelector(function (state) {
41912
- return state.common.language;
41913
- });
41914
- var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
41915
-
41916
- var _useState = React.useState([]),
41917
- languageList = _useState[0],
41918
- setLanguageList = _useState[1];
41919
-
41920
- var _useState2 = React.useState(false),
41921
- dropdownOpen = _useState2[0],
41922
- setDropdownOpen = _useState2[1];
41923
-
41924
- var _useState3 = React.useState(defaultLanguage),
41925
- currentLang = _useState3[0],
41926
- setCurrentLang = _useState3[1];
41927
-
41928
- var toggle = function toggle() {
41929
- return setDropdownOpen(function (prevState) {
41930
- return !prevState;
41931
- });
41932
- };
41933
-
41934
- var changeLanguageApp = function changeLanguageApp(lang) {
41935
- try {
41936
- var _temp3 = function _temp3() {
41937
- dispatch(setLoading(false));
41938
- };
41939
-
41940
- dispatch(setLoading(true));
41941
-
41942
- var _temp4 = _catch(function () {
41943
- return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
41944
- i18n.changeLanguage(lang);
41945
- setCurrentLang(lang);
41946
- dispatch(setLanguage(lang));
41947
- });
41948
- }, function (err) {
41949
- var _err$response, _err$response$data;
41950
-
41951
- dispatch(setAlert({
41952
- type: "danger",
41953
- 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
41954
- }));
41955
- });
41956
-
41957
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
41958
- } catch (e) {
41959
- return Promise.reject(e);
41960
- }
41961
- };
41962
-
41963
- var getListLanguage = function getListLanguage() {
41964
- try {
41965
- var _temp6 = _catch(function () {
41966
- return Promise.resolve(apiGetLanguage()).then(function (res) {
41967
- setLanguageList(res.data);
41968
- });
41969
- }, function (err) {
41970
- var _err$response2, _err$response2$data;
41971
-
41972
- dispatch(setAlert({
41973
- type: "danger",
41974
- 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
41975
- }));
41976
- });
41977
-
41978
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
41979
- } catch (e) {
41980
- return Promise.reject(e);
41981
- }
41982
- };
41983
-
41984
- React.useEffect(function () {
41985
- defaultLanguage != language && changeLanguageApp(defaultLanguage);
41986
- getListLanguage();
41987
- }, []);
41988
- return {
41989
- languageList: languageList,
41990
- toggle: toggle,
41991
- dropdownOpen: dropdownOpen,
41992
- currentLang: currentLang,
41993
- changeLanguageApp: changeLanguageApp,
41994
- setCurrentLang: setCurrentLang
41995
- };
41996
- };
41997
-
41998
- var TheLanguageDropdown = function TheLanguageDropdown() {
41999
- var _useLanguages = useLanguages(),
42000
- languageList = _useLanguages.languageList,
42001
- toggle = _useLanguages.toggle,
42002
- dropdownOpen = _useLanguages.dropdownOpen,
42003
- currentLang = _useLanguages.currentLang,
42004
- changeLanguageApp = _useLanguages.changeLanguageApp;
42005
-
42006
- var currentLanguage = React.useMemo(function () {
42007
- var current = languageList.find(function (i) {
42008
- return i.code === currentLang;
42009
- });
42010
- if (!current) return null;
42011
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
42012
- className: "mr-2 " + styles['dropdown-menu-flag'],
42013
- src: "" + getStaticFileUrl(current.image)
42014
- }), " ", current.name);
42015
- }, [currentLang, languageList]);
42016
- return React__default.createElement(reactstrap.Dropdown, {
42017
- isOpen: dropdownOpen,
42018
- toggle: toggle,
42019
- className: "" + styles["dropdown-menu"]
42020
- }, React__default.createElement(reactstrap.DropdownToggle, {
42021
- className: styles["header-avatar"] + " d-flex align-items-center"
42022
- }, React__default.createElement("span", {
42023
- style: {
42024
- color: "#000",
42025
- textTransform: "capitalize",
42026
- display: 'flex',
42027
- alignItems: 'center'
42028
- }
42029
- }, currentLanguage, React__default.createElement(bs.BsChevronDown, {
42030
- className: "ml-2",
42031
- style: {
42032
- fontSize: '10px'
42033
- }
42034
- }))), React__default.createElement(reactstrap.DropdownMenu, {
42035
- className: styles["dropdown-content-language"]
42036
- }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
42037
- return React__default.createElement(reactstrap.DropdownItem, {
42038
- key: lang.code,
42039
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
42040
- onClick: function onClick() {
42041
- return changeLanguageApp(lang.code);
42042
- }
42043
- }, React__default.createElement("div", {
42044
- className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
42045
- }, React__default.createElement("span", {
42046
- className: "mr-2 d-flex hover-opacity"
42047
- }, React__default.createElement("img", {
42048
- style: {
42049
- width: "30px",
42050
- height: "25px",
42051
- borderRadius: "5px"
42052
- },
42053
- src: getStaticFileUrl(lang.image)
42054
- })), lang.name));
42055
- })));
42056
- };
42057
-
42058
- var TheHeader = function TheHeader(_ref) {
42059
- var onToggleModel = _ref.onToggleModel;
42060
- var dispatch = reactRedux.useDispatch();
42061
- var sidebarShow = reactRedux.useSelector(function (state) {
42062
- return state.common.sidebarShow;
42063
- });
42064
-
42065
- var _useTranslation = reactI18next.useTranslation(),
42066
- t = _useTranslation.t;
42067
-
42068
- var toggleSidebarMobile = function toggleSidebarMobile() {
42069
- var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
42070
- dispatch(setSidebar(val));
42071
- };
42072
-
42073
- var isDistrict = window.location.host.includes("-district");
42074
- return React__default.createElement(react.CHeader, {
42075
- withSubheader: true,
42076
- className: "d-flex align-items-center justify-content-end"
42077
- }, React__default.createElement(react.CToggler, {
42078
- inHeader: true,
42079
- className: "ml-md-3 d-lg-none",
42080
- onClick: toggleSidebarMobile
42081
- }), React__default.createElement(react.CHeaderBrand, {
42082
- className: "mx-auto flex-grow-1 d-lg-none",
42083
- to: "/"
42084
- }, React__default.createElement("img", {
42085
- src: getStaticFileUrl(Images.LOGO_HEADER),
42086
- className: styles["header-logo"]
42087
- })), React__default.createElement(react.CHeaderNav, {
42088
- className: "pr-3"
42089
- }, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
42090
- className: "mr-3",
42091
- style: {
42092
- color: '#000'
42093
- },
42094
- href: '/privacy-policy',
42095
- target: "blank"
42096
- }, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
42097
- onToggleModel: onToggleModel
42098
- })));
42099
- };
42100
-
42101
41927
  var TITLE$3 = "Not found";
42102
41928
 
42103
41929
  var NotFound = function NotFound() {
@@ -42155,258 +41981,6 @@ var TheContent = function TheContent(_ref) {
42155
41981
 
42156
41982
  var TheContent$1 = React__default.memo(TheContent);
42157
41983
 
42158
- var loadingStyle = {
42159
- minWidth: "100vw",
42160
- minHeight: "100vh",
42161
- position: "fixed",
42162
- top: 0,
42163
- left: 0,
42164
- zIndex: 999999999,
42165
- backgroundColor: "rgba(0, 0, 0, 0.4)",
42166
- display: "flex",
42167
- justifyContent: "center",
42168
- alignItems: "center"
42169
- };
42170
-
42171
- var Loading = function Loading() {
42172
- var isLoading = reactRedux.useSelector(function (state) {
42173
- return state.common.isLoading;
42174
- });
42175
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
42176
- return isLoading ? React__default.createElement("div", {
42177
- style: loadingStyle
42178
- }, React__default.createElement("div", {
42179
- className: "spinner-border text-secondary",
42180
- role: "status"
42181
- }, React__default.createElement("span", {
42182
- className: "sr-only"
42183
- }, "Loading..."))) : null;
42184
- };
42185
-
42186
- var firstCheckToken = function firstCheckToken() {
42187
- return Promise.resolve(_catch(function () {
42188
- var token = getAccessToken();
42189
- return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
42190
- return tokenStatus.data ? true : false;
42191
- }) : false;
42192
- }, function () {
42193
- return false;
42194
- }));
42195
- };
42196
-
42197
- var canAccess = function canAccess(userRoles, componentRoles) {
42198
- if (!Array.isArray(userRoles)) {
42199
- return false;
42200
- }
42201
-
42202
- if (Array.isArray(componentRoles)) {
42203
- var intersects = userRoles.filter(function (i) {
42204
- return componentRoles.includes(i);
42205
- });
42206
- return intersects.length > 0;
42207
- }
42208
-
42209
- return true;
42210
- };
42211
-
42212
- var ModelSelectRole = function ModelSelectRole(_ref) {
42213
- var _handleUserRole;
42214
-
42215
- var open = _ref.open,
42216
- onToggleModel = _ref.onToggleModel;
42217
- var dispatch = reactRedux.useDispatch();
42218
-
42219
- var _useTranslation = reactI18next.useTranslation(),
42220
- t = _useTranslation.t;
42221
-
42222
- var history = reactRouterDom.useHistory();
42223
- var pathname = window.location.pathname;
42224
- var user = reactRedux.useSelector(function (state) {
42225
- return state.common.user;
42226
- });
42227
- var roles = user === null || user === void 0 ? void 0 : user.roles;
42228
-
42229
- var handleSelectUserRoles = function handleSelectUserRoles(roles) {
42230
- dispatch(setLoading(true));
42231
- var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
42232
- dispatch(setUser(_extends({}, user, {
42233
- roles: roleSelect
42234
- })));
42235
- localStorage.setItem("ROLES", roleSelect.toString());
42236
- onToggleModel();
42237
-
42238
- if (roles.includes("Parent")) {
42239
- history.push("/parent");
42240
- } else if (roles.includes("Admin")) {
42241
- history.push("/admin/home");
42242
- } else {
42243
- pathname !== "/home" ? history.push("/home") : window.location.reload();
42244
- }
42245
- };
42246
-
42247
- return React__default.createElement(reactstrap.Modal, {
42248
- isOpen: open,
42249
- toggle: function toggle() {
42250
- return onToggleModel();
42251
- },
42252
- className: "" + styles["model-switch-roles"],
42253
- centered: true
42254
- }, React__default.createElement("p", {
42255
- className: "" + styles["title"]
42256
- }, 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) {
42257
- return React__default.createElement("p", {
42258
- key: r,
42259
- 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" : ""],
42260
- onClick: function onClick() {
42261
- return handleSelectUserRoles([r]);
42262
- }
42263
- }, r == "SecondaryTeacher" ? "Support Teacher" : r);
42264
- })));
42265
- };
42266
-
42267
- var TheLayout = function TheLayout(_ref) {
42268
- var routes = _ref.routes,
42269
- navigation = _ref.navigation;
42270
- var history = reactRouterDom.useHistory();
42271
- var dispatch = reactRedux.useDispatch();
42272
- var user = reactRedux.useSelector(function (state) {
42273
- return state.common.user;
42274
- });
42275
- var language = reactRedux.useSelector(function (state) {
42276
- return state.common.language;
42277
- });
42278
-
42279
- var _useState = React.useState(false),
42280
- openModelSelectRole = _useState[0],
42281
- setOpenModelSelectRole = _useState[1];
42282
-
42283
- var _useTranslation = reactI18next.useTranslation(),
42284
- t = _useTranslation.t;
42285
-
42286
- var location = reactRouterDom.useLocation();
42287
- var isNotification = location.pathname.includes("notifications");
42288
- var isDistrict = window.location.host.includes("-district");
42289
-
42290
- var handleToggleModel = function handleToggleModel() {
42291
- setOpenModelSelectRole(!openModelSelectRole);
42292
- };
42293
-
42294
- var authRoutes = React.useMemo(function () {
42295
- return routes.filter(function (route) {
42296
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
42297
- }).filter(function (route) {
42298
- return !!route.isDistrict === isDistrict;
42299
- });
42300
- }, [user, language]);
42301
- var authNavigations = React.useMemo(function () {
42302
- return navigation.map(function (item) {
42303
- var _item$_children, _item$_children2;
42304
-
42305
- return _extends({}, item, {
42306
- name: t(item.name),
42307
- _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) {
42308
- return _extends({}, x, {
42309
- name: t(x.name)
42310
- });
42311
- }) : undefined
42312
- });
42313
- }).filter(function (nav) {
42314
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
42315
- }).filter(function (nav) {
42316
- return !!nav.isDistrict === isDistrict;
42317
- });
42318
- }, [user, language]);
42319
-
42320
- var getInformationSetting = function getInformationSetting() {
42321
- try {
42322
- var _temp2 = _catch(function () {
42323
- return Promise.resolve(getSchoolSettings()).then(function (res) {
42324
- dispatch(setSandboxMode(res.data.isSandboxMode));
42325
- });
42326
- }, function (err) {
42327
- console.error(err);
42328
- });
42329
-
42330
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
42331
- } catch (e) {
42332
- return Promise.reject(e);
42333
- }
42334
- };
42335
-
42336
- React.useEffect(function () {
42337
- checkAuthentication();
42338
- }, []);
42339
- React.useEffect(function () {
42340
- getInformationSetting();
42341
- }, [location.pathname]);
42342
-
42343
- var checkAuthentication = function checkAuthentication() {
42344
- try {
42345
- var _temp4 = _catch(function () {
42346
- return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
42347
- tokenStatus ? loadInfo() : resetAuth();
42348
- });
42349
- }, function () {
42350
- resetAuth();
42351
- });
42352
-
42353
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
42354
- } catch (e) {
42355
- return Promise.reject(e);
42356
- }
42357
- };
42358
-
42359
- var loadInfo = function loadInfo() {
42360
- try {
42361
- var _temp6 = _catch(function () {
42362
- return Promise.resolve(getInfo()).then(function (info) {
42363
- var _info$data, _info$data$roles;
42364
-
42365
- 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"))) {
42366
- resetAuth();
42367
- }
42368
-
42369
- dispatch(setUser(info.data));
42370
- });
42371
- }, function () {
42372
- resetAuth();
42373
- });
42374
-
42375
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
42376
- } catch (e) {
42377
- return Promise.reject(e);
42378
- }
42379
- };
42380
-
42381
- var resetAuth = function resetAuth() {
42382
- localStorage.removeItem(ACCESS_TOKEN);
42383
- sessionStorage.removeItem(ACCESS_TOKEN);
42384
- localStorage.removeItem("ROLES");
42385
- history.push("/");
42386
- };
42387
-
42388
- if (!user) {
42389
- return React__default.createElement(Loading, null);
42390
- }
42391
-
42392
- return React__default.createElement("div", {
42393
- className: "c-app c-default-layout"
42394
- }, !isNotification && React__default.createElement(TheSidebar, {
42395
- navigation: authNavigations
42396
- }), React__default.createElement("div", {
42397
- className: "c-wrapper"
42398
- }, !isNotification && React__default.createElement(TheHeader, {
42399
- onToggleModel: handleToggleModel
42400
- }), React__default.createElement("div", {
42401
- className: "c-body bg-white"
42402
- }, React__default.createElement(TheContent$1, {
42403
- routes: authRoutes
42404
- }))), React__default.createElement(ModelSelectRole, {
42405
- open: openModelSelectRole,
42406
- onToggleModel: handleToggleModel
42407
- }));
42408
- };
42409
-
42410
41984
  var buttonTextStyle = {
42411
41985
  fontWeight: 500
42412
41986
  };
@@ -51787,6 +51361,34 @@ var UserDetail = function UserDetail() {
51787
51361
  });
51788
51362
  };
51789
51363
 
51364
+ var loadingStyle = {
51365
+ minWidth: "100vw",
51366
+ minHeight: "100vh",
51367
+ position: "fixed",
51368
+ top: 0,
51369
+ left: 0,
51370
+ zIndex: 999999999,
51371
+ backgroundColor: "rgba(0, 0, 0, 0.4)",
51372
+ display: "flex",
51373
+ justifyContent: "center",
51374
+ alignItems: "center"
51375
+ };
51376
+
51377
+ var Loading = function Loading() {
51378
+ var isLoading = reactRedux.useSelector(function (state) {
51379
+ return state.common.isLoading;
51380
+ });
51381
+ localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
51382
+ return isLoading ? React__default.createElement("div", {
51383
+ style: loadingStyle
51384
+ }, React__default.createElement("div", {
51385
+ className: "spinner-border text-secondary",
51386
+ role: "status"
51387
+ }, React__default.createElement("span", {
51388
+ className: "sr-only"
51389
+ }, "Loading..."))) : null;
51390
+ };
51391
+
51790
51392
  var ScrollToTop = function ScrollToTop() {
51791
51393
  var _useLocation = reactRouterDom.useLocation(),
51792
51394
  pathname = _useLocation.pathname;
@@ -54810,6 +54412,32 @@ var store = toolkit.configureStore({
54810
54412
  }
54811
54413
  });
54812
54414
 
54415
+ var firstCheckToken = function firstCheckToken() {
54416
+ return Promise.resolve(_catch(function () {
54417
+ var token = getAccessToken();
54418
+ return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
54419
+ return tokenStatus.data ? true : false;
54420
+ }) : false;
54421
+ }, function () {
54422
+ return false;
54423
+ }));
54424
+ };
54425
+
54426
+ var canAccess = function canAccess(userRoles, componentRoles) {
54427
+ if (!Array.isArray(userRoles)) {
54428
+ return false;
54429
+ }
54430
+
54431
+ if (Array.isArray(componentRoles)) {
54432
+ var intersects = userRoles.filter(function (i) {
54433
+ return componentRoles.includes(i);
54434
+ });
54435
+ return intersects.length > 0;
54436
+ }
54437
+
54438
+ return true;
54439
+ };
54440
+
54813
54441
  var isInViewport = function isInViewport(el) {
54814
54442
  var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
54815
54443
  return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
@@ -54843,6 +54471,410 @@ var generateRandomString = (function () {
54843
54471
  return (Math.random() + 1).toString(36).substring(7);
54844
54472
  });
54845
54473
 
54474
+ var apiGetLanguage = function apiGetLanguage() {
54475
+ return api.get(BASE_URL + "/api/language");
54476
+ };
54477
+
54478
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
54479
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
54480
+ };
54481
+
54482
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
54483
+
54484
+ var useLanguages = function useLanguages() {
54485
+ var dispatch = reactRedux.useDispatch();
54486
+
54487
+ var _useTranslation = reactI18next.useTranslation(),
54488
+ i18n = _useTranslation.i18n;
54489
+
54490
+ var language = reactRedux.useSelector(function (state) {
54491
+ return state.common.language;
54492
+ });
54493
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
54494
+
54495
+ var _useState = React.useState([]),
54496
+ languageList = _useState[0],
54497
+ setLanguageList = _useState[1];
54498
+
54499
+ var _useState2 = React.useState(false),
54500
+ dropdownOpen = _useState2[0],
54501
+ setDropdownOpen = _useState2[1];
54502
+
54503
+ var _useState3 = React.useState(defaultLanguage),
54504
+ currentLang = _useState3[0],
54505
+ setCurrentLang = _useState3[1];
54506
+
54507
+ var toggle = function toggle() {
54508
+ return setDropdownOpen(function (prevState) {
54509
+ return !prevState;
54510
+ });
54511
+ };
54512
+
54513
+ var changeLanguageApp = function changeLanguageApp(lang) {
54514
+ try {
54515
+ var _temp3 = function _temp3() {
54516
+ dispatch(setLoading(false));
54517
+ };
54518
+
54519
+ dispatch(setLoading(true));
54520
+
54521
+ var _temp4 = _catch(function () {
54522
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
54523
+ i18n.changeLanguage(lang);
54524
+ setCurrentLang(lang);
54525
+ dispatch(setLanguage(lang));
54526
+ });
54527
+ }, function (err) {
54528
+ var _err$response, _err$response$data;
54529
+
54530
+ dispatch(setAlert({
54531
+ type: "danger",
54532
+ 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
54533
+ }));
54534
+ });
54535
+
54536
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
54537
+ } catch (e) {
54538
+ return Promise.reject(e);
54539
+ }
54540
+ };
54541
+
54542
+ var getListLanguage = function getListLanguage() {
54543
+ try {
54544
+ var _temp6 = _catch(function () {
54545
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
54546
+ setLanguageList(res.data);
54547
+ });
54548
+ }, function (err) {
54549
+ var _err$response2, _err$response2$data;
54550
+
54551
+ dispatch(setAlert({
54552
+ type: "danger",
54553
+ 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
54554
+ }));
54555
+ });
54556
+
54557
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
54558
+ } catch (e) {
54559
+ return Promise.reject(e);
54560
+ }
54561
+ };
54562
+
54563
+ React.useEffect(function () {
54564
+ defaultLanguage != language && changeLanguageApp(defaultLanguage);
54565
+ getListLanguage();
54566
+ }, []);
54567
+ return {
54568
+ languageList: languageList,
54569
+ toggle: toggle,
54570
+ dropdownOpen: dropdownOpen,
54571
+ currentLang: currentLang,
54572
+ changeLanguageApp: changeLanguageApp,
54573
+ setCurrentLang: setCurrentLang
54574
+ };
54575
+ };
54576
+
54577
+ var TheLanguageDropdown = function TheLanguageDropdown() {
54578
+ var _useLanguages = useLanguages(),
54579
+ languageList = _useLanguages.languageList,
54580
+ toggle = _useLanguages.toggle,
54581
+ dropdownOpen = _useLanguages.dropdownOpen,
54582
+ currentLang = _useLanguages.currentLang,
54583
+ changeLanguageApp = _useLanguages.changeLanguageApp;
54584
+
54585
+ var currentLanguage = React.useMemo(function () {
54586
+ var current = languageList.find(function (i) {
54587
+ return i.code === currentLang;
54588
+ });
54589
+ if (!current) return null;
54590
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
54591
+ className: "mr-2 " + styles['dropdown-menu-flag'],
54592
+ src: "" + getStaticFileUrl(current.image)
54593
+ }), " ", current.name);
54594
+ }, [currentLang, languageList]);
54595
+ return React__default.createElement(reactstrap.Dropdown, {
54596
+ isOpen: dropdownOpen,
54597
+ toggle: toggle,
54598
+ className: "" + styles["dropdown-menu"]
54599
+ }, React__default.createElement(reactstrap.DropdownToggle, {
54600
+ className: styles["header-avatar"] + " d-flex align-items-center"
54601
+ }, React__default.createElement("span", {
54602
+ style: {
54603
+ color: "#000",
54604
+ textTransform: "capitalize",
54605
+ display: 'flex',
54606
+ alignItems: 'center'
54607
+ }
54608
+ }, currentLanguage, React__default.createElement(bs.BsChevronDown, {
54609
+ className: "ml-2",
54610
+ style: {
54611
+ fontSize: '10px'
54612
+ }
54613
+ }))), React__default.createElement(reactstrap.DropdownMenu, {
54614
+ className: styles["dropdown-content-language"]
54615
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
54616
+ return React__default.createElement(reactstrap.DropdownItem, {
54617
+ key: lang.code,
54618
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
54619
+ onClick: function onClick() {
54620
+ return changeLanguageApp(lang.code);
54621
+ }
54622
+ }, React__default.createElement("div", {
54623
+ className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
54624
+ }, React__default.createElement("span", {
54625
+ className: "mr-2 d-flex hover-opacity"
54626
+ }, React__default.createElement("img", {
54627
+ style: {
54628
+ width: "30px",
54629
+ height: "25px",
54630
+ borderRadius: "5px"
54631
+ },
54632
+ src: getStaticFileUrl(lang.image)
54633
+ })), lang.name));
54634
+ })));
54635
+ };
54636
+
54637
+ var TheHeader = function TheHeader(_ref) {
54638
+ var onToggleModel = _ref.onToggleModel;
54639
+ var dispatch = reactRedux.useDispatch();
54640
+ var sidebarShow = reactRedux.useSelector(function (state) {
54641
+ return state.common.sidebarShow;
54642
+ });
54643
+
54644
+ var _useTranslation = reactI18next.useTranslation(),
54645
+ t = _useTranslation.t;
54646
+
54647
+ var toggleSidebarMobile = function toggleSidebarMobile() {
54648
+ var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
54649
+ dispatch(setSidebar(val));
54650
+ };
54651
+
54652
+ var isDistrict = window.location.host.includes("-district");
54653
+ return React__default.createElement(react.CHeader, {
54654
+ withSubheader: true,
54655
+ className: "d-flex align-items-center justify-content-end"
54656
+ }, React__default.createElement(react.CToggler, {
54657
+ inHeader: true,
54658
+ className: "ml-md-3 d-lg-none",
54659
+ onClick: toggleSidebarMobile
54660
+ }), React__default.createElement(react.CHeaderBrand, {
54661
+ className: "mx-auto flex-grow-1 d-lg-none",
54662
+ to: "/"
54663
+ }, React__default.createElement("img", {
54664
+ src: getStaticFileUrl(Images.LOGO_HEADER),
54665
+ className: styles["header-logo"]
54666
+ })), React__default.createElement(react.CHeaderNav, {
54667
+ className: "pr-3"
54668
+ }, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
54669
+ className: "mr-3",
54670
+ style: {
54671
+ color: '#000'
54672
+ },
54673
+ href: '/privacy-policy',
54674
+ target: "blank"
54675
+ }, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
54676
+ onToggleModel: onToggleModel
54677
+ })));
54678
+ };
54679
+
54680
+ var ModelSelectRole = function ModelSelectRole(_ref) {
54681
+ var _handleUserRole;
54682
+
54683
+ var open = _ref.open,
54684
+ onToggleModel = _ref.onToggleModel;
54685
+ var dispatch = reactRedux.useDispatch();
54686
+
54687
+ var _useTranslation = reactI18next.useTranslation(),
54688
+ t = _useTranslation.t;
54689
+
54690
+ var history = reactRouterDom.useHistory();
54691
+ var pathname = window.location.pathname;
54692
+ var user = reactRedux.useSelector(function (state) {
54693
+ return state.common.user;
54694
+ });
54695
+ var roles = user === null || user === void 0 ? void 0 : user.roles;
54696
+
54697
+ var handleSelectUserRoles = function handleSelectUserRoles(roles) {
54698
+ dispatch(setLoading(true));
54699
+ var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
54700
+ dispatch(setUser(_extends({}, user, {
54701
+ roles: roleSelect
54702
+ })));
54703
+ localStorage.setItem("ROLES", roleSelect.toString());
54704
+ onToggleModel();
54705
+
54706
+ if (roles.includes("Parent")) {
54707
+ history.push("/parent");
54708
+ } else if (roles.includes("Admin")) {
54709
+ history.push("/admin/home");
54710
+ } else {
54711
+ pathname !== "/home" ? history.push("/home") : window.location.reload();
54712
+ }
54713
+ };
54714
+
54715
+ return React__default.createElement(reactstrap.Modal, {
54716
+ isOpen: open,
54717
+ toggle: function toggle() {
54718
+ return onToggleModel();
54719
+ },
54720
+ className: "" + styles["model-switch-roles"],
54721
+ centered: true
54722
+ }, React__default.createElement("p", {
54723
+ className: "" + styles["title"]
54724
+ }, 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) {
54725
+ return React__default.createElement("p", {
54726
+ key: r,
54727
+ 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" : ""],
54728
+ onClick: function onClick() {
54729
+ return handleSelectUserRoles([r]);
54730
+ }
54731
+ }, r == "SecondaryTeacher" ? "Support Teacher" : r);
54732
+ })));
54733
+ };
54734
+
54735
+ var TheLayout = function TheLayout(_ref) {
54736
+ var routes = _ref.routes,
54737
+ navigation = _ref.navigation;
54738
+ var history = reactRouterDom.useHistory();
54739
+ var dispatch = reactRedux.useDispatch();
54740
+ var user = reactRedux.useSelector(function (state) {
54741
+ return state.common.user;
54742
+ });
54743
+ var language = reactRedux.useSelector(function (state) {
54744
+ return state.common.language;
54745
+ });
54746
+
54747
+ var _useState = React.useState(false),
54748
+ openModelSelectRole = _useState[0],
54749
+ setOpenModelSelectRole = _useState[1];
54750
+
54751
+ var _useTranslation = reactI18next.useTranslation(),
54752
+ t = _useTranslation.t;
54753
+
54754
+ var location = reactRouterDom.useLocation();
54755
+ var isNotification = location.pathname.includes("notifications");
54756
+ var isDistrict = window.location.host.includes("-district");
54757
+
54758
+ var handleToggleModel = function handleToggleModel() {
54759
+ setOpenModelSelectRole(!openModelSelectRole);
54760
+ };
54761
+
54762
+ var authRoutes = React.useMemo(function () {
54763
+ return routes.filter(function (route) {
54764
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
54765
+ }).filter(function (route) {
54766
+ return !!route.isDistrict === isDistrict;
54767
+ });
54768
+ }, [user, language]);
54769
+ var authNavigations = React.useMemo(function () {
54770
+ return navigation.map(function (item) {
54771
+ var _item$_children, _item$_children2;
54772
+
54773
+ return _extends({}, item, {
54774
+ name: t(item.name),
54775
+ _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) {
54776
+ return _extends({}, x, {
54777
+ name: t(x.name)
54778
+ });
54779
+ }) : undefined
54780
+ });
54781
+ }).filter(function (nav) {
54782
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
54783
+ }).filter(function (nav) {
54784
+ return !!nav.isDistrict === isDistrict;
54785
+ });
54786
+ }, [user, language]);
54787
+
54788
+ var getInformationSetting = function getInformationSetting() {
54789
+ try {
54790
+ var _temp2 = _catch(function () {
54791
+ return Promise.resolve(getSchoolSettings()).then(function (res) {
54792
+ dispatch(setSandboxMode(res.data.isSandboxMode));
54793
+ });
54794
+ }, function (err) {
54795
+ console.error(err);
54796
+ });
54797
+
54798
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
54799
+ } catch (e) {
54800
+ return Promise.reject(e);
54801
+ }
54802
+ };
54803
+
54804
+ React.useEffect(function () {
54805
+ checkAuthentication();
54806
+ }, []);
54807
+ React.useEffect(function () {
54808
+ getInformationSetting();
54809
+ }, [location.pathname]);
54810
+
54811
+ var checkAuthentication = function checkAuthentication() {
54812
+ try {
54813
+ var _temp4 = _catch(function () {
54814
+ return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
54815
+ tokenStatus ? loadInfo() : resetAuth();
54816
+ });
54817
+ }, function () {
54818
+ resetAuth();
54819
+ });
54820
+
54821
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
54822
+ } catch (e) {
54823
+ return Promise.reject(e);
54824
+ }
54825
+ };
54826
+
54827
+ var loadInfo = function loadInfo() {
54828
+ try {
54829
+ var _temp6 = _catch(function () {
54830
+ return Promise.resolve(getInfo()).then(function (info) {
54831
+ var _info$data, _info$data$roles;
54832
+
54833
+ 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"))) {
54834
+ resetAuth();
54835
+ }
54836
+
54837
+ dispatch(setUser(info.data));
54838
+ });
54839
+ }, function () {
54840
+ resetAuth();
54841
+ });
54842
+
54843
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
54844
+ } catch (e) {
54845
+ return Promise.reject(e);
54846
+ }
54847
+ };
54848
+
54849
+ var resetAuth = function resetAuth() {
54850
+ localStorage.removeItem(ACCESS_TOKEN);
54851
+ sessionStorage.removeItem(ACCESS_TOKEN);
54852
+ localStorage.removeItem("ROLES");
54853
+ history.push("/");
54854
+ };
54855
+
54856
+ if (!user) {
54857
+ return React__default.createElement(Loading, null);
54858
+ }
54859
+
54860
+ return React__default.createElement("div", {
54861
+ className: "c-app c-default-layout"
54862
+ }, !isNotification && React__default.createElement(TheSidebar, {
54863
+ navigation: authNavigations
54864
+ }), React__default.createElement("div", {
54865
+ className: "c-wrapper"
54866
+ }, !isNotification && React__default.createElement(TheHeader, {
54867
+ onToggleModel: handleToggleModel
54868
+ }), React__default.createElement("div", {
54869
+ className: "c-body bg-white"
54870
+ }, React__default.createElement(TheContent$1, {
54871
+ routes: authRoutes
54872
+ }))), React__default.createElement(ModelSelectRole, {
54873
+ open: openModelSelectRole,
54874
+ onToggleModel: handleToggleModel
54875
+ }));
54876
+ };
54877
+
54846
54878
  var amplitudeClient = amplitude;
54847
54879
 
54848
54880
  Object.defineProperty(exports, 'I18nextProvider', {