touchstudy-core 0.1.16 → 0.1.18

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.
@@ -12,6 +12,7 @@ import axios from 'axios';
12
12
  import { useTranslation, initReactI18next } from 'react-i18next';
13
13
  export { I18nextProvider, useTranslation } from 'react-i18next';
14
14
  import { gapi } from 'gapi-script';
15
+ import { Box, Typography, Grid, Button as Button$1, CircularProgress } from '@mui/material';
15
16
  import i18n from 'i18next';
16
17
  import { IoChevronDown, IoCloseOutline } from 'react-icons/io5';
17
18
  import 'moment/locale/ko.js';
@@ -21,7 +22,6 @@ import { toast } from 'react-toastify';
21
22
  export { ToastContainer, toast } from 'react-toastify';
22
23
  import Select, { components } from 'react-select';
23
24
  import { FaCaretDown, FaImage, FaPlusCircle } from 'react-icons/fa';
24
- import { Typography, Grid, Box, Button as Button$1, CircularProgress } from '@mui/material';
25
25
  import Pusher from 'pusher-js';
26
26
  import CreatableSelect from 'react-select/creatable';
27
27
  import { PiDotsNineLight } from 'react-icons/pi';
@@ -30,6 +30,7 @@ import _ from 'lodash';
30
30
  var setLoading = createAction("common/setLoading");
31
31
  var setAlert = createAction("common/setAlert");
32
32
  var setUser = createAction("common/setUser");
33
+ var setAcademy = createAction("common/setAcademy");
33
34
  var setLanguage = createAction("common/setLanguage");
34
35
  var reset = createAction("common/reset");
35
36
  var setReFetchUserAcademies = createAction("common/setReFetchUserAcademies");
@@ -739,6 +740,7 @@ var initialState = {
739
740
  message: ""
740
741
  },
741
742
  user: null,
743
+ academy: null,
742
744
  isReFetchUserAcademies: false
743
745
  };
744
746
  var commonReducer = createReducer(initialState, function (builder) {
@@ -748,6 +750,8 @@ var commonReducer = createReducer(initialState, function (builder) {
748
750
  state.alert = action.payload;
749
751
  }).addCase(setUser, function (state, action) {
750
752
  state.user = action.payload;
753
+ }).addCase(setAcademy, function (state, action) {
754
+ state.academy = action.payload;
751
755
  }).addCase(setLanguage, function (state, action) {
752
756
  state.language = action.payload;
753
757
  }).addCase(reset, function (_state, _action) {
@@ -817,6 +821,29 @@ var Loading = function Loading() {
817
821
  }))) : null;
818
822
  };
819
823
 
