touchstudy-core 0.1.163 → 0.1.164

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.
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ declare type Props = {
3
+ openDialog: boolean;
4
+ onClose: () => void;
5
+ initialValues: any;
6
+ handleCreateQuestion: any;
7
+ options: any[];
8
+ schema: any;
9
+ labelQuestion?: string;
10
+ nameQuestion: string;
11
+ labelContent?: string;
12
+ nameContent: string;
13
+ };
14
+ export default function CommonCreateNewQuestionDialog({ handleCreateQuestion, openDialog, initialValues, onClose, options, schema, labelQuestion, nameQuestion, labelContent, nameContent }: Props): React.JSX.Element;
15
+ export {};
@@ -10,6 +10,7 @@ export declare const getClassByIdApi: (id: number) => Promise<import("axios").Ax
10
10
  export declare const createClassApi: (model: ClassRequestBody) => Promise<import("axios").AxiosResponse<any, any>>;
11
11
  export declare const updateClassApi: (id: number, model: ClassRequestBody) => Promise<import("axios").AxiosResponse<any, any>>;
12
12
  export declare const deleteClassApi: (id: number) => Promise<import("axios").AxiosResponse<any, any>>;
13
+ export declare const hiddenClassesApi: (hidden: boolean, classId: number) => Promise<import("axios").AxiosResponse<any, any>>;
13
14
  export declare const addStudentToClass: (id: number, studentIds: number[]) => Promise<import("axios").AxiosResponse<any, any>>;
14
15
  export declare const removeStudentFromClass: (id: number, studentId: number) => Promise<import("axios").AxiosResponse<any, any>>;
15
16
  export declare const addTeacherToClass: (id: number, teacherIds: number[]) => Promise<import("axios").AxiosResponse<any, any>>;
@@ -8,6 +8,7 @@ export declare type ClassResponse = {
8
8
  totalLessons: number;
9
9
  mainTeacherId: number;
10
10
  courseWeeklyDays: WeeklyDayResponse[];
11
+ hidden: boolean;
11
12
  };
