touchstudy-core 0.1.17 → 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.
@@ -1,13 +1,12 @@
1
1
  import React, { FC } from "react";
2
+ import { MessageRequest } from "./configs/types";
2
3
  export interface IInputChatProps {
3
4
  text: string;
4
5
  onSubmit: () => void;
5
6
  onChangeInput: (text: string) => void;
6
7
  isCompleted?: boolean;
7
8
  handleUploadImage: (file: File) => void;
8
- selectedFile: {
9
- content: string;
10
- };
9
+ selectedFile?: MessageRequest | null;
11
10
  handleDeleteSelectedImage: () => void;
12
11
  }
13
12
  interface Props extends IInputChatProps {
@@ -38,12 +38,20 @@ export declare type UserResponse = {
38
38
  export declare type ConversationFilter = {
39
39
  currentPage: number;
40
40
  pageSize: number;
41
- textSearch: string;
41
+ textSearch?: string;
42
42
  hasConversation?: boolean;
43
43
  studentId?: number;
44
44
  sortColumnName?: string;
45
45
  sortColumnDirection?: string;
46
46
  };
47
+ export declare type StudentConversationFilter = {
48
+ currentPage: number;
49
+ pageSize: number;
50
+ textSearch: string;
51
+ hasConversation?: boolean;
52
+ sortColumnName?: string;
53
+ sortColumnDirection?: string;
54
+ };
47
55
  export declare type ExamResponse = {
48
56
  id: number;
49
57
  examId: number;
@@ -0,0 +1,20 @@
1
+ import { ChangeEvent } from "react";
2
+ import { ConversationFilter, ConversationResponse, MessageResponse } from "../configs/types";
3
+ declare const useConversationList: () => {
4
+ isStudent: any;
5
+ conversationFilter: ConversationFilter;
6
+ selectedConversation: ConversationResponse | undefined;
7
+ conversations: ConversationResponse[];
8
+ handleUpdateTotalUnreadMessage: () => void;
9
+ handleChangeFilter: (filter: ConversationFilter) => void;
10
+ handleChangeSelectedConversation: (val: ConversationResponse) => void;
11
+ handleChangeTextSearch: (e: ChangeEvent<HTMLInputElement>) => void;
12
+ setSelectedConversation: import("react").Dispatch<import("react").SetStateAction<ConversationResponse | undefined>>;
13
+ handleUpdateLastMessage: (lastMessage: MessageResponse) => void;
14
+ getConversationList: () => Promise<void>;
15
+ formatConversationLastMessageContent: (conversation: ConversationResponse) => string;
16
+ handleNewMessageConversation: (val: ConversationResponse) => void;
17
+ handleCreateConversationSuccess: (id: number) => Promise<void>;
18
+ handleMessageReadConversation: (id: number, totalUnread: number) => void;
19
+ };
20
+ export default useConversationList;
@@ -6,6 +6,7 @@ interface Props {
6
6
  title: string;
7
7
  size?: "xs" | "lg" | "xl";
8
8
  backdrop?: boolean | "static";
9
+ isShowHeader?: boolean;
9
10
  }
10
11
  declare const CommonDialog: FC<Props & PropsWithChildren>;
11
12
  export default CommonDialog;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const CustomSelectOption: ({ defaultValue, options, isDisabled, scrollBottom, value, isMulti, ...rest }: any) => React.JSX.Element;
3
+ export default CustomSelectOption;
package/dist/index.d.ts CHANGED
@@ -46,4 +46,5 @@ import { useAutoAcademyDomain, useLogin } from "./utils/hooks";
46
46
  import { LoginAccessTokenRequest, LoginRequest } from "./utils/types/login";
47
47
  import useSwitchAcademy from "./utils/hooks/useSwitchAcademy";
48
48
  import * as ChatTypes from "./components/Chats/configs/types";
49
- export { diffFromNow, formatTime, utcToLocalTime, setLoading, BASE_URL, SUPER_ADMIN_BASE_URL, ACCESS_TOKEN, Login, store, historyCore, setAlert, setUser, Loading, NotFound, LayoutContext, api, apiUpload, ConfirmDialog, CommonDialog, CommonAlert, CustomPagination, useGoogleSignOut, PUSHER_CONFIG, ExamEvent, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, setLanguage, i18n, TheLanguageDropdown, TheAcademyDropdown, useTranslation, I18nextProvider, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, ACADEMY_DOMAIN, minutesToTimeSpan, toISOString, canAccessRoute, CustomSelect, CustomAsyncSelect, getAccessToken, ChatContainer, IChatContainerProps, IChatItemProps, IChatHeaderProps, IInputChatProps, ChatItemType, useChatContainer, ConversationResponse, usePusherConversation, ToastContainer, toast, Role, useLanguage, useSwitchAcademy, LANGUAGES, CustomCreatable, moment, ExamDetailView, ExamDetailViewProps, Exam, Question, ArticleGroup, getAcademyDomain, useLogin, useAutoAcademyDomain, LoginAccessTokenRequest, LoginRequest, setReFetchUserAcademies, ChatTypes, AcademyHeaders };
49
+ import CustomSelectOption from "./components/Selects/CustomSelectOption";
50
+ export { diffFromNow, formatTime, utcToLocalTime, setLoading, BASE_URL, SUPER_ADMIN_BASE_URL, ACCESS_TOKEN, Login, store, historyCore, setAlert, setUser, Loading, NotFound, LayoutContext, api, apiUpload, ConfirmDialog, CommonDialog, CommonAlert, CustomPagination, useGoogleSignOut, PUSHER_CONFIG, ExamEvent, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, setLanguage, i18n, TheLanguageDropdown, TheAcademyDropdown, useTranslation, I18nextProvider, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, ACADEMY_DOMAIN, minutesToTimeSpan, toISOString, canAccessRoute, CustomSelect, CustomAsyncSelect, CustomSelectOption, getAccessToken, ChatContainer, IChatContainerProps, IChatItemProps, IChatHeaderProps, IInputChatProps, ChatItemType, useChatContainer, ConversationResponse, usePusherConversation, ToastContainer, toast, Role, useLanguage, useSwitchAcademy, LANGUAGES, CustomCreatable, moment, ExamDetailView, ExamDetailViewProps, Exam, Question, ArticleGroup, getAcademyDomain, useLogin, useAutoAcademyDomain, LoginAccessTokenRequest, LoginRequest, setReFetchUserAcademies, ChatTypes, AcademyHeaders };
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ var reactRedux = require('react-redux');
14
14
  var axios = _interopDefault(require('axios'));
15
15
  var reactI18next = require('react-i18next');
16
16
  var gapiScript = require('gapi-script');
17
+ var material = require('@mui/material');
17
18
  var i18n = _interopDefault(require('i18next'));
18
19
  var io5 = require('react-icons/io5');
19
20
  require('moment/locale/ko.js');
@@ -23,7 +24,6 @@ var reactToastify = require('react-toastify');
23
24
  var Select = require('react-select');
24
25
  var Select__default = _interopDefault(Select);
25
26
  var fa = require('react-icons/fa');
26
- var material = require('@mui/material');
27
27
  var Pusher = _interopDefault(require('pusher-js'));
28
28
  var CreatableSelect = _interopDefault(require('react-select/creatable'));
29
29
  var pi = require('react-icons/pi');
@@ -32,6 +32,7 @@ var _ = _interopDefault(require('lodash'));
32
32
  var setLoading = toolkit.createAction("common/setLoading");
33
33
  var setAlert = toolkit.createAction("common/setAlert");
34
34
  var setUser = toolkit.createAction("common/setUser");
35
+ var setAcademy = toolkit.createAction("common/setAcademy");
35
36
  var setLanguage = toolkit.createAction("common/setLanguage");
36
37
  var reset = toolkit.createAction("common/reset");
37
38
  var setReFetchUserAcademies = toolkit.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 = toolkit.createReducer(initialState, function (builder) {
@@ -748,6 +750,8 @@ var commonReducer = toolkit.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 = React.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 === exports.Role.Student ? "student_login_again" : role === exports.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
+ React.useEffect(function () {
931
+ handleGetAcademyDetail();
932
+ }, [user === null || user === void 0 ? void 0 : user.academyDomain]);
880
933
  return React__default.createElement(React.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__default.createElement(reactstrap.Modal, {
@@ -951,9 +1006,13 @@ var CommonDialog = function CommonDialog(_ref) {
951
1006
  centered: centered,
952
1007
  size: size,
953
1008
  zIndex: 1102
954
- }, React__default.createElement(reactstrap.ModalHeader, {
1009
+ }, isShowHeader ? React__default.createElement(reactstrap.ModalHeader, {
955
1010
  toggle: onClose
956
- }, title), children);
1011
+ }, title) : React__default.createElement(material.Box, {
1012
+ className: "p-3"
1013
+ }, React__default.createElement(material.Typography, {
1014
+ className: "fs-5 text-center fw-bold"
1015
+ }, title)), children);
957
1016
  };
958
1017
 
959
1018
  var CommonAlert = function CommonAlert() {
@@ -1109,7 +1168,7 @@ var CustomPagination = function CustomPagination(_ref) {
1109
1168
  ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
1110
1169
  })(exports.ExamEvent || (exports.ExamEvent = {}));
1111
1170
 
1112
- var problem_solving = "문제풀기";
1171
+ var problem_solving = "전체 공지";
1113
1172
  var my_story = "내 스토리";
1114
1173
  var search_find = "검색하여 찾기";
1115
1174
  var test_code = "시험코드 입력";
@@ -1127,6 +1186,7 @@ var academy_name = "학원 이름";
1127
1186
  var total_students = "총 학생수";
1128
1187
  var student = "명";
1129
1188
  var students = "명";
1189
+ var academy = "학원";
1130
1190
  var extra_time = "추가 시간";
1131
1191
  var complete = "완료";
1132
1192
  var current_exam = "현재 시험중";
@@ -1270,7 +1330,28 @@ var no_academies_available = "이용 가능한 아카데미가 없습니다";
1270
1330
  var not_allow_register = "역할 등록을 허용하지 않음";
1271
1331
  var credentials_invalid = "자격 증명이 잘못되었습니다.";
1272
1332
  var role_is_invalid = "역할이 잘못되었습니다";
1333
+ var today = "오늘";
1273
1334
  var user_is_disabled = "사용자가 비활성화되었습니다.";
1335
+ var cover_image = "표지 이미지";
1336
+ var notification = "공고";
1337
+ var waiting_for_all_students_to_complete_the_exam = "모든 학생이 시험을 종료 할 때 까지 기다리는 중입니다.";
1338
+ var created_at = "만들어진";
1339
+ var name_required = "이름은 필수입니다";
1340
+ var type_required = "유형은 필수 항목입니다";
1341
+ var link_required = "링크가 필요합니다";
1342
+ var create_and_continue = "만들고 계속하기";
1343
+ var content = "콘텐츠";
1344
+ var color = "색상";
1345
+ var link = "링크";
1346
+ var background = "배경";
1347
+ var you_have_already_attended = "이미 출석하였습니다";
1348
+ var check_attendance = "출석 체크하기";
1349
+ var attendance_check = "Attendance check";
1350
+ var class_date = "수업 날짜";
1351
+ var class_time = "수업 시간";
1352
+ var attendance = "출석";
1353
+ var attendance_completed = "출석 완료";
1354
+ var none_attendance = "미출석";
1274
1355
  var lang_ko = {
1275
1356
  problem_solving: problem_solving,
1276
1357
  my_story: my_story,
@@ -1290,6 +1371,9 @@ var lang_ko = {
1290
1371
  total_students: total_students,
1291
1372
  student: student,
1292
1373
  students: students,
1374
+ academy: academy,
1375
+ "class": "수업",
1376
+ "default": "기본",
1293
1377
  extra_time: extra_time,
1294
1378
  complete: complete,
1295
1379
  current_exam: current_exam,
@@ -1430,8 +1514,29 @@ var lang_ko = {
1430
1514
  not_allow_register: not_allow_register,
1431
1515
  credentials_invalid: credentials_invalid,
1432
1516
  role_is_invalid: role_is_invalid,
1517
+ today: today,
1433
1518
  "q&a": "질의응답",
1434
- user_is_disabled: user_is_disabled
1519
+ user_is_disabled: user_is_disabled,
1520
+ cover_image: cover_image,
1521
+ notification: notification,
1522
+ waiting_for_all_students_to_complete_the_exam: waiting_for_all_students_to_complete_the_exam,
1523
+ created_at: created_at,
1524
+ name_required: name_required,
1525
+ type_required: type_required,
1526
+ link_required: link_required,
1527
+ create_and_continue: create_and_continue,
1528
+ content: content,
1529
+ color: color,
1530
+ link: link,
1531
+ background: background,
1532
+ you_have_already_attended: you_have_already_attended,
1533
+ check_attendance: check_attendance,
1534
+ attendance_check: attendance_check,
1535
+ class_date: class_date,
1536
+ class_time: class_time,
1537
+ attendance: attendance,
1538
+ attendance_completed: attendance_completed,
1539
+ none_attendance: none_attendance
1435
1540
  };
1436
1541
 
1437
1542
  var problem_solving$1 = "Problem Solving";
@@ -1452,6 +1557,7 @@ var academy_name$1 = "Academy name";
1452
1557
  var total_students$1 = "Total students";
1453
1558
  var students$1 = "Students";
1454
1559
  var student$1 = "Student";
1560
+ var academy$1 = "Academy";
1455
1561
  var extra_time$1 = "Extra time";
1456
1562
  var complete$1 = "Complete";
1457
1563
  var current_exam$1 = "Current exam";
@@ -1537,7 +1643,7 @@ var full_name$1 = "Full name";
1537
1643
  var email$1 = "Email";
1538
1644
  var is_paid = "Is paid";
1539
1645
  var payment_time = "Payment time";
1540
- var create_and_continue = "Create and continue";
1646
+ var create_and_continue$1 = "Create and continue";
1541
1647
  var payments$1 = "Payments";
1542
1648
  var duration$1 = "Duration";
1543
1649
  var answer_count$1 = "Answer count";
@@ -1631,7 +1737,26 @@ var no_academies_available$1 = "No academies available";
1631
1737
  var not_allow_register$1 = "Not allow to register role";
1632
1738
  var credentials_invalid$1 = "Credentials is invalid";
1633
1739
  var role_is_invalid$1 = "Role is invalid";
1740
+ var today$1 = "TODAY";
1634
1741
  var user_is_disabled$1 = "User is disabled";
1742
+ var cover_image$1 = "Cover image";
1743
+ var notification$1 = "Notification";
1744
+ var waiting_for_all_students_to_complete_the_exam$1 = "Waiting for all students to complete the exam.";
1745
+ var created_at$1 = "Created";
1746
+ var name_required$1 = "Name is required";
1747
+ var type_required$1 = "Type is required";
1748
+ var content$1 = "Content";
1749
+ var color$1 = "Color";
1750
+ var link$1 = "Link";
1751
+ var background$1 = "Background";
1752
+ var you_have_already_attended$1 = "You have already attended";
1753
+ var check_attendance$1 = "Check attendance";
1754
+ var attendance_check$1 = "Attendance check";
1755
+ var class_date$1 = "Class date";
1756
+ var class_time$1 = "Class time";
1757
+ var attendance$1 = "Attendance";
1758
+ var attendance_completed$1 = "Attendance completed";
1759
+ var none_attendance$1 = "Non-attendance";
1635
1760
  var lang_en = {
1636
1761
  problem_solving: problem_solving$1,
1637
1762
  my_story: my_story$1,
@@ -1651,6 +1776,9 @@ var lang_en = {
1651
1776
  total_students: total_students$1,
1652
1777
  students: students$1,
1653
1778
  student: student$1,
1779
+ academy: academy$1,
1780
+ "class": "Class",
1781
+ "default": "Default",
1654
1782
  extra_time: extra_time$1,
1655
1783
  complete: complete$1,
1656
1784
  current_exam: current_exam$1,
@@ -1736,7 +1864,7 @@ var lang_en = {
1736
1864
  email: email$1,
1737
1865
  is_paid: is_paid,
1738
1866
  payment_time: payment_time,
1739
- create_and_continue: create_and_continue,
1867
+ create_and_continue: create_and_continue$1,
1740
1868
  payments: payments$1,
1741
1869
  duration: duration$1,
1742
1870
  answer_count: answer_count$1,
@@ -1827,8 +1955,27 @@ var lang_en = {
1827
1955
  not_allow_register: not_allow_register$1,
1828
1956
  credentials_invalid: credentials_invalid$1,
1829
1957
  role_is_invalid: role_is_invalid$1,
1958
+ today: today$1,
1830
1959
  "q&a": "Q&A",
1831
- user_is_disabled: user_is_disabled$1
1960
+ user_is_disabled: user_is_disabled$1,
1961
+ cover_image: cover_image$1,
1962
+ notification: notification$1,
1963
+ waiting_for_all_students_to_complete_the_exam: waiting_for_all_students_to_complete_the_exam$1,
1964
+ created_at: created_at$1,
1965
+ name_required: name_required$1,
1966
+ type_required: type_required$1,
1967
+ content: content$1,
1968
+ color: color$1,
1969
+ link: link$1,
1970
+ background: background$1,
1971
+ you_have_already_attended: you_have_already_attended$1,
1972
+ check_attendance: check_attendance$1,
1973
+ attendance_check: attendance_check$1,
1974
+ class_date: class_date$1,
1975
+ class_time: class_time$1,
1976
+ attendance: attendance$1,
1977
+ attendance_completed: attendance_completed$1,
1978
+ none_attendance: none_attendance$1
1832
1979
  };
1833
1980
 
1834
1981
  i18n.use(reactI18next.initReactI18next).init({
@@ -1965,26 +2112,6 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
1965
2112
  })));
1966
2113
  };
1967
2114
 
1968
- var ACADEMY_URL = BASE_URL + "/api/academy";
1969
- var SUPER_ADMIN_ACADEMY_URL = SUPER_ADMIN_BASE_URL + "/api/academies";
1970
- var getAcademyList = function getAcademyList(role) {
1971
- return api.get(SUPER_ADMIN_ACADEMY_URL + "/active", {
1972
- params: {
1973
- role: role
1974
- }
1975
- });
1976
- };
1977
- var getUserAcademies = function getUserAcademies(role) {
1978
- return api.get("" + ACADEMY_URL, {
1979
- params: {
1980
- role: role
1981
- }
1982
- });
1983
- };
1984
- var switchAcademy = function switchAcademy(academyId) {
1985
- return api.post(ACADEMY_URL + "/switch-academy?academyId=" + academyId);
1986
- };
1987
-
1988
2115
  var useSwitchAcademy = function useSwitchAcademy(role, navigate, homeAcademyUrl, homeUrl) {
1989
2116
  if (role === void 0) {
1990
2117
  role = exports.Role.Student;
@@ -2051,6 +2178,7 @@ var useSwitchAcademy = function useSwitchAcademy(role, navigate, homeAcademyUrl,
2051
2178
  try {
2052
2179
  var _temp5 = function _temp5() {
2053
2180
  isLoading && dispatch(setLoading(false));
2181
+ setDropdownOpen(false);
2054
2182
  };
2055
2183
  isLoading && dispatch(setLoading(true));
2056
2184
  var academyId = selectedAcademy ? selectedAcademy.id : 0;
@@ -3979,6 +4107,76 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
3979
4107
  }, [window.location.pathname, user === null || user === void 0 ? void 0 : user.academyDomain]);
3980
4108
  };
3981
4109
 
4110
+ var _excluded$4 = ["defaultValue", "options", "isDisabled", "scrollBottom", "value", "isMulti"];
4111
+ var DropdownIndicator$1 = function DropdownIndicator(props) {
4112
+ return React__default.createElement(Select.components.DropdownIndicator, Object.assign({}, props), React__default.createElement(fa.FaCaretDown, {
4113
+ color: "#5458D5"
4114
+ }));
4115
+ };
4116
+ var CustomOption$1 = function CustomOption(props) {
4117
+ return React__default.createElement(Select.components.Option, Object.assign({}, props), React__default.createElement("div", {
4118
+ style: {
4119
+ fontSize: "14px",
4120
+ fontWeight: 500
4121
+ }
4122
+ }, props.data.label));
4123
+ };
4124
+ var customStyles$1 = {
4125
+ control: function control(baseStyles, state) {
4126
+ return _extends({}, baseStyles, {
4127
+ fontSize: "14px",
4128
+ fontWeight: 700,
4129
+ color: "#5458D5",
4130
+ borderColor: state.isFocused ? '#5458D5' : '#C3C5FE'
4131
+ });
4132
+ },
4133
+ input: function input(baseStyles, _) {
4134
+ return _extends({}, baseStyles, {
4135
+ fontSize: "14px",
4136
+ fontWeight: 700,
4137
+ color: "#5458D5"
4138
+ });
4139
+ },
4140
+ singleValue: function singleValue(baseStyles) {
4141
+ return _extends({}, baseStyles, {
4142
+ fontSize: "14px",
4143
+ fontWeight: 700,
4144
+ color: "#5458D5"
4145
+ });
4146
+ }
4147
+ };
4148
+ var CustomSelectOption = function CustomSelectOption(_ref) {
4149
+ var defaultValue = _ref.defaultValue,
4150
+ options = _ref.options,
4151
+ isDisabled = _ref.isDisabled,
4152
+ scrollBottom = _ref.scrollBottom,
4153
+ value = _ref.value,
4154
+ isMulti = _ref.isMulti,
4155
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
4156
+ var _useTranslation = reactI18next.useTranslation(),
4157
+ t = _useTranslation.t;
4158
+ var initialValues = defaultValue !== null && typeof defaultValue !== "undefined" ? options.find(function (option) {
4159
+ return option.value === defaultValue;
4160
+ }) || null : null;
4161
+ return React__default.createElement(Select__default, Object.assign({
4162
+ isDisabled: isDisabled,
4163
+ options: options,
4164
+ value: value,
4165
+ defaultValue: initialValues,
4166
+ menuPlacement: scrollBottom ? "top" : "auto",
4167
+ isMulti: isMulti,
4168
+ components: {
4169
+ IndicatorSeparator: function IndicatorSeparator() {
4170
+ return null;
4171
+ },
4172
+ DropdownIndicator: DropdownIndicator$1,
4173
+ Option: CustomOption$1
4174
+ },
4175
+ styles: customStyles$1,
4176
+ placeholder: t("select_placeholder")
4177
+ }, rest));
4178
+ };
4179
+
3982
4180
  var historyCore = history.createBrowserHistory();
3983
4181
 
3984
4182
  exports.moment = moment;
@@ -4019,6 +4217,7 @@ exports.CustomAsyncSelect = CustomAsyncSelect;
4019
4217
  exports.CustomCreatable = CustomCreatable;
4020
4218
  exports.CustomPagination = CustomPagination;
4021
4219
  exports.CustomSelect = CustomSelect;
4220
+ exports.CustomSelectOption = CustomSelectOption;
4022
4221
  exports.DATE_MIN_VALUE = DATE_MIN_VALUE;
4023
4222
  exports.DATE_TIME_MIN_VALUE = DATE_TIME_MIN_VALUE;
4024
4223
  exports.EXAM_CHANNEL = EXAM_CHANNEL;