824
+ var ACADEMY_URL = BASE_URL + "/api/academy";
825
+ var SUPER_ADMIN_ACADEMY_URL = SUPER_ADMIN_BASE_URL + "/api/academies";
826
+ var getAcademyList = function getAcademyList(role) {
827
+ return api.get(SUPER_ADMIN_ACADEMY_URL + "/active", {
828
+ params: {
829
+ role: role
830
+ }
831
+ });
832
+ };
833
+ var getUserAcademies = function getUserAcademies(role) {
834
+ return api.get("" + ACADEMY_URL, {
835
+ params: {
836
+ role: role
837
+ }
838
+ });
839
+ };
840
+ var getAcademyDetail = function getAcademyDetail() {
841
+ return api.get(ACADEMY_URL + "/detail");
842
+ };
843
+ var switchAcademy = function switchAcademy(academyId) {
844
+ return api.post(ACADEMY_URL + "/switch-academy?academyId=" + academyId);
845
+ };
846
+
820
847
  var LayoutContext = function LayoutContext(_ref) {
821
848
  var children = _ref.children,
822
849
  role = _ref.role,
@@ -836,6 +863,29 @@ var LayoutContext = function LayoutContext(_ref) {
836
863
  var resetAuth = function resetAuth() {
837
864
  handleSignOut();
838
865
  };
866
+ var handleGetAcademyDetail = function handleGetAcademyDetail() {
867
+ try {
868
+ var _temp2 = function _temp2() {
869
+ dispatch(setLoading(false));
870
+ };
871
+ if (!(user !== null && user !== void 0 && user.academyDomain)) return Promise.resolve();
872
+ dispatch(setLoading(true));
873
+ var _temp = _catch(function () {
874
+ return Promise.resolve(getAcademyDetail()).then(function (info) {
875
+ if (info) {
876
+ dispatch(setAcademy(info.data));
877
+ }
878
+ });
879
+ }, function (err) {
880
+ console.log({
881
+ err: err
882
+ });
883
+ });
884
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
885
+ } catch (e) {
886
+ return Promise.reject(e);
887
+ }
888
+ };
839
889
  var checkRoleUser = useCallback(function () {
840
890
  if (!user) return;
841
891
  if (!roles.includes(role) && !!user.academyDomain) {
@@ -845,7 +895,7 @@ var LayoutContext = function LayoutContext(_ref) {
845
895
  }, [role, JSON.stringify(user)]);
846
896
  var loadInfo = function loadInfo() {
847
897
  try {
848
- var _temp2 = function _temp2() {
898
+ var _temp4 = function _temp4() {
849
899
  dispatch(setLoading(false));
850
900
  };
851
901
  var token = getAccessToken();
@@ -854,7 +904,7 @@ var LayoutContext = function LayoutContext(_ref) {
854
904
  return Promise.resolve();
855
905
  }
856
906
  dispatch(setLoading(true));
857
- var _temp = _catch(function () {
907
+ var _temp3 = _catch(function () {
858
908
  return Promise.resolve(getAcademyDomain() ? getInfo() : getSuperAdminInfoFromWeb()).then(function (info) {
859
909
  if (!info) {
860
910
  resetAuth();
@@ -868,7 +918,7 @@ var LayoutContext = function LayoutContext(_ref) {
868
918
  alert(t(role === Role.Student ? "student_login_again" : role === Role.Admin ? "admin_login_again" : "teacher_login_again"));
869
919
  resetAuth();
870
920
  });
871
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
921
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
872
922
  } catch (e) {
873
923
  return Promise.reject(e);
874
924
  }
@@ -877,6 +927,9 @@ var LayoutContext = function LayoutContext(_ref) {
877
927
  !user && loadInfo();
878
928
  !!user && checkRoleUser();
879
929
  }, [JSON.stringify(user)]);
930
+ useEffect(function () {
931
+ handleGetAcademyDetail();
932
+ }, [user === null || user === void 0 ? void 0 : user.academyDomain]);
880
933
  return React.createElement(Fragment, null, children);
881
934
  };
882
935
 
@@ -942,6 +995,8 @@ var CommonDialog = function CommonDialog(_ref) {
942
995
  title = _ref.title,
943
996
  _ref$size = _ref.size,
944
997
  size = _ref$size === void 0 ? "xs" : _ref$size,
998
+ _ref$isShowHeader = _ref.isShowHeader,
999
+ isShowHeader = _ref$isShowHeader === void 0 ? true : _ref$isShowHeader,
945
1000
  onClose = _ref.onClose,
946
1001
  backdrop = _ref.backdrop;
947
1002
  return React.createElement(Modal, {
@@ -951,9 +1006,13 @@ var CommonDialog = function CommonDialog(_ref) {
951
1006
  centered: centered,
952
1007
  size: size,
953
1008
  zIndex: 1102
954
- }, React.createElement(ModalHeader, {
1009
+ }, isShowHeader ? React.createElement(ModalHeader, {
955
1010
  toggle: onClose
956
- }, title), children);
1011
+ }, title) : React.createElement(Box, {
1012
+ className: "p-3"
1013
+ }, React.createElement(Typography, {
1014
+ className: "fs-5 text-center fw-bold"
1015
+ }, title)), children);
957
1016
  };
958
1017
 
959
1018
  var CommonAlert = function CommonAlert() {
@@ -1110,7 +1169,7 @@ var ExamEvent;
1110
1169
  ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
1111
1170
  })(ExamEvent || (ExamEvent = {}));
1112
1171
 
1113
- var problem_solving = "문제풀기";
1172
+ var problem_solving = "전체 공지";
1114
1173
  var my_story = "내 스토리";
1115
1174
  var search_find = "검색하여 찾기";
1116
1175
  var test_code = "시험코드 입력";
@@ -1128,6 +1187,7 @@ var academy_name = "학원 이름";
1128
1187
  var total_students = "총 학생수";
1129
1188
  var student = "명";
1130
1189
  var students = "명";
1190
+ var academy = "학원";
1131
1191
  var extra_time = "추가 시간";
1132
1192
  var complete = "완료";
1133
1193
  var current_exam = "현재 시험중";
@@ -1271,6 +1331,28 @@ var no_academies_available = "이용 가능한 아카데미가 없습니다";
1271
1331
  var not_allow_register = "역할 등록을 허용하지 않음";
1272
1332
  var credentials_invalid = "자격 증명이 잘못되었습니다.";
1273
1333
  var role_is_invalid = "역할이 잘못되었습니다";
1334
+ var today = "오늘";
1335
+ var user_is_disabled = "사용자가 비활성화되었습니다.";
1336
+ var cover_image = "표지 이미지";
1337
+ var notification = "공고";
1338
+ var waiting_for_all_students_to_complete_the_exam = "모든 학생이 시험을 종료 할 때 까지 기다리는 중입니다.";
1339
+ var created_at = "만들어진";
1340
+ var name_required = "이름은 필수입니다";
1341
+ var type_required = "유형은 필수 항목입니다";
1342
+ var link_required = "링크가 필요합니다";
1343
+ var create_and_continue = "만들고 계속하기";
1344
+ var content = "콘텐츠";
1345
+ var color = "색상";
1346
+ var link = "링크";
1347
+ var background = "배경";
1348
+ var you_have_already_attended = "이미 출석하였습니다";
1349
+ var check_attendance = "출석 체크하기";
1350
+ var attendance_check = "Attendance check";
1351
+ var class_date = "수업 날짜";
1352
+ var class_time = "수업 시간";
1353
+ var attendance = "출석";
1354
+ var attendance_completed = "출석 완료";
1355
+ var none_attendance = "미출석";
1274
1356
  var lang_ko = {
1275
1357
  problem_solving: problem_solving,
1276
1358
  my_story: my_story,
@@ -1290,6 +1372,9 @@ var lang_ko = {
1290
1372
  total_students: total_students,
1291
1373
  student: student,
1292
1374
  students: students,
1375
+ academy: academy,
1376
+ "class": "수업",
1377
+ "default": "기본",
1293
1378
  extra_time: extra_time,
1294
1379
  complete: complete,
1295
1380
  current_exam: current_exam,
@@ -1430,7 +1515,29 @@ var lang_ko = {
1430
1515
  not_allow_register: not_allow_register,
1431
1516
  credentials_invalid: credentials_invalid,
1432
1517
  role_is_invalid: role_is_invalid,
1433
- "q&a": "질의응답"
1518
+ today: today,
1519
+ "q&a": "질의응답",
1520
+ user_is_disabled: user_is_disabled,
1521
+ cover_image: cover_image,
1522
+ notification: notification,
1523
+ waiting_for_all_students_to_complete_the_exam: waiting_for_all_students_to_complete_the_exam,
1524
+ created_at: created_at,
1525
+ name_required: name_required,
1526
+ type_required: type_required,
1527
+ link_required: link_required,
1528
+ create_and_continue: create_and_continue,
1529
+ content: content,
1530
+ color: color,
1531
+ link: link,
1532
+ background: background,
1533
+ you_have_already_attended: you_have_already_attended,
1534
+ check_attendance: check_attendance,
1535
+ attendance_check: attendance_check,
1536
+ class_date: class_date,
1537
+ class_time: class_time,
1538
+ attendance: attendance,
1539
+ attendance_completed: attendance_completed,
1540
+ none_attendance: none_attendance
1434
1541
  };
1435
1542
 
1436
1543
  var problem_solving$1 = "Problem Solving";
@@ -1451,6 +1558,7 @@ var academy_name$1 = "Academy name";
1451
1558
  var total_students$1 = "Total students";
1452
1559
  var students$1 = "Students";
1453
1560
  var student$1 = "Student";
1561
+ var academy$1 = "Academy";
1454
1562
  var extra_time$1 = "Extra time";
1455
1563
  var complete$1 = "Complete";
1456
1564
  var current_exam$1 = "Current exam";
@@ -1536,7 +1644,7 @@ var full_name$1 = "Full name";
1536
1644
  var email$1 = "Email";
1537
1645
  var is_paid = "Is paid";
1538
1646
  var payment_time = "Payment time";
1539
- var create_and_continue = "Create and continue";
1647
+ var create_and_continue$1 = "Create and continue";
1540
1648
  var payments$1 = "Payments";
1541
1649
  var duration$1 = "Duration";
1542
1650
  var answer_count$1 = "Answer count";
@@ -1630,6 +1738,26 @@ var no_academies_available$1 = "No academies available";
1630
1738
  var not_allow_register$1 = "Not allow to register role";
1631
1739
  var credentials_invalid$1 = "Credentials is invalid";
1632
1740
  var role_is_invalid$1 = "Role is invalid";
1741
+ var today$1 = "TODAY";
1742
+ var user_is_disabled$1 = "User is disabled";
1743
+ var cover_image$1 = "Cover image";
1744
+ var notification$1 = "Notification";
1745
+ var waiting_for_all_students_to_complete_the_exam$1 = "Waiting for all students to complete the exam.";
1746
+ var created_at$1 = "Created";
1747
+ var name_required$1 = "Name is required";
1748
+ var type_required$1 = "Type is required";
1749
+ var content$1 = "Content";
1750
+ var color$1 = "Color";
1751
+ var link$1 = "Link";
1752
+ var background$1 = "Background";
1753
+ var you_have_already_attended$1 = "You have already attended";
1754
+ var check_attendance$1 = "Check attendance";
1755
+ var attendance_check$1 = "Attendance check";
1756
+ var class_date$1 = "Class date";
1757
+ var class_time$1 = "Class time";
1758
+ var attendance$1 = "Attendance";
1759
+ var attendance_completed$1 = "Attendance completed";
1760
+ var none_attendance$1 = "Non-attendance";
1633
1761
  var lang_en = {
1634
1762
  problem_solving: problem_solving$1,
1635
1763
  my_story: my_story$1,
@@ -1649,6 +1777,9 @@ var lang_en = {
1649
1777
  total_students: total_students$1,
1650
1778
  students: students$1,
1651
1779
  student: student$1,
1780
+ academy: academy$1,
1781
+ "class": "Class",
1782
+ "default": "Default",
1652
1783
  extra_time: extra_time$1,
1653
1784
  complete: complete$1,
1654
1785
  current_exam: current_exam$1,
@@ -1734,7 +1865,7 @@ var lang_en = {
1734
1865
  email: email$1,
1735
1866
  is_paid: is_paid,
1736
1867
  payment_time: payment_time,
1737
- create_and_continue: create_and_continue,
1868
+ create_and_continue: create_and_continue$1,
1738
1869
  payments: payments$1,
1739
1870
  duration: duration$1,
1740
1871
  answer_count: answer_count$1,
@@ -1825,7 +1956,27 @@ var lang_en = {
1825
1956
  not_allow_register: not_allow_register$1,
1826
1957
  credentials_invalid: credentials_invalid$1,
1827
1958
  role_is_invalid: role_is_invalid$1,
1828
- "q&a": "Q&A"
1959
+ today: today$1,
1960
+ "q&a": "Q&A",
1961
+ user_is_disabled: user_is_disabled$1,
1962
+ cover_image: cover_image$1,
1963
+ notification: notification$1,
1964
+ waiting_for_all_students_to_complete_the_exam: waiting_for_all_students_to_complete_the_exam$1,
1965
+ created_at: created_at$1,
1966
+ name_required: name_required$1,
1967
+ type_required: type_required$1,
1968
+ content: content$1,
1969
+ color: color$1,
1970
+ link: link$1,
1971
+ background: background$1,
1972
+ you_have_already_attended: you_have_already_attended$1,
1973
+ check_attendance: check_attendance$1,
1974
+ attendance_check: attendance_check$1,
1975
+ class_date: class_date$1,
1976
+ class_time: class_time$1,
1977
+ attendance: attendance$1,
1978
+ attendance_completed: attendance_completed$1,
1979
+ none_attendance: none_attendance$1
1829
1980
  };
1830
1981
 
1831
1982
  i18n.use(initReactI18next).init({
@@ -1962,26 +2113,6 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
1962
2113
  })));
1963
2114
  };
1964
2115
 
1965
- var ACADEMY_URL = BASE_URL + "/api/academy";
1966
- var SUPER_ADMIN_ACADEMY_URL = SUPER_ADMIN_BASE_URL + "/api/academies";
1967
- var getAcademyList = function getAcademyList(role) {
1968
- return api.get(SUPER_ADMIN_ACADEMY_URL + "/active", {
1969
- params: {
1970
- role: role
1971
- }
1972
- });
1973
- };
1974
- var getUserAcademies = function getUserAcademies(role) {
1975
- return api.get("" + ACADEMY_URL, {
1976
- params: {
1977
- role: role
1978
- }
1979
- });
1980
- };
1981
- var switchAcademy = function switchAcademy(academyId) {
1982
- return api.post(ACADEMY_URL + "/switch-academy?academyId=" + academyId);
1983
- };
1984
-
1985
2116
  var useSwitchAcademy = function useSwitchAcademy(role, navigate, homeAcademyUrl, homeUrl) {
1986
2117
  if (role === void 0) {
1987
2118
  role = Role.Student;
@@ -2048,6 +2179,7 @@ var useSwitchAcademy = function useSwitchAcademy(role, navigate, homeAcademyUrl,
2048
2179
  try {
2049
2180
  var _temp5 = function _temp5() {
2050
2181
  isLoading && dispatch(setLoading(false));
2182
+ setDropdownOpen(false);
2051
2183
  };
2052
2184
  isLoading && dispatch(setLoading(true));
2053
2185
  var academyId = selectedAcademy ? selectedAcademy.id : 0;
@@ -3977,7 +4109,77 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
3977
4109
  }, [window.location.pathname, user === null || user === void 0 ? void 0 : user.academyDomain]);
3978
4110
  };
3979
4111
 
4112
+ var _excluded$4 = ["defaultValue", "options", "isDisabled", "scrollBottom", "value", "isMulti"];
4113
+ var DropdownIndicator$1 = function DropdownIndicator(props) {
4114
+ return React.createElement(components.DropdownIndicator, Object.assign({}, props), React.createElement(FaCaretDown, {
4115
+ color: "#5458D5"
4116
+ }));
4117
+ };
4118
+ var CustomOption$1 = function CustomOption(props) {
4119
+ return React.createElement(components.Option, Object.assign({}, props), React.createElement("div", {
4120
+ style: {
4121
+ fontSize: "14px",
4122
+ fontWeight: 500
4123
+ }
4124
+ }, props.data.label));
4125
+ };
4126
+ var customStyles$1 = {
4127
+ control: function control(baseStyles, state) {
4128
+ return _extends({}, baseStyles, {
4129
+ fontSize: "14px",
4130
+ fontWeight: 700,
4131
+ color: "#5458D5",
4132
+ borderColor: state.isFocused ? '#5458D5' : '#C3C5FE'
4133
+ });
4134
+ },
4135
+ input: function input(baseStyles, _) {
4136
+ return _extends({}, baseStyles, {
4137
+ fontSize: "14px",
4138
+ fontWeight: 700,
4139
+ color: "#5458D5"
4140
+ });
4141
+ },
4142
+ singleValue: function singleValue(baseStyles) {
4143
+ return _extends({}, baseStyles, {
4144
+ fontSize: "14px",
4145
+ fontWeight: 700,
4146
+ color: "#5458D5"
4147
+ });
4148
+ }
4149
+ };
4150
+ var CustomSelectOption = function CustomSelectOption(_ref) {
4151
+ var defaultValue = _ref.defaultValue,
4152
+ options = _ref.options,
4153
+ isDisabled = _ref.isDisabled,
4154
+ scrollBottom = _ref.scrollBottom,
4155
+ value = _ref.value,
4156
+ isMulti = _ref.isMulti,
4157
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
4158
+ var _useTranslation = useTranslation(),
4159
+ t = _useTranslation.t;
4160
+ var initialValues = defaultValue !== null && typeof defaultValue !== "undefined" ? options.find(function (option) {
4161
+ return option.value === defaultValue;
4162
+ }) || null : null;
4163
+ return React.createElement(Select, Object.assign({
4164
+ isDisabled: isDisabled,
4165
+ options: options,
4166
+ value: value,
4167
+ defaultValue: initialValues,
4168
+ menuPlacement: scrollBottom ? "top" : "auto",
4169
+ isMulti: isMulti,
4170
+ components: {
4171
+ IndicatorSeparator: function IndicatorSeparator() {
4172
+ return null;
4173
+ },
4174
+ DropdownIndicator: DropdownIndicator$1,
4175
+ Option: CustomOption$1
4176
+ },
4177
+ styles: customStyles$1,
4178
+ placeholder: t("select_placeholder")
4179
+ }, rest));
4180
+ };
4181
+
3980
4182
  var historyCore = createBrowserHistory();
3981
4183
 
3982
- export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonAlert, CommonDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEvent, LANGUAGES, LayoutContext, Loading, Login, NotFound, PUSHER_CONFIG, Role, SUPER_ADMIN_BASE_URL, TheAcademyDropdown, TheLanguageDropdown, api, apiUpload, canAccess as canAccessRoute, diffFromNow, formatTime, getAcademyDomain, getAccessToken$1 as getAccessToken, historyCore, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setUser, store, toISOString, useAutoAcademyDomain, useChatContainer, useGoogleSignOut, useLanguage, useLogin, usePusherConversation, useSwitchAcademy, utcToLocalTime };
4184
+ export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonAlert, CommonDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEvent, LANGUAGES, LayoutContext, Loading, Login, NotFound, PUSHER_CONFIG, Role, SUPER_ADMIN_BASE_URL, TheAcademyDropdown, TheLanguageDropdown, api, apiUpload, canAccess as canAccessRoute, diffFromNow, formatTime, getAcademyDomain, getAccessToken$1 as getAccessToken, historyCore, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setUser, store, toISOString, useAutoAcademyDomain, useChatContainer, useGoogleSignOut, useLanguage, useLogin, usePusherConversation, useSwitchAcademy, utcToLocalTime };
3983
4185
  //# sourceMappingURL=index.modern.js.map