12
13
  export declare type StudentClassResponse = {
13
14
  id?: number;
@@ -16,5 +16,6 @@ declare const useClassList: (history: any, classCreateUrl?: string | undefined,
16
16
  handleUpdateClass: (value: ClassResponse) => void;
17
17
  handleChangePage: (_: any, page: number) => void;
18
18
  handleDeleteClass: () => Promise<void>;
19
+ handleToggleHidden: (e: ChangeEvent<HTMLInputElement>, classId: number) => Promise<void>;
19
20
  };
20
21
  export default useClassList;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "@wiris/mathtype-tinymce6";
3
+ declare type Props = {
4
+ config?: any;
5
+ initValue: string;
6
+ onChange: any;
7
+ disabled?: boolean;
8
+ };
9
+ declare const NoteTinyEditor: ({ disabled, onChange, initValue, config }: Props) => React.JSX.Element;
10
+ export default NoteTinyEditor;
package/dist/index.js CHANGED
@@ -1502,6 +1502,7 @@ var addedteachertoclass = "교사 수업 추가";
1502
1502
  var removedteacherfromclass = "교사 수업 제거";
1503
1503
  var addedstudenttoclass = "학생 수업 추가";
1504
1504
  var removedstudentfromclass = "학생 수업 제거";
1505
+ var hidden = "숨겨진";
1505
1506
  var lang_ko = {
1506
1507
  problem_solving: problem_solving,
1507
1508
  my_story: my_story,
@@ -2641,7 +2642,8 @@ var lang_ko = {
2641
2642
  addedteachertoclass: addedteachertoclass,
2642
2643
  removedteacherfromclass: removedteacherfromclass,
2643
2644
  addedstudenttoclass: addedstudenttoclass,
2644
- removedstudentfromclass: removedstudentfromclass
2645
+ removedstudentfromclass: removedstudentfromclass,
2646
+ hidden: hidden
2645
2647
  };
2646
2648
 
2647
2649
  var problem_solving$1 = "Problem Solving";
@@ -3804,6 +3806,7 @@ var addedteachertoclass$1 = "Added teacher to class";
3804
3806
  var removedteacherfromclass$1 = "Removed teacher from class";
3805
3807
  var addedstudenttoclass$1 = "Added student to class";
3806
3808
  var removedstudentfromclass$1 = "Removed student from class";
3809
+ var hidden$1 = "Hidden";
3807
3810
  var lang_en = {
3808
3811
  problem_solving: problem_solving$1,
3809
3812
  my_story: my_story$1,
@@ -4945,7 +4948,8 @@ var lang_en = {
4945
4948
  addedteachertoclass: addedteachertoclass$1,
4946
4949
  removedteacherfromclass: removedteacherfromclass$1,
4947
4950
  addedstudenttoclass: addedstudenttoclass$1,
4948
- removedstudentfromclass: removedstudentfromclass$1
4951
+ removedstudentfromclass: removedstudentfromclass$1,
4952
+ hidden: hidden$1
4949
4953
  };
4950
4954
 
4951
4955
  i18n__default.use(reactI18next.initReactI18next).init({
@@ -11041,7 +11045,11 @@ var useLoginPhoneNumber = function useLoginPhoneNumber(props) {
11041
11045
  });
11042
11046
  }, function (error) {
11043
11047
  var _error$response, _error$response2, _error$response2$data;
11044
- if ((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 500 && (error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.title) === "PhoneNumberIsDuplicated") reactToastify.toast.error(t("duplicate_passcode_for_siblings_please_contact_admin_for_assistance"));else reactToastify.toast.error(getErrorMessage(t, error));
11048
+ if ((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 500 && (error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.title) === "PhoneNumberIsDuplicated") reactToastify.toast.error(t("duplicate_passcode_for_siblings_please_contact_admin_for_assistance"));else {
11049
+ !!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
11050
+ localStorage.removeItem(LEARNING_SPACE);
11051
+ reactToastify.toast.error(getErrorMessage(t, error));
11052
+ }
11045
11053
  });
11046
11054
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
11047
11055
  } catch (e) {
@@ -11570,7 +11578,8 @@ var useLogin$1 = function useLogin(_ref) {
11570
11578
  }();
11571
11579
  return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
11572
11580
  }, function (error) {
11573
- console.log(error);
11581
+ !!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
11582
+ localStorage.removeItem(LEARNING_SPACE);
11574
11583
  reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
11575
11584
  });
11576
11585
  return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
@@ -11666,6 +11675,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
11666
11675
  error = _useState8[0],
11667
11676
  setError = _useState8[1];
11668
11677
  var firstLoadRef = React.useRef(true);
11678
+ var hasErrorRef = React.useRef(false);
11669
11679
  var onVerify = React.useCallback(function (token) {
11670
11680
  setTokenReCaptcha(token);
11671
11681
  }, []);
@@ -11681,7 +11691,8 @@ var useLogiQRCode = function useLogiQRCode(props) {
11681
11691
  if (!tokenReCaptcha) return Promise.resolve();
11682
11692
  resetData();
11683
11693
  setLoadingQR(true);
11684
- if (!academyDomain) localStorage.setItem(LEARNING_SPACE, "true");
11694
+ if (!academyDomain || hasErrorRef.current) localStorage.setItem(LEARNING_SPACE, "true");
11695
+ if (hasErrorRef.current) localStorage.removeItem(ACADEMY_DOMAIN);
11685
11696
  var _temp = _catch(function () {
11686
11697
  return Promise.resolve(generateQRCode(academyDomain, tokenReCaptcha)).then(function (response) {
11687
11698
  setQrCodeData(response.data);
@@ -11702,6 +11713,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
11702
11713
  setInfo(recievedData === null || recievedData === void 0 ? void 0 : recievedData.data);
11703
11714
  setStatus(QRCodeStatus.Scanned);
11704
11715
  } catch (error) {
11716
+ hasErrorRef.current = true;
11705
11717
  setInvalid(true);
11706
11718
  }
11707
11719
  };
@@ -12007,7 +12019,8 @@ var useLoginWithEmail = function useLoginWithEmail(_ref) {
12007
12019
  }), token, redirectUrl);
12008
12020
  });
12009
12021
  }, function (error) {
12010
- console.log(error);
12022
+ !!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
12023
+ localStorage.removeItem(LEARNING_SPACE);
12011
12024
  reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
12012
12025
  });
