touchstudy-core 0.1.175 → 0.1.177

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import { FC } from "react";
2
2
  import { Option, TeacherSimpleResponse } from "../configs/types";
3
3
  interface Props {
4
4
  teachers: TeacherSimpleResponse[];
5
- value?: number | null;
5
+ value?: any;
6
6
  onChange: (val: Option | null) => void;
7
7
  onInputChange: (inputText: string) => void;
8
8
  isDisabled?: boolean;
@@ -7,6 +7,8 @@ export declare type ClassResponse = {
7
7
  totalTeachers: number;
8
8
  totalLessons: number;
9
9
  mainTeacherId: number;
10
+ mainTeacherName?: string;
11
+ mainTeacherEmail?: string;
10
12
  courseWeeklyDays: WeeklyDayResponse[];
11
13
  hidden: boolean;
12
14
  };
@@ -51,6 +53,7 @@ export declare type ClassRequest = {
51
53
  endDate: moment.Moment | null;
52
54
  mainTeacherId: number | null;
53
55
  courseWeeklyDays: WeeklyDayRequest[];
56
+ mainTeacher?: Option | null;
54
57
  };
55
58
  export declare type ClassRequestBody = {
56
59
  name: string;
@@ -91,6 +94,7 @@ export declare type LessonRequest = {
91
94
  mainTeacherId: number | null;
92
95
  date: moment.Moment | null;
93
96
  isCancelled: boolean;
97
+ mainTeacher?: Option | null;
94
98
  };
95
99
  export declare type LessonRequestBody = {
96
100
  startTime: string;
@@ -9,6 +9,7 @@ interface Props {
9
9
  onDelete: (data: NoteResponse) => void;
10
10
  onUpdate: (data: NoteResponse) => void;
11
11
  onView: (data: NoteResponse) => void;
12
+ onViewStudentInfo: (note: NoteResponse) => void;
12
13
  }
13
14
  declare const NoteItemList: FC<Props>;
14
15
  export default NoteItemList;
@@ -6,6 +6,7 @@ interface Props {
6
6
  role: Role;
7
7
  headers: any[];
8
8
  isAdmin: boolean;
9
+ onViewQA?: (studentId: number, sessionId?: number, questionId?: number, isTextbook?: boolean) => void;
9
10
  }
10
11
  declare const NoteList: FC<Props>;
11
12
  export default NoteList;
@@ -2,6 +2,7 @@ import { FC } from "react";
2
2
  import { Role } from "../../../utils";
3
3
  interface Props {
4
4
  role: Role;
5
+ onViewQA?: (studentId: number, sessionId?: number, questionId?: number, isTextbook?: boolean) => void;
5
6
  }
6
7
  declare const NoteTabs: FC<Props>;
7
8
  export default NoteTabs;
package/dist/index.js CHANGED
@@ -5993,6 +5993,7 @@ var customStyles = {
5993
5993
 
5994
5994
  var _excluded = ["isDefault", "defaultValue", "options", "isDisabled", "scrollBottom", "value", "isMulti"];
5995
5995
  var CustomAsyncSelect = function CustomAsyncSelect(_ref) {
5996
+ var _value$;
5996
5997
  var isDefault = _ref.isDefault,
5997
5998
  options = _ref.options,
5998
5999
  isDisabled = _ref.isDisabled,
@@ -6000,7 +6001,8 @@ var CustomAsyncSelect = function CustomAsyncSelect(_ref) {
6000
6001
  value = _ref.value,
6001
6002
  isMulti = _ref.isMulti,
6002
6003
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
6003
- var initialValues = Array.isArray(value) ? options.filter(function (i) {
6004
+ var isOptionValue = (value === null || value === void 0 ? void 0 : value.value) || (value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.value);
6005
+ var initialValues = isOptionValue ? value : Array.isArray(value) ? options.filter(function (i) {
6004
6006
  return value.includes(i.value);
6005
6007
  }) : isMulti ? options.filter(function (i) {
6006
6008
  return i.value == value;
@@ -13104,7 +13106,7 @@ var DefaultLessonFilter = {
13104
13106
  };
13105
13107
  var DefaultTeacherFilter = {
13106
13108
  currentPage: 1,
13107
- pageSize: 50,
13109
+ pageSize: 100,
13108
13110
  sortColumnDirection: OrderBy$1.DESC,
13109
13111
  sortColumnName: TeacherSortBy.Name,
13110
13112
  textSearch: ""
@@ -13260,16 +13262,18 @@ var DEFAULT_USER_FILTERS = {
13260
13262
 
13261
13263
  var styles$3 = {"avatar":"_2rJkZ","date-picker":"_1iqE2","time-picker":"_20xtc","teacher-selector-wrapper":"_3L1Oj"};
13262
13264
 
13265
+ var _excluded$7 = ["teachers", "value"];
13263
13266
  var TeacherSelector = function TeacherSelector(_ref) {
13264
13267
  var teachers = _ref.teachers,
13265
- value = _ref.value;
13268
+ value = _ref.value,
13269
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
13266
13270
  var teacherOptions = teachers.map(function (i) {
13267
13271
  return {
13268
13272
  label: i.teacherName + "/" + i.teacherEmail,
13269
13273
  value: i.id
13270
13274
  };
13271
13275
  });
13272
- return React__default.createElement(CustomAsyncSelect, {
13276
+ return React__default.createElement(CustomAsyncSelect, Object.assign({
13273
13277
  options: teacherOptions,
13274
13278
  value: value,
13275
13279
  menuPlacement: "bottom",
@@ -13282,7 +13286,7 @@ var TeacherSelector = function TeacherSelector(_ref) {
13282
13286
  },
13283
13287
  menuPortalTarget: document.body,
13284
13288
  isClearable: true
13285
- });
13289
+ }, rest));
13286
13290
  };
13287
13291
 
13288
13292
  var ErrorHandler = function ErrorHandler(_ref) {
@@ -13367,6 +13371,7 @@ var ClassForm = function ClassForm(_ref) {
13367
13371
  };
13368
13372
  var handleChangeTeacher = function handleChangeTeacher(val) {
13369
13373
  formikProp.setFieldValue("mainTeacherId", val === null || val === void 0 ? void 0 : val.value);
13374
+ formikProp.setFieldValue("mainTeacher", val);
13370
13375
  };
13371
13376
  var handleChangeWeeklyDayTime = function handleChangeWeeklyDayTime(key, newValue, currentValue) {
13372
13377
  var _extends2;
@@ -13532,7 +13537,7 @@ var ClassForm = function ClassForm(_ref) {
13532
13537
  }, "*")), React__default.createElement("div", {
13533
13538
  className: "" + styles$3["teacher-selector-wrapper"]
13534
13539
  }, React__default.createElement(TeacherSelector, {
13535
- value: formikProp.values.mainTeacherId,
13540
+ value: formikProp.values.mainTeacher,
13536
13541
  teachers: teachers,
13537
13542
  onInputChange: onSearchTeachers,
13538
13543
  onChange: handleChangeTeacher,
@@ -15922,14 +15927,15 @@ var getNoteType = function getNoteType(t, type) {
15922
15927
  };
15923
15928
 
15924
15929
  var NoteItemList = function NoteItemList(_ref) {
15925
- var _data$reciever, _data$reciever2, _data$recievers;
15930
+ var _data$reciever, _data$recievers;
15926
15931
  var data = _ref.data,
15927
15932
  index = _ref.index,
15928
15933
  role = _ref.role,
15929
15934
  calcOrderNumber = _ref.calcOrderNumber,
15930
15935
  onDelete = _ref.onDelete,
15931
15936
  onUpdate = _ref.onUpdate,
15932
- onView = _ref.onView;
15937
+ onView = _ref.onView,
15938
+ onViewStudentInfo = _ref.onViewStudentInfo;
15933
15939
  var isAdminUser = reactRedux.useSelector(function (state) {
15934
15940
  var _state$common, _state$common$user, _state$common$user$ro;
15935
15941
  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$ro = _state$common$user.roles) === null || _state$common$user$ro === void 0 ? void 0 : _state$common$user$ro.includes(exports.Role.Admin);
@@ -15952,6 +15958,9 @@ var NoteItemList = function NoteItemList(_ref) {
15952
15958
  var handleView = function handleView() {
15953
15959
  onView(data);
15954
15960
  };
15961
+ var handleViewStudentInfo = function handleViewStudentInfo() {
15962
+ onViewStudentInfo(data);
15963
+ };
15955
15964
  var disabled = !data.isOwned && (!isAdminUser || data.type == undefined || data.type == exports.NoteType.TeacherToAllAdmin || data.type == exports.NoteType.TeacherToTeachers);
15956
15965
  var cleanedRichText = React.useMemo(function () {
15957
15966
  return cleanRichText(data.content);
@@ -15973,10 +15982,15 @@ var NoteItemList = function NoteItemList(_ref) {
15973
15982
  display: "inline-block",
15974
15983
  color: colors.grey[600],
15975
15984
  fontWeight: 600
15976
- }, "(", " " + t("me"), ")")), React__default.createElement(material.Typography, null, data.sender.email))), data.type === exports.NoteType.ToAcademy || data.type === exports.NoteType.ToStudent ? React__default.createElement(TableCell, null, React__default.createElement(material.Typography, {
15977
- color: colors.blue[700],
15978
- fontWeight: 600
15979
- }, (_data$reciever = data.reciever) === null || _data$reciever === void 0 ? void 0 : _data$reciever.fullName), React__default.createElement(material.Typography, null, (_data$reciever2 = data.reciever) === null || _data$reciever2 === void 0 ? void 0 : _data$reciever2.email)) : data.type === exports.NoteType.TeacherToTeachers ? React__default.createElement(TableCell, null, React__default.createElement(material.Stack, {
15985
+ }, "(", " " + t("me"), ")")), React__default.createElement(material.Typography, null, data.sender.email))), data.type === exports.NoteType.ToAcademy || data.type === exports.NoteType.ToStudent ? React__default.createElement(TableCell, null, React__default.createElement(material.Button, {
15986
+ variant: "text",
15987
+ color: "success",
15988
+ sx: {
15989
+ color: colors.blue[700],
15990
+ fontWeight: 600
15991
+ },
15992
+ onClick: handleViewStudentInfo
15993
+ }, (_data$reciever = data.reciever) === null || _data$reciever === void 0 ? void 0 : _data$reciever.fullName)) : data.type === exports.NoteType.TeacherToTeachers ? React__default.createElement(TableCell, null, React__default.createElement(material.Stack, {
15980
15994
  direction: "column"
15981
15995
  }, (_data$recievers = data.recievers) === null || _data$recievers === void 0 ? void 0 : _data$recievers.slice(0, 2).map(function (i) {
15982
15996
  return React__default.createElement(material.Typography, null, i.fullName, " - ", i.email);
@@ -16614,10 +16628,12 @@ var GeneralNoteDialog = function GeneralNoteDialog(_ref) {
16614
16628
  };
16615
16629
 
16616
16630
  var NoteList = function NoteList(_ref) {
16631
+ var _selectedStudentNote$;
16617
16632
  var defaultFilter = _ref.defaultFilter,
16618
16633
  role = _ref.role,
16619
16634
  headers = _ref.headers,
16620
- isAdmin = _ref.isAdmin;
16635
+ isAdmin = _ref.isAdmin,
16636
+ onViewQA = _ref.onViewQA;
16621
16637
  var _useTranslation = reactI18next.useTranslation(),
16622
16638
  t = _useTranslation.t;
16623
16639
  var _useList = useList(function (filter) {
@@ -16651,6 +16667,16 @@ var NoteList = function NoteList(_ref) {
16651
16667
  var _useState5 = React.useState(false),
16652
16668
  openDeleteNoteDialog = _useState5[0],
16653
16669
  setOpenDeleteNoteDialog = _useState5[1];
16670
+ var _useState6 = React.useState(),
16671
+ selectedStudentNote = _useState6[0],
16672
+ setSelectedStudentNote = _useState6[1];
16673
+ var handleChangeSelectedStudentNote = function handleChangeSelectedStudentNote(note) {
16674
+ if (note.type !== exports.NoteType.ToAcademy && note.type !== exports.NoteType.ToStudent) return;
16675
+ setSelectedStudentNote(note);
16676
+ };
16677
+ var handleCloseStudentInfo = function handleCloseStudentInfo() {
16678
+ setSelectedStudentNote(undefined);
16679
+ };
16654
16680
  var handleOpenCreateNoteDialog = function handleOpenCreateNoteDialog() {
16655
16681
  var _defaultFilter$types;
16656
16682
  if (((_defaultFilter$types = defaultFilter.types) === null || _defaultFilter$types === void 0 ? void 0 : _defaultFilter$types.length) === 1) setOpenNoteDialog(defaultFilter.types[0]);else if (defaultFilter.types && defaultFilter.types.length > 1) {
@@ -16804,7 +16830,8 @@ var NoteList = function NoteList(_ref) {
16804
16830
  role: role,
16805
16831
  onDelete: handleOpenDeleteNoteDialog,
16806
16832
  onUpdate: handleOpenNoteDialog,
16807
- onView: handleOpenNoteDrawer
16833
+ onView: handleOpenNoteDrawer,
16834
+ onViewStudentInfo: handleChangeSelectedStudentNote
16808
16835
  });
16809
16836
  }
16810
16837
  }), !data.length && !isLoading && React__default.createElement(material.TableRow, null, React__default.createElement(material.TableCell, {
@@ -16852,6 +16879,16 @@ var NoteList = function NoteList(_ref) {
16852
16879
  title: t("delete_note"),
16853
16880
  okText: t("delete_note"),
16854
16881
  cancelText: t("cancel")
16882
+ }), React__default.createElement(StudentInfoDrawer, {
16883
+ role: role,
16884
+ open: !!selectedStudentNote,
16885
+ studentId: (selectedStudentNote === null || selectedStudentNote === void 0 ? void 0 : (_selectedStudentNote$ = selectedStudentNote.reciever) === null || _selectedStudentNote$ === void 0 ? void 0 : _selectedStudentNote$.id) || 0,
16886
+ onClose: handleCloseStudentInfo,
16887
+ anchor: "right",
16888
+ width: "80dvw",
16889
+ history: history,
16890
+ inert: true,
16891
+ onViewQA: onViewQA
16855
16892
  }));
16856
16893
  };
16857
16894
 
@@ -16960,7 +16997,8 @@ var TEACHER_NOTE_FILTER = {
16960
16997
  };
16961
16998
 
16962
16999
  var NoteTabs = function NoteTabs(_ref) {
16963
- var role = _ref.role;
17000
+ var role = _ref.role,
17001
+ onViewQA = _ref.onViewQA;
16964
17002
  var roles = reactRedux.useSelector(function (state) {
16965
17003
  var _state$common$user$ro, _state$common, _state$common$user;
16966
17004
  return (_state$common$user$ro = 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.roles) != null ? _state$common$user$ro : [];
@@ -17007,7 +17045,8 @@ var NoteTabs = function NoteTabs(_ref) {
17007
17045
  role: role,
17008
17046
  isAdmin: isAdmin,
17009
17047
  defaultFilter: ACADEMY_NOTE_FILTER,
17010
- headers: NOTE_STUDENT_HEADERS
17048
+ headers: NOTE_STUDENT_HEADERS,
17049
+ onViewQA: onViewQA
17011
17050
  })), React__default.createElement(NotetabPanel, {
17012
17051
  value: value,
17013
17052
  index: 1
@@ -17015,7 +17054,8 @@ var NoteTabs = function NoteTabs(_ref) {
17015
17054
  role: role,
17016
17055
  isAdmin: isAdmin,
17017
17056
  defaultFilter: STUDENT_PARENTS_NOTE_FILTER,
17018
- headers: NOTE_STUDENT_HEADERS
17057
+ headers: NOTE_STUDENT_HEADERS,
17058
+ onViewQA: onViewQA
17019
17059
  })), React__default.createElement(NotetabPanel, {
17020
17060
  value: value,
17021
17061
  index: 2
@@ -20250,12 +20290,12 @@ function CreateNewQuestionDialog(_ref) {
20250
20290
  });
20251
20291
  }
20252
20292
 
20253
- var _excluded$7 = ["children", "value", "index"];
20293
+ var _excluded$8 = ["children", "value", "index"];
20254
20294
  var CustomTabPanel = function CustomTabPanel(props) {
20255
20295
  var children = props.children,
20256
20296
  value = props.value,
20257
20297
  index = props.index,
20258
- other = _objectWithoutPropertiesLoose(props, _excluded$7);
20298
+ other = _objectWithoutPropertiesLoose(props, _excluded$8);
20259
20299
  return React__default.createElement("div", Object.assign({
20260
20300
  role: "tabpanel",
20261
20301
  hidden: value !== index,
@@ -24312,7 +24352,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
24312
24352
  }, t("cancel"))))));
24313
24353
  };
24314
24354
 
24315
- var _excluded$8 = ["onChange"];
24355
+ var _excluded$9 = ["onChange"];
24316
24356
  var StartPageDialog = function StartPageDialog(_ref) {
24317
24357
  var t = _ref.t,
24318
24358
  onClose = _ref.onClose,
@@ -24378,7 +24418,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
24378
24418
  }, t("page_to_start_with")), React__default.createElement(formik.Field, {
24379
24419
  name: "startPage",
24380
24420
  render: function render(_ref3) {
24381
- var field = _objectWithoutPropertiesLoose(_ref3, _excluded$8);
24421
+ var field = _objectWithoutPropertiesLoose(_ref3, _excluded$9);
24382
24422
  return React__default.createElement(CustomSelectOption, Object.assign({
24383
24423
  maxMenuHeight: 150,
24384
24424
  menuPosition: "fixed",
@@ -26010,10 +26050,10 @@ var DrawerTextbookResultTab = function DrawerTextbookResultTab(_ref) {
26010
26050
  };
26011
26051
 
26012
26052
  var _styled$1;
26013
- var _excluded$9 = ["className"];
26053
+ var _excluded$a = ["className"];
26014
26054
  var CustomTooltip$1 = material.styled(function (_ref) {
26015
26055
  var className = _ref.className,
26016
- props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
26056
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
26017
26057
  return React__default.createElement(material.Tooltip, Object.assign({}, props, {
26018
26058
  classes: {
26019
26059
  popper: className
@@ -27494,7 +27534,7 @@ var useTeacherList = function useTeacherList() {
27494
27534
  };
27495
27535
  };
27496
27536
 
27497
- var _excluded$a = ["getStudents"],
27537
+ var _excluded$b = ["getStudents"],
27498
27538
  _excluded2 = ["getTeachers"],
27499
27539
  _excluded3 = ["getLessons"];
27500
27540
  var PAGE_TITLE$4 = "classes";
@@ -27545,7 +27585,7 @@ var useClassDetail = function useClassDetail(_ref) {
27545
27585
  };
27546
27586
  var _useStudentClassList = useStudentClassList(classId),
27547
27587
  getStudents = _useStudentClassList.getStudents,
27548
- studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$a);
27588
+ studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$b);
27549
27589
  var _useTeacherClassList = useTeacherClassList(classId),
27550
27590
  getTeachers = _useTeacherClassList.getTeachers,
27551
27591
  teacherListProps = _objectWithoutPropertiesLoose(_useTeacherClassList, _excluded2);
@@ -27605,7 +27645,11 @@ var useClassDetail = function useClassDetail(_ref) {
27605
27645
  startTime: timeSpanToLocalMoment(i.startTime, course.startDate),
27606
27646
  endTime: timeSpanToLocalMoment(i.endTime, course.startDate)
27607
27647
  });
27608
- })
27648
+ }),
27649
+ mainTeacher: course.mainTeacherId ? {
27650
+ label: course.mainTeacherName + "/" + course.mainTeacherEmail,
27651
+ value: course.mainTeacherId
27652
+ } : null
27609
27653
  });
27610
27654
  }, [JSON.stringify(course)]);
27611
27655
  var convertToRequestBody = function convertToRequestBody(request) {
@@ -27991,6 +28035,7 @@ var LessonFormBody = function LessonFormBody(_ref) {
27991
28035
  setOpenPicker = _useState[1];
27992
28036
  var handleChangeTeacher = function handleChangeTeacher(val) {
27993
28037
  formikProp.setFieldValue("mainTeacherId", val === null || val === void 0 ? void 0 : val.value);
28038
+ formikProp.setFieldValue("mainTeacher", val);
27994
28039
  };
27995
28040
  React.useEffect(function () {
27996
28041
  if (open && data) formikProp.setValues(data);else formikProp.setValues(DEFAULT_LESSON_REQUEST);
@@ -28034,7 +28079,7 @@ var LessonFormBody = function LessonFormBody(_ref) {
28034
28079
  }, "*")), React__default.createElement("div", {
28035
28080
  className: "" + styles$3["teacher-selector-wrapper"]
28036
28081
  }, React__default.createElement(TeacherSelector, {
28037
- value: formikProp.values.mainTeacherId,
28082
+ value: formikProp.values.mainTeacher,
28038
28083
  teachers: teachers,
28039
28084
  onInputChange: onSearchTeachers,
28040
28085
  onChange: handleChangeTeacher
@@ -28142,7 +28187,11 @@ var LessonFormDialog = function LessonFormDialog(_ref) {
28142
28187
  return _extends({}, data, {
28143
28188
  date: moment.utc(data.date).local(),
28144
28189
  startTime: timeSpanToLocalMoment(data.startTime, data.date),
28145
- endTime: timeSpanToLocalMoment(data.endTime, data.date)
28190
+ endTime: timeSpanToLocalMoment(data.endTime, data.date),
28191
+ mainTeacher: data.mainTeacherId ? {
28192
+ label: data.mainTeacherName + "/" + data.mainTeacherEmail,
28193
+ value: data.mainTeacherId
28194
+ } : null
28146
28195
  });
28147
28196
  };
28148
28197
  var lessonRequest = React.useMemo(convertLessonRequest, [JSON.stringify(data)]);
@@ -28933,14 +28982,14 @@ var CSV_PREFIX = "data:text/csv;charset=utf-8,";
28933
28982
 
28934
28983
  var styles$8 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
28935
28984
 
28936
- var _excluded$b = ["text", "isRequired", "className"];
28985
+ var _excluded$c = ["text", "isRequired", "className"];
28937
28986
  var LabelRequired = function LabelRequired(_ref) {
28938
28987
  var text = _ref.text,
28939
28988
  _ref$isRequired = _ref.isRequired,
28940
28989
  isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
28941
28990
  _ref$className = _ref.className,
28942
28991
  className = _ref$className === void 0 ? "" : _ref$className,
28943
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$b);
28992
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
28944
28993
  return React__default.createElement(material.FormLabel, Object.assign({
28945
28994
  className: "fw-medium mb-1 " + className
28946
28995
  }, rest), text, isRequired && React__default.createElement("span", {
@@ -28994,7 +29043,7 @@ var deleteUserApi = function deleteUserApi(id) {
28994
29043
  return api["delete"](USER_URL$1 + "/delete/" + id);
28995
29044
  };
28996
29045
 
28997
- var _excluded$c = ["ref"],
29046
+ var _excluded$d = ["ref"],
28998
29047
  _excluded2$1 = ["ref"],
28999
29048
  _excluded3$1 = ["ref"],
29000
29049
  _excluded4 = ["ref"],
@@ -29024,7 +29073,7 @@ var UserDialog = function UserDialog(_ref) {
29024
29073
  t = _useTranslation.t;
29025
29074
  var _register = register("fullName"),
29026
29075
  fullNameRef = _register.ref,
29027
- fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$c);
29076
+ fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$d);
29028
29077
  var _register2 = register("email"),
29029
29078
  emailRef = _register2.ref,
29030
29079
  emailBio = _objectWithoutPropertiesLoose(_register2, _excluded2$1);
@@ -33095,12 +33144,12 @@ var ArticleDialog = function ArticleDialog(_ref) {
33095
33144
 
33096
33145
  var styles$a = {"drawer":"_11aYm","open":"_3Ydwm","drawer-overlay":"_3SQDf","drawer-header":"_2BwOx","drawer-form":"_2Zo7R","dropdown-content-academy":"_1lzjD","dropdown-change":"_1y7K9","dropdown-academy-item":"_1Y-55","dropdown-content-language":"_1fBXY","dropdown-item-language":"_3Szun","dropdown-item-language-active":"_2HhLb","item-address":"_3WYHC","item-logout":"_2-9ix","title-address":"_1r4pn","image-academy":"_2ZozT"};
33097
33146
 
33098
- var _excluded$d = ["isOpen", "onClose", "handleSaveExam"];
33147
+ var _excluded$e = ["isOpen", "onClose", "handleSaveExam"];
33099
33148
  var CreateExamDrawer = function CreateExamDrawer(props) {
33100
33149
  var isOpen = props.isOpen,
33101
33150
  onClose = props.onClose,
33102
33151
  handleSaveExam = props.handleSaveExam,
33103
- examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$d);
33152
+ examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$e);
33104
33153
  var _useTranslation = reactI18next.useTranslation(),
33105
33154
  t = _useTranslation.t;
33106
33155
  var theme = material.useTheme();
@@ -34253,12 +34302,12 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
34253
34302
 
34254
34303
  var styles$b = {"avatar":"_8niRT"};
34255
34304
 
34256
- var _excluded$e = ["value", "disabled", "optionTypeNotification"];
34305
+ var _excluded$f = ["value", "disabled", "optionTypeNotification"];
34257
34306
  var TypeSelector = function TypeSelector(_ref) {
34258
34307
  var value = _ref.value,
34259
34308
  disabled = _ref.disabled,
34260
34309
  optionTypeNotification = _ref.optionTypeNotification,
34261
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
34310
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$f);
34262
34311
  return React__default.createElement(CustomAsyncSelect, Object.assign({
34263
34312
  options: optionTypeNotification,
34264
34313
  value: value
@@ -34651,11 +34700,11 @@ var useNotificationList = function useNotificationList(_ref) {
34651
34700
  };
34652
34701
  };
34653
34702
 
34654
- var _excluded$f = ["value", "optionTypeNotification"];
34703
+ var _excluded$g = ["value", "optionTypeNotification"];
34655
34704
  var SelectFilterType = function SelectFilterType(_ref) {
34656
34705
  var value = _ref.value,
34657
34706
  optionTypeNotification = _ref.optionTypeNotification,
34658
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$f);
34707
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$g);
34659
34708
  return React__default.createElement(CustomAsyncSelect, Object.assign({
34660
34709
  options: optionTypeNotification,
34661
34710
  value: value
@@ -35911,7 +35960,7 @@ var isEqual$1 = function isEqual(prev, next) {
35911
35960
  };
35912
35961
  var QuestionShortInput$1 = React.memo(QuestionShortInput, isEqual$1);
35913
35962
 
35914
- var _excluded$g = ["onChange"];
35963
+ var _excluded$h = ["onChange"];
35915
35964
  var _$2 = _$8;
35916
35965
  var BpIcon$1 = material.styled("span")(function (_ref) {
35917
35966
  var theme = _ref.theme;
@@ -36222,7 +36271,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
36222
36271
  name: path + ".questionTypeId",
36223
36272
  render: function render(_ref5) {
36224
36273
  var _ref5$field = _ref5.field,
36225
- field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$g);
36274
+ field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$h);
36226
36275
  return React__default.createElement(CustomSelectOption, Object.assign({}, field, {
36227
36276
  isDisabled: disabled,
36228
36277
  value: data.questionType,
@@ -36271,7 +36320,7 @@ var isEqual$2 = function isEqual(prev, next) {
36271
36320
  };
36272
36321
  var QuestionBlock$1 = React.memo(QuestionBlock, isEqual$2);
36273
36322
 
36274
- var _excluded$h = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "disabled", "onQuestioStartOrderChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
36323
+ var _excluded$i = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "disabled", "onQuestioStartOrderChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
36275
36324
  var _$3 = _$8;
36276
36325
  var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
36277
36326
  var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate, _questions$2;
@@ -36292,7 +36341,7 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
36292
36341
  onCloseCategoryMenu = _ref.onCloseCategoryMenu,
36293
36342
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
36294
36343
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
36295
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
36344
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
36296
36345
  var errors = formikProps.errors;
36297
36346
  var startOrderRef = React.useRef(null);
36298
36347
  var articles = data.articles,
@@ -36435,7 +36484,7 @@ var isEqual$3 = function isEqual(prev, next) {
36435
36484
  };
36436
36485
  var QuestionGroupBlockBody$1 = React.memo(QuestionGroupBlockBody, isEqual$3);
36437
36486
 
36438
- var _excluded$i = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "disabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
36487
+ var _excluded$j = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "disabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
36439
36488
  var _$4 = _$8;
36440
36489
  var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
36441
36490
  var _data$articles$3, _data$articles$3$cate, _data$articles$3$cate2, _data$articles$4, _data$articles$4$cate, _data$articles$4$cate2;
@@ -36460,7 +36509,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
36460
36509
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
36461
36510
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
36462
36511
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
36463
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
36512
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$j);
36464
36513
  var errors = formikProps.errors,
36465
36514
  setFieldValue = formikProps.setFieldValue;
36466
36515
  var _useTranslation = reactI18next.useTranslation(),
@@ -36923,7 +36972,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
36923
36972
  }, formikProps)))));
36924
36973
  };
36925
36974
 
36926
- var _excluded$j = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "disabled", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
36975
+ var _excluded$k = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "disabled", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
36927
36976
  var ChapterBlockBody = function ChapterBlockBody(_ref) {
36928
36977
  var path = _ref.path,
36929
36978
  paths = _ref.paths,
@@ -36943,7 +36992,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
36943
36992
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
36944
36993
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
36945
36994
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
36946
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$j);
36995
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$k);
36947
36996
  var _useTranslation = reactI18next.useTranslation(),
36948
36997
  t = _useTranslation.t;
36949
36998
  var setFieldValue = formikProps.setFieldValue;
@@ -37122,7 +37171,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
37122
37171
  }));
37123
37172
  };
37124
37173
 
37125
- var _excluded$k = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "disabled", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
37174
+ var _excluded$l = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "disabled", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
37126
37175
  var _$5 = _$8;
37127
37176
  var ChapterBlock = function ChapterBlock(_ref) {
37128
37177
  var data = _ref.data,
@@ -37145,7 +37194,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
37145
37194
  onOpenSubCategoryMenu = _ref.onOpenSubCategoryMenu,
37146
37195
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
37147
37196
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
37148
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$k);
37197
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$l);
37149
37198
  var errors = formikProps.errors;
37150
37199
  var _useTranslation = reactI18next.useTranslation(),
37151
37200
  t = _useTranslation.t;
@@ -37836,7 +37885,7 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
37836
37885
  }));
37837
37886
  };
37838
37887
 
37839
- var _excluded$l = ["value"];
37888
+ var _excluded$m = ["value"];
37840
37889
  var VisuallyHiddenInput = material.styled("input")({
37841
37890
  clip: "rect(0 0 0 0)",
37842
37891
  clipPath: "inset(50%)",
@@ -38004,7 +38053,7 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
38004
38053
  render: function render(_ref4) {
38005
38054
  var _ref4$field = _ref4.field,
38006
38055
  value = _ref4$field.value,
38007
- action = _objectWithoutPropertiesLoose(_ref4$field, _excluded$l);
38056
+ action = _objectWithoutPropertiesLoose(_ref4$field, _excluded$m);
38008
38057
  return React__default.createElement(xDatePickers.LocalizationProvider, {
38009
38058
  dateAdapter: AdapterMoment.AdapterMoment
38010
38059
  }, React__default.createElement(xDatePickers.DatePicker, Object.assign({}, action, {
@@ -38478,7 +38527,7 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
38478
38527
  }));
38479
38528
  };
38480
38529
 
38481
- var _excluded$m = ["isCreatedByAdmin", "isSuperAdminUser", "isSuperAdmin", "isAdmin", "textbookId", "selected", "coverImage", "disabled", "ownersDisabled", "onChangeTab", "onUploadImage"];
38530
+ var _excluded$n = ["isCreatedByAdmin", "isSuperAdminUser", "isSuperAdmin", "isAdmin", "textbookId", "selected", "coverImage", "disabled", "ownersDisabled", "onChangeTab", "onUploadImage"];
38482
38531
  var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
38483
38532
  var isCreatedByAdmin = _ref.isCreatedByAdmin,
38484
38533
  isSuperAdminUser = _ref.isSuperAdminUser,
@@ -38491,7 +38540,7 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
38491
38540
  ownersDisabled = _ref.ownersDisabled,
38492
38541
  onChangeTab = _ref.onChangeTab,
38493
38542
  onUploadImage = _ref.onUploadImage,
38494
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$m);
38543
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$n);
38495
38544
  var values = formikProps.values,
38496
38545
  errors = formikProps.errors,
38497
38546
  dirty = formikProps.dirty,
@@ -39598,7 +39647,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
39598
39647
  var handleGoToMainPage = function handleGoToMainPage() {
39599
39648
  if (!user) return;
39600
39649
  var isAcademy = user.academyDomain || user.isLearningSpace;
39601
- var mainUrl = !isAcademy ? homeAcademyUrl : homeUrl;
39650
+ var mainUrl = isAcademy ? homeAcademyUrl : homeUrl;
39602
39651
  pushTo(history, mainUrl);
39603
39652
  };
39604
39653
  var handleImageError = function handleImageError() {