touchstudy-core 0.1.99 → 0.1.101

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.
@@ -114,7 +114,6 @@ var Role;
114
114
  Role["Teacher"] = "Teacher";
115
115
  Role["Admin"] = "Admin";
116
116
  Role["AcademyAdmin"] = "AcademyAdmin";
117
- Role["AcademyAdminTeacher"] = "AcademyAdminTeacher";
118
117
  })(Role || (Role = {}));
119
118
  var Language;
120
119
  (function (Language) {
@@ -2962,7 +2961,12 @@ var notify_share_textbook = {
2962
2961
  update_success: "공유 교과서가 성공적으로 업데이트되었습니다!",
2963
2962
  update_fail: "업데이트 실패!"
2964
2963
  };
2965
- var academyadminteacher = "아카데미 관리자/선생님";
2964
+ var notify_share_exam = {
2965
+ share_success: "시험 공유 성공!",
2966
+ share_fail: "시험 또는 교사가 존재하지 않습니다!",
2967
+ update_success: "공유 시험을 성공적으로 업데이트했습니다!",
2968
+ update_fail: "업데이트 실패!"
2969
+ };
2966
2970
  var total_student = "총 학생 수";
2967
2971
  var total_teacher = "총 교사 수";
2968
2972
  var total_exam = "총 시험 수";
@@ -2972,6 +2976,7 @@ var the_exam_code_you_are_looking_for_was_not_found = "찾고 있는 시험 코
2972
2976
  var view_user = "사용자 보기";
2973
2977
  var exam_code = "시험 코드";
2974
2978
  var version = "버전";
2979
+ var exam_sessions = "시험 세션";
2975
2980
  var lang_ko = {
2976
2981
  problem_solving: problem_solving,
2977
2982
  my_story: my_story,
@@ -3776,7 +3781,7 @@ var lang_ko = {
3776
3781
  authority: authority,
3777
3782
  share_textbook: share_textbook,
3778
3783
  notify_share_textbook: notify_share_textbook,
3779
- academyadminteacher: academyadminteacher,
3784
+ notify_share_exam: notify_share_exam,
3780
3785
  total_student: total_student,
3781
3786
  total_teacher: total_teacher,
3782
3787
  total_exam: total_exam,
@@ -3785,7 +3790,8 @@ var lang_ko = {
3785
3790
  the_exam_code_you_are_looking_for_was_not_found: the_exam_code_you_are_looking_for_was_not_found,
3786
3791
  view_user: view_user,
3787
3792
  exam_code: exam_code,
3788
- version: version
3793
+ version: version,
3794
+ exam_sessions: exam_sessions
3789
3795
  };
3790
3796
 
3791
3797
  var problem_solving$1 = "Problem Solving";
@@ -4096,7 +4102,6 @@ var parent_name$1 = "Parent name";
4096
4102
  var users$1 = "Users";
4097
4103
  var new_user$1 = "New user";
4098
4104
  var academy_admin$1 = "Academy Admin";
4099
- var academy_admin_teacher = "Academy Admin / Teacher";
4100
4105
  var super_admin$1 = "Super Admin";
4101
4106
  var switch_academy_admin$1 = "Switch Academy Admin";
4102
4107
  var switch_academy$1 = "Switch Academy";
@@ -4605,7 +4610,12 @@ var notify_share_textbook$1 = {
4605
4610
  update_success: "Update shared textbook successfully!",
4606
4611
  update_fail: "Update fail!"
4607
4612
  };
4608
- var academyadminteacher$1 = "AcademyAdmin / Teacher";
4613
+ var notify_share_exam$1 = {
4614
+ share_success: "Share exam successfully!",
4615
+ share_fail: "Exam or teacher not exists!",
4616
+ update_success: "Update shared exam successfully!",
4617
+ update_fail: "Update fail!"
4618
+ };
4609
4619
  var total_student$1 = "Total Student";
4610
4620
  var total_teacher$1 = "Total Teacher";
4611
4621
  var total_exam$1 = "Total Exam";
@@ -4615,6 +4625,7 @@ var the_exam_code_you_are_looking_for_was_not_found$1 = "The exam code you are l
4615
4625
  var view_user$1 = "View User";
4616
4626
  var exam_code$1 = "exam code";
4617
4627
  var version$1 = "Version";
4628
+ var exam_sessions$1 = "Exam sessions";
4618
4629
  var lang_en = {
4619
4630
  problem_solving: problem_solving$1,
4620
4631
  my_story: my_story$1,
@@ -4923,7 +4934,6 @@ var lang_en = {
4923
4934
  users: users$1,
4924
4935
  new_user: new_user$1,
4925
4936
  academy_admin: academy_admin$1,
4926
- academy_admin_teacher: academy_admin_teacher,
4927
4937
  super_admin: super_admin$1,
4928
4938
  switch_academy_admin: switch_academy_admin$1,
4929
4939
  switch_academy: switch_academy$1,
@@ -5421,7 +5431,7 @@ var lang_en = {
5421
5431
  authority: authority$1,
5422
5432
  share_textbook: share_textbook$1,
5423
5433
  notify_share_textbook: notify_share_textbook$1,
5424
- academyadminteacher: academyadminteacher$1,
5434
+ notify_share_exam: notify_share_exam$1,
5425
5435
  total_student: total_student$1,
5426
5436
  total_teacher: total_teacher$1,
5427
5437
  total_exam: total_exam$1,
@@ -5430,7 +5440,8 @@ var lang_en = {
5430
5440
  the_exam_code_you_are_looking_for_was_not_found: the_exam_code_you_are_looking_for_was_not_found$1,
5431
5441
  view_user: view_user$1,
5432
5442
  exam_code: exam_code$1,
5433
- version: version$1
5443
+ version: version$1,
5444
+ exam_sessions: exam_sessions$1
5434
5445
  };
5435
5446
 
5436
5447
  i18n.use(initReactI18next).init({
@@ -7002,13 +7013,11 @@ var formatRole = function formatRole(roles, t) {
7002
7013
  if (roles.includes(Role.AcademyAdmin)) return t("academy_admin");
7003
7014
  if (roles.includes(Role.Teacher)) return t("teacher");
7004
7015
  if (roles.includes(Role.Student)) return t("student");
7005
- if (roles.includes(Role.AcademyAdminTeacher)) return t("academy_admin_teacher");
7006
7016
  return "";
7007
7017
  };
7008
7018
  var getRole = function getRole(roles) {
7009
7019
  if (roles.includes(Role.Admin)) return Role.Admin;
7010
7020
  if (roles.includes(Role.AcademyAdmin)) return Role.AcademyAdmin;
7011
- if (roles.includes(Role.AcademyAdminTeacher)) return Role.AcademyAdminTeacher;
7012
7021
  if (roles.includes(Role.Teacher)) return Role.Teacher;
7013
7022
  if (roles.includes(Role.Student)) return Role.Student;
7014
7023
  return null;
@@ -8944,7 +8953,7 @@ var getCategoryListApi = function getCategoryListApi(data) {
8944
8953
  var PAGE_TITLE_DETAIL = "textbook_detail";
8945
8954
  var PAGE_TITLE_CREATE = "create_textbook";
8946
8955
  var useTextbookDetail = function useTextbookDetail(props) {
8947
- var _textbook$subject3;
8956
+ var _user$roles, _textbook$subject3, _textbook$createdBy2;
8948
8957
  var role = props.role,
8949
8958
  isReadonlyParam = props.isReadonlyParam,
8950
8959
  navigate = props.navigate,
@@ -8952,39 +8961,42 @@ var useTextbookDetail = function useTextbookDetail(props) {
8952
8961
  var _useTranslation = useTranslation(),
8953
8962
  t = _useTranslation.t;
8954
8963
  var dispatch = useDispatch();
8955
- var _useState = useState(false),
8956
- isReadonly = _useState[0],
8957
- setReadonly = _useState[1];
8958
- var _useState2 = useState(DEFAULT_TEXTBOOK),
8959
- textbook = _useState2[0],
8960
- setTextbook = _useState2[1];
8961
- var _useState3 = useState(false),
8962
- isNotFound = _useState3[0],
8963
- setNotFound = _useState3[1];
8964
+ var _useState = useState(DEFAULT_TEXTBOOK),
8965
+ textbook = _useState[0],
8966
+ setTextbook = _useState[1];
8967
+ var _useState2 = useState(false),
8968
+ isNotFound = _useState2[0],
8969
+ setNotFound = _useState2[1];
8970
+ var _useState3 = useState(),
8971
+ textbookId = _useState3[0],
8972
+ setTextbookId = _useState3[1];
8964
8973
  var _useState4 = useState(),
8965
- textbookId = _useState4[0],
8966
- setTextbookId = _useState4[1];
8967
- var _useState5 = useState(),
8968
- parentChapter = _useState5[0],
8969
- setParentChapter = _useState5[1];
8970
- var _useState6 = useState([]),
8971
- articlesSelected = _useState6[0],
8972
- setArticlesSelected = _useState6[1];
8974
+ parentChapter = _useState4[0],
8975
+ setParentChapter = _useState4[1];
8976
+ var _useState5 = useState([]),
8977
+ articlesSelected = _useState5[0],
8978
+ setArticlesSelected = _useState5[1];
8979
+ var _useState6 = useState(),
8980
+ selectedChapter = _useState6[0],
8981
+ setSelectedChapter = _useState6[1];
8973
8982
  var _useState7 = useState(),
8974
- selectedChapter = _useState7[0],
8975
- setSelectedChapter = _useState7[1];
8976
- var _useState8 = useState(),
8977
- selectedDeleteItem = _useState8[0],
8978
- setSelectedDeleteItem = _useState8[1];
8983
+ selectedDeleteItem = _useState7[0],
8984
+ setSelectedDeleteItem = _useState7[1];
8979
8985
  var updateChapterRef = useRef();
8980
8986
  var updateArticleRef = useRef();
8981
- var _useState9 = useState(false),
8982
- isEditedTitle = _useState9[0],
8983
- setEditedTitle = _useState9[1];
8984
- var _useState10 = useState([]),
8985
- categoryList = _useState10[0],
8986
- setCategoryList = _useState10[1];
8987
+ var _useState8 = useState(false),
8988
+ isEditedTitle = _useState8[0],
8989
+ setEditedTitle = _useState8[1];
8990
+ var _useState9 = useState([]),
8991
+ categoryList = _useState9[0],
8992
+ setCategoryList = _useState9[1];
8987
8993
  var textbookUrl = role === Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
8994
+ var isAdminSite = role === Role.Admin;
8995
+ var user = useSelector(function (state) {
8996
+ var _state$common;
8997
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
8998
+ });
8999
+ var isAdmin = user === null || user === void 0 ? void 0 : (_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(Role.Admin);
8988
9000
  var _useExam = useExam({
8989
9001
  navigate: navigate
8990
9002
  }),
@@ -9684,9 +9696,14 @@ var useTextbookDetail = function useTextbookDetail(props) {
9684
9696
  useEffect(function () {
9685
9697
  document.title = t("study_peak") + " | " + t(id ? PAGE_TITLE_DETAIL : PAGE_TITLE_CREATE);
9686
9698
  }, [id, t]);
9687
- useEffect(function () {
9688
- setReadonly(textbook.isCreatedByAdmin || !!isReadonlyParam);
9689
- }, [isReadonlyParam, textbook.isCreatedByAdmin]);
9699
+ var isReadonly = useMemo(function () {
9700
+ var _textbook$createdBy;
9701
+ if (!user.id) return true;
9702
+ if (!textbook.id) return false;
9703
+ if (isReadonlyParam) return true;
9704
+ if (isAdminSite && isAdmin || !textbook.isCreatedByAdmin && !isAdmin && !isAdminSite && (textbook === null || textbook === void 0 ? void 0 : (_textbook$createdBy = textbook.createdBy) === null || _textbook$createdBy === void 0 ? void 0 : _textbook$createdBy.id) === (user === null || user === void 0 ? void 0 : user.id)) return false;
9705
+ return true;
9706
+ }, [isReadonlyParam, textbook.isCreatedByAdmin, isAdminSite, isAdmin, textbook.id, textbook === null || textbook === void 0 ? void 0 : (_textbook$createdBy2 = textbook.createdBy) === null || _textbook$createdBy2 === void 0 ? void 0 : _textbook$createdBy2.id, user === null || user === void 0 ? void 0 : user.id]);
9690
9707
  return {
9691
9708
  id: id,
9692
9709
  t: t,
@@ -10596,7 +10613,6 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
10596
10613
  selectedChapter = _useTextbookDetail.selectedChapter,
10597
10614
  articlesSelected = _useTextbookDetail.articlesSelected,
10598
10615
  selectedDeleteItem = _useTextbookDetail.selectedDeleteItem,
10599
- isEditedTitle = _useTextbookDetail.isEditedTitle,
10600
10616
  isOpenDialog = _useTextbookDetail.isOpenDialog,
10601
10617
  examRequest = _useTextbookDetail.examRequest,
10602
10618
  categoryList = _useTextbookDetail.categoryList,
@@ -10712,7 +10728,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
10712
10728
  textbook: textbook,
10713
10729
  onBack: handleGoToTextbookList,
10714
10730
  onSave: handleCreateOrUpdateTextbook,
10715
- hideSave: !isEditedTitle && !!id && !isReadonly || textbook.isCreatedByAdmin || !!id && isReadonly
10731
+ hideSave: !!id && isReadonly
10716
10732
  }))), React__default.createElement(Grid, {
10717
10733
  item: true,
10718
10734
  xs: 12,