12013
12026
  return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
@@ -12127,7 +12140,8 @@ var useLogin$2 = function useLogin(_ref) {
12127
12140
  }), token, redirectUrl);
12128
12141
  });
12129
12142
  }, function (error) {
12130
- console.log(error);
12143
+ !!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
12144
+ localStorage.removeItem(LEARNING_SPACE);
12131
12145
  reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
12132
12146
  }));
12133
12147
  } catch (e) {
@@ -14470,6 +14484,48 @@ var iconCloseDialog = function iconCloseDialog(_ref) {
14470
14484
  }));
14471
14485
  };
14472
14486
 
14487
+ var NoteTinyEditor = function NoteTinyEditor(_ref) {
14488
+ var _ref$disabled = _ref.disabled,
14489
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
14490
+ onChange = _ref.onChange,
14491
+ initValue = _ref.initValue,
14492
+ config = _ref.config;
14493
+ var isFirstChange = React.useRef(true);
14494
+ var _useTranslation = reactI18next.useTranslation(),
14495
+ t = _useTranslation.t;
14496
+ React.useEffect(function () {
14497
+ if (window.tinymce) {
14498
+ window.tinymce = tinymce;
14499
+ }
14500
+ }, []);
14501
+ var options = {
14502
+ height: 280,
14503
+ menubar: false,
14504
+ readonly: false,
14505
+ external_plugins: {
14506
+ tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
14507
+ },
14508
+ plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'textcolor', 'wordcount'],
14509
+ toolbar: 'undo redo | blocks fontfamily fontsize forecolor backcolor | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat | tiny_mce_wiris_formulaEditor | tiny_mce_wiris_formulaEditorChemistry',
14510
+ branding: false,
14511
+ extended_valid_elements: '*[.*]',
14512
+ placeholder: t("the_problem_is_difficult")
14513
+ };
14514
+ var handleChange = function handleChange(value, _) {
14515
+ if (isFirstChange.current) {
14516
+ isFirstChange.current = false;
14517
+ return;
14518
+ }
14519
+ onChange(value);
14520
+ };
14521
+ return React__default.createElement(tinymceReact.Editor, {
14522
+ disabled: disabled,
14523
+ init: config || options,
14524
+ value: initValue,
14525
+ onEditorChange: handleChange
14526
+ });
14527
+ };
14528
+
14473
14529
  var schema$1 = yup.object().shape({
14474
14530
  content: yup.string().required()
14475
14531
  });
@@ -14520,7 +14576,8 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14520
14576
  handleSaveNote(values.content);
14521
14577
  }
14522
14578
  }, function (_ref2) {
14523
- var values = _ref2.values;
14579
+ var values = _ref2.values,
14580
+ setFieldValue = _ref2.setFieldValue;
14524
14581
  return React__default.createElement(formik.Form, null, React__default.createElement(DialogContent, {
14525
14582
  sx: {
14526
14583
  padding: 0,
@@ -14549,17 +14606,22 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
14549
14606
  flexDirection: "row",
14550
14607
  alignItems: "center"
14551
14608
  }, React__default.createElement(formik.Field, {
14552
- as: "textarea",
14553
- rows: 3,
14554
14609
  id: "content-question",
14555
14610
  style: {
14556
- paddingRight: "40px",
14557
- minHeight: "96px",
14558
14611
  width: "100%"
14559
14612
  },
14560
14613
  name: "content",
14561
14614
  placeholder: t("the_problem_is_difficult"),
14562
- className: styles["form-control"]
14615
+ className: styles["form-control"],
14616
+ render: function render(_ref3) {
14617
+ var field = _ref3.field;
14618
+ return React__default.createElement(NoteTinyEditor, {
14619
+ initValue: field.value,
14620
+ onChange: function onChange(text) {
14621
+ return setFieldValue("content", text);
14622
+ }
14623
+ });
14624
+ }
14563
14625
  })), React__default.createElement(material.Box, {
14564
14626
  marginBottom: "4px"
14565
14627
  })))), React__default.createElement(DialogActions, {
@@ -15049,7 +15111,18 @@ var NoteItem = function NoteItem(_ref) {
15049
15111
  number: (data.questionOrder || 0) + 1
15050
15112
  }) : "" + utcToLocalTime(data.createdAt, t("date_format") + " HH:mm")), data.examSessionId && React__default.createElement(material.Typography, Object.assign({}, NoteItemStyles.text.right), data.categoryName)), React__default.createElement(material.Typography, Object.assign({
15051
15113
  className: "truncate"
15052
- }, NoteItemStyles.contentText), data.content)), React__default.createElement(material.Box, null, (isAdmin || data.isOwned) && React__default.createElement(material.ClickAwayListener, {
15114
+ }, NoteItemStyles.contentText, {
15115
+ sx: {
15116
+ display: "-webkit-box",
15117
+ lineClamp: 1,
15118
+ WebkitLineClamp: 1,
15119
+ WebkitBoxOrient: "vertical",
15120
+ overflow: "hidden"
15121
+ },
15122
+ dangerouslySetInnerHTML: {
15123
+ __html: data.content || ""
15124
+ }
15125
+ }))), React__default.createElement(material.Box, null, (isAdmin || data.isOwned) && React__default.createElement(material.ClickAwayListener, {
15053
15126
  onClickAway: onClose
15054
15127
  }, React__default.createElement(material.Box, null, React__default.createElement(CustomTooltip, {
15055
15128
  onClose: onClose,
@@ -15249,8 +15322,11 @@ var NoteDrawer = function NoteDrawer(props) {
15249
15322
  fontSize: "14px",
15250
15323
  fontWeight: "300",
15251
15324
  color: "#414E62"
15325
+ },
15326
+ dangerouslySetInnerHTML: {
15327
+ __html: (data === null || data === void 0 ? void 0 : data.content) || ""
15252
15328
  }
15253
- }, data === null || data === void 0 ? void 0 : data.content)));
15329
+ })));
15254
15330
  };
15255
15331
 
15256
15332
  var useVirtualList = function useVirtualList(studentId, defaultFilter, getItemsApi) {
@@ -25547,6 +25623,12 @@ var updateClassApi = function updateClassApi(id, model) {
25547
25623
  var deleteClassApi = function deleteClassApi(id) {
25548
25624
  return api["delete"](CLASS_URL + "/" + id);
25549
25625
  };
25626
+ var hiddenClassesApi = function hiddenClassesApi(hidden, classId) {
25627
+ return api.post(CLASS_URL + "/hidden", {
25628
+ hidden: hidden,
25629
+ courseIds: [classId]
25630
+ });
25631
+ };
25550
25632
  var addStudentToClass = function addStudentToClass(id, studentIds) {
25551
25633
  return api.post(CLASS_URL + "/" + id + "/students", studentIds);
25552
25634
  };
@@ -27080,6 +27162,27 @@ var useClassList = function useClassList(history, classCreateUrl, classUpdateUrl
27080
27162
  var handleUpdateClass = function handleUpdateClass(value) {
27081
27163
  value.id && classUpdateUrl && pushTo(history, "" + classUpdateUrl.replace(":id", "" + value.id));
27082
27164
  };
27165
+ var handleToggleHidden = function handleToggleHidden(e, classId) {
27166
+ try {
27167
+ var _temp5 = function _temp5() {
27168
+ dispatch(setLoading(false));
27169
+ };
27170
+ var checked = e.target.checked;
27171
+ dispatch(setLoading(true));
27172
+ var _temp4 = _catch(function () {
27173
+ return Promise.resolve(hiddenClassesApi(checked, classId)).then(function () {
27174
+ return Promise.resolve(getClassList()).then(function () {
27175
+ reactToastify.toast.success(t("update_data_successfully"));
27176
+ });
27177
+ });
27178
+ }, function (error) {
27179
+ reactToastify.toast.error(getErrorMessage(t, error));
27180
+ });
27181
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
27182
+ } catch (e) {
27183
+ return Promise.reject(e);
27184
+ }
27185
+ };
27083
27186
  var handleChangePage = function handleChangePage(_, page) {
27084
27187
  setClassFilter(_extends({}, classFilter, {
27085
27188
  currentPage: page
@@ -27105,7 +27208,8 @@ var useClassList = function useClassList(history, classCreateUrl, classUpdateUrl
27105
27208
  handleCreateClass: handleCreateClass,
27106
27209
  handleUpdateClass: handleUpdateClass,
27107
27210
  handleChangePage: handleChangePage,
27108
- handleDeleteClass: handleDeleteClass
27211
+ handleDeleteClass: handleDeleteClass,
27212
+ handleToggleHidden: handleToggleHidden
27109
27213
  };
27110
27214
  };
27111
27215
 
@@ -27118,7 +27222,15 @@ var ClassList = function ClassList(_ref) {
27118
27222
  var _state$common, _state$common$user;
27119
27223
  return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.isSuperAdmin;
27120
27224
  });
27121
- var isAdmin = role === exports.Role.Admin;
27225
+ var isAdmin = reactRedux.useSelector(function (state) {
27226
+ var _state$common2, _state$common2$user, _state$common2$user$r;
27227
+ return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : (_state$common2$user$r = _state$common2$user.roles) === null || _state$common2$user$r === void 0 ? void 0 : _state$common2$user$r.includes(exports.Role.Admin);
27228
+ });
27229
+ var isTeacher = reactRedux.useSelector(function (state) {
27230
+ var _state$common3, _state$common3$user, _state$common3$user$r;
27231
+ return state === null || state === void 0 ? void 0 : (_state$common3 = state.common) === null || _state$common3 === void 0 ? void 0 : (_state$common3$user = _state$common3.user) === null || _state$common3$user === void 0 ? void 0 : (_state$common3$user$r = _state$common3$user.roles) === null || _state$common3$user$r === void 0 ? void 0 : _state$common3$user$r.includes(exports.Role.Teacher);
27232
+ }) && !isAdmin;
27233
+ var isAdminSite = role === exports.Role.Admin;
27122
27234
  var _useClassList = useClassList(history, classCreateUrl, classUpdateUrl),
27123
27235
  t = _useClassList.t,
27124
27236
  paging = _useClassList.paging,
@@ -27133,7 +27245,11 @@ var ClassList = function ClassList(_ref) {
27133
27245
  handleCreateClass = _useClassList.handleCreateClass,
27134
27246
  handleUpdateClass = _useClassList.handleUpdateClass,
27135
27247
  handleChangePage = _useClassList.handleChangePage,
27136
- handleDeleteClass = _useClassList.handleDeleteClass;
27248
+ handleDeleteClass = _useClassList.handleDeleteClass,
27249
+ handleToggleHidden = _useClassList.handleToggleHidden;
27250
+ var headers = !isTeacher ? CLASS_HEADERS : [].concat(CLASS_HEADERS.slice(0, -1), [{
27251
+ title: "hidden"
27252
+ }], CLASS_HEADERS.slice(-1));
27137
27253
  return React__default.createElement(material.Box, null, React__default.createElement(material.Stack, {
27138
27254
  direction: "row",
27139
27255
  alignItems: "center",
@@ -27141,7 +27257,7 @@ var ClassList = function ClassList(_ref) {
27141
27257
  mb: 2
27142
27258
  }, React__default.createElement(material.Typography, {
27143
27259
  variant: "h4"
27144
- }, t("classes")), (isAdmin || isSuperAdmin) && React__default.createElement(MButton, {
27260
+ }, t("classes")), (isAdminSite || isSuperAdmin) && React__default.createElement(MButton, {
27145
27261
  variant: "contained",
27146
27262
  color: "inherit",
27147
27263
  startIcon: React__default.createElement(fa.FaPlus, {
@@ -27164,7 +27280,7 @@ var ClassList = function ClassList(_ref) {
27164
27280
  }), React__default.createElement(material.Grid, {
27165
27281
  item: true,
27166
27282
  xs: 12
27167
- }, React__default.createElement(material.TableContainer, null, React__default.createElement(Table, null, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, CLASS_HEADERS.map(function (i, index) {
27283
+ }, React__default.createElement(material.TableContainer, null, React__default.createElement(Table, null, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, headers.map(function (i, index) {
27168
27284
  return React__default.createElement(TableCell, {
27169
27285
  key: index,
27170
27286
  onClick: !!i.sortKey ? function () {
@@ -27181,7 +27297,13 @@ var ClassList = function ClassList(_ref) {
27181
27297
  key: i.id
27182
27298
  }, React__default.createElement(TableCell, null, (paging.page - 1) * paging.limit + index + 1), React__default.createElement(TableCell, {
27183
27299
  className: "text-nowrap"
27184
- }, i.name), React__default.createElement(TableCell, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell, null, i.totalStudents), React__default.createElement(TableCell, null, i.totalTeachers), React__default.createElement(TableCell, null, i.totalLessons), React__default.createElement(TableCell, null, (isAdmin || isSuperAdmin) && React__default.createElement("div", {
27300
+ }, i.name), React__default.createElement(TableCell, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell, null, i.totalStudents), React__default.createElement(TableCell, null, i.totalTeachers), React__default.createElement(TableCell, null, i.totalLessons), isTeacher && React__default.createElement(TableCell, null, React__default.createElement(material.Switch, {
27301
+ checked: i.hidden,
27302
+ onChange: function onChange(e) {
27303
+ var _i$id;
27304
+ return handleToggleHidden(e, (_i$id = i.id) != null ? _i$id : 0);
27305
+ }
27306
+ })), React__default.createElement(TableCell, null, (isAdminSite || isSuperAdmin) && React__default.createElement("div", {
27185
27307
  className: "d-flex"
27186
27308
  }, React__default.createElement(material.IconButton, {
27187
27309
  color: "default",
@@ -27199,7 +27321,7 @@ var ClassList = function ClassList(_ref) {
27199
27321
  }
27200
27322
  }, React__default.createElement(fa6.FaTrashCan, {
27201
27323
  size: 12
27202
- }))), !(isAdmin || isSuperAdmin) && React__default.createElement(material.IconButton, {
27324
+ }))), !(isAdminSite || isSuperAdmin) && React__default.createElement(material.IconButton, {
27203
27325
  color: "default",
27204
27326
  className: "bg-primary text-white me-1",
27205
27327
  onClick: function onClick() {
@@ -38301,6 +38423,7 @@ var Header = function Header(_ref) {
38301
38423
  }, [isTeacherSide, language]);
38302
38424
  return React__default.createElement(material.Stack, {
38303
38425
  width: "100%",
38426
+ height: "78px",
38304
38427
  display: "flex",
38305
38428
  flexDirection: "row",
38306
38429
  gap: {