touchstudy-core 0.1.54 → 0.1.56

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.
package/dist/index.css CHANGED
@@ -174,32 +174,36 @@
174
174
  height: 100%;
175
175
  border-radius: 50%;
176
176
  -o-object-fit: cover;
177
- object-fit: cover; }
177
+ object-fit: cover;
178
+ border: 1px solid #DFE3E8; }
178
179
  @media (min-width: 992px) {
179
180
  ._2ibYC {
180
181
  margin-right: 12px; } }
181
182
 
182
183
  ._1JMRU {
184
+ border-radius: 0 !important;
185
+ border: 0;
183
186
  max-width: 268px;
184
- border: 1px solid #ebebff !important;
185
- border-radius: 50% !important;
186
- padding: 0px !important;
187
187
  min-width: unset !important;
188
+ margin: 0 !important;
189
+ padding: 8px !important;
188
190
  display: flex !important;
189
- justify-content: space-between !important; }
190
- @media (min-width: 992px) {
191
- ._1JMRU {
192
- border-radius: 6px !important;
193
- padding: 8px !important; } }
191
+ justify-content: space-between !important;
192
+ gap: 12px; }
193
+
194
+ ._1JMRU:hover {
195
+ background: none !important; }
194
196
 
195
197
  ._N4FNf {
196
198
  width: 34px;
197
199
  height: 34px;
198
200
  display: flex;
201
+ border-radius: 100%;
202
+ background-color: #FBFBF9;
199
203
  justify-content: center;
200
204
  align-items: center; }
201
205
  ._N4FNf svg {
202
- fill: #18442A; }
206
+ fill: #349056; }
203
207
 
204
208
  ._31Dr0 {
205
209
  width: 100%;
@@ -416,7 +420,7 @@
416
420
  ._3xnI5._1CQPn {
417
421
  display: flex;
418
422
  justify-content: space-between;
419
- padding: 0 27px 0 27px;
423
+ padding: 0 27px;
420
424
  border-bottom: 1px solid var(--gray-300); }
421
425
  ._3xnI5 ._3hx2T {
422
426
  text-align: start; }
@@ -427,18 +431,18 @@
427
431
  border-radius: 0; }
428
432
  ._3xnI5 a._1AqMh,
429
433
  ._3xnI5 a._1TGKA {
430
- color: #3DC674; }
434
+ color: #349056; }
431
435
  ._3xnI5 ._3UyhW {
432
436
  font-size: 14px;
433
437
  font-weight: 700;
434
438
  height: 100%;
435
- padding: 7px 12px;
439
+ padding: 8px 0px;
436
440
  display: inline-table;
437
441
  text-align: center;
438
442
  line-height: 4.5;
439
443
  color: #aeabac;
440
444
  display: flex;
441
- align-items: center; }
445
+ align-items: end; }
442
446
  ._3xnI5 ._2RI6G {
443
447
  width: unset;
444
448
  height: unset;
@@ -470,9 +474,7 @@
470
474
  display: flex;
471
475
  flex-wrap: nowrap; }
472
476
  ._3xnI5 ._3hx2T ._3UyhW div span {
473
- display: inline-block; }
474
- ._3xnI5 ._3UyhW {
475
- padding: 7px 16px; } }
477
+ display: inline-block; } }
476
478
 
477
479
  ._2oGcJ {
478
480
  width: 48px;
@@ -823,7 +825,8 @@
823
825
  height: 100%;
824
826
  border-radius: 50%;
825
827
  -o-object-fit: cover;
826
- object-fit: cover; }
828
+ object-fit: cover;
829
+ border: 1px solid #DFE3E8; }
827
830
 
828
831
  ._1dveO ._mxRxf:nth-child(1) {
829
832
  font-family: "Pretendard";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { setLoading, setAlert, setUser, setLanguage, setReFetchUserAcademies, setReadyRegisterPusher } from "./redux/commons/action";
2
- import { BASE_URL, SUPER_ADMIN_BASE_URL, ACCESS_TOKEN, PUSHER_CONFIG, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, ACADEMY_DOMAIN, getAcademyDomain, AcademyHeaders, Role } from "./utils/constants";
2
+ import { BASE_URL, SUPER_ADMIN_BASE_URL, ACCESS_TOKEN, PUSHER_CONFIG, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, ACADEMY_DOMAIN, getAcademyDomain, AcademyHeaders, Role, DefaultErrorMessage } from "./utils/constants";
3
3
  import utcToLocalTime from "./utils/utcToLocalTime";
4
4
  import Login from "./containers/Login/views/Login";
5
5
  import store from "./store";
@@ -64,4 +64,5 @@ import LoginWithPassword from './containers/Login/views/LoginWithPassword';
64
64
  import Header from "./layouts/Header";
65
65
  import { DEFAULT_PAGING_RESPONSE, PagingResponse } from "./utils/types/pagingResponse";
66
66
  import AcademyList from "./containers/Academies/views/AcademyList";
67
- export { diffFromNow, formatTime, utcToLocalTime, setLoading, setReadyRegisterPusher, BASE_URL, SUPER_ADMIN_BASE_URL, ACCESS_TOKEN, Login, store, setAlert, setUser, Loading, NotFound, LayoutContext, api, apiUpload, ConfirmDialog, CommonDialog, 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, LoginWithPassword, getAccessToken, ChatContainer, IChatContainerProps, IChatItemProps, IChatHeaderProps, IInputChatProps, ChatItemType, useChatContainer, ConversationResponse, usePusherConversation, ExamResultV2, ToastContainer, toast, Role, useLanguage, useSwitchAcademy, LANGUAGES, CustomCreatable, moment, ExamDetailView, ExamDetailViewProps, Exam, Question, ArticleGroup, getAcademyDomain, useSubjectSelect, useLogin, useAutoAcademyDomain, LoginAccessTokenRequest, LoginRequest, setReFetchUserAcademies, ChatTypes, AcademyHeaders, Types, Enums, CoreHooks, ArticleGroupView, AnswerCountSelector, QuestionCountSelector, ScoreSelector, ArticleCategorySelector, SubjectSelector, useCategorySelect, InputText, Textbook, TextbookDetail, TextbookList, timeUtils, Header, DEFAULT_PAGING_RESPONSE, PagingResponse, AcademyList };
67
+ import { getErrorMessage } from "./utils/getErrorMessage";
68
+ export { diffFromNow, formatTime, utcToLocalTime, setLoading, setReadyRegisterPusher, BASE_URL, SUPER_ADMIN_BASE_URL, ACCESS_TOKEN, Login, store, setAlert, setUser, Loading, NotFound, LayoutContext, api, apiUpload, ConfirmDialog, CommonDialog, 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, LoginWithPassword, getAccessToken, ChatContainer, IChatContainerProps, IChatItemProps, IChatHeaderProps, IInputChatProps, ChatItemType, useChatContainer, ConversationResponse, usePusherConversation, ExamResultV2, ToastContainer, toast, Role, useLanguage, useSwitchAcademy, LANGUAGES, CustomCreatable, moment, ExamDetailView, ExamDetailViewProps, Exam, Question, ArticleGroup, getAcademyDomain, useSubjectSelect, useLogin, useAutoAcademyDomain, LoginAccessTokenRequest, LoginRequest, setReFetchUserAcademies, ChatTypes, AcademyHeaders, Types, Enums, CoreHooks, ArticleGroupView, AnswerCountSelector, QuestionCountSelector, ScoreSelector, ArticleCategorySelector, SubjectSelector, useCategorySelect, InputText, Textbook, TextbookDetail, TextbookList, timeUtils, Header, DEFAULT_PAGING_RESPONSE, PagingResponse, AcademyList, getErrorMessage, DefaultErrorMessage };
package/dist/index.js CHANGED
@@ -24,11 +24,11 @@ var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
24
24
  var IconButton = _interopDefault(require('@mui/material/IconButton'));
25
25
  var go = require('react-icons/go');
26
26
  var reactToastify = require('react-toastify');
27
+ var io = require('react-icons/io');
27
28
  var Select = require('react-select');
28
29
  var Select__default = _interopDefault(Select);
29
30
  var fa = require('react-icons/fa');
30
31
  var pi = require('react-icons/pi');
31
- var io = require('react-icons/io');
32
32
  var _ = _interopDefault(require('lodash'));
33
33
  var fa6 = require('react-icons/fa6');
34
34
  var CreatableSelect = _interopDefault(require('react-select/creatable'));
@@ -71,7 +71,10 @@ var PUSHER_CONFIG = {
71
71
  };
72
72
  var ACCESS_TOKEN = "ACCESS_TOKEN";
73
73
  var ACADEMY_DOMAIN = "ACADEMY_DOMAIN";
74
+ var REDIRECT_URL = "REDIRECT_URL";
74
75
  var AcademyHeaders = "Academy-Headers";
76
+ var LanguageHeaders = "Accept-Language";
77
+ var DefaultErrorMessage = "an_unexpected_error_has_occurred";
75
78
  var DATE_MIN_VALUE = "0001-01-01T00:00:00+00:00";
76
79
  var DATE_TIME_MIN_VALUE = "0001-01-01T00:00:00";
77
80
  var EXAM_CHANNEL = "presence-exam-channel";
@@ -90,6 +93,13 @@ var getAcademyDomain = function getAcademyDomain() {
90
93
  return null;
91
94
  }
92
95
  };
96
+ var getRedirectUrl = function getRedirectUrl() {
97
+ try {
98
+ return localStorage.getItem(REDIRECT_URL);
99
+ } catch (err) {
100
+ return undefined;
101
+ }
102
+ };
93
103
  var encodeParams = function encodeParams(params) {
94
104
  return Object.keys(params).filter(function (key) {
95
105
  return params[key] || params[key] === 0 || params[key] === false;
@@ -394,15 +404,15 @@ var apiUpload = axios.create({
394
404
  var token = getAccessToken();
395
405
  var searchParams = new URLSearchParams(window.location.search);
396
406
  var paramDomain = searchParams.get('domain');
407
+ var paramLang = searchParams.get('lang');
397
408
  var academyDomainStorage = getAcademyDomain();
398
409
  var academyDomain = paramDomain || academyDomainStorage;
399
410
  if (token) {
400
411
  config.headers.Authorization = "Bearer " + token;
401
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
402
- }
403
- if (academyDomain && !config.headers[AcademyHeaders]) {
404
- config.headers[AcademyHeaders] = "" + academyDomain;
412
+ localStorage.setItem("LAST_TIME_REQUEST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
405
413
  }
414
+ if (academyDomain && !config.headers[AcademyHeaders]) config.headers[AcademyHeaders] = "" + academyDomain;
415
+ if (paramLang) config.headers[LanguageHeaders] = "" + paramLang;
406
416
  return config;
407
417
  }, function (error) {
408
418
  return Promise.reject(error);
@@ -412,11 +422,17 @@ var apiUpload = axios.create({
412
422
  return i.interceptors.response.use(function (response) {
413
423
  return response;
414
424
  }, function (error) {
415
- var _error$response, _error$response2;
425
+ var _error$response, _error$response2, _error$response3;
416
426
  console.log({
417
427
  error: error
418
428
  });
419
- if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 401 || ((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.status) == 403) {
429
+ if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 401) {
430
+ var _window$location = window.location,
431
+ pathname = _window$location.pathname,
432
+ search = _window$location.search;
433
+ if (!pathname.startsWith("/login")) localStorage.setItem(REDIRECT_URL, "" + pathname + search);
434
+ }
435
+ if (((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.status) === 401 || ((_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.status) == 403) {
420
436
  localStorage.removeItem(ACCESS_TOKEN);
421
437
  window.location.href = "/login";
422
438
  }
@@ -491,7 +507,15 @@ var pushTo = function pushTo(history, data) {
491
507
  if (history.push) history.push(data);else history(data);
492
508
  };
493
509
 
494
- var ERROR_MESSAGE = "request_login_fail";
510
+ var getErrorMessage = function getErrorMessage(t, error, defaultErrorMessage) {
511
+ var _error$response, _error$response$data, _error$response2, _error$response2$data;
512
+ var errorMessage = error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title;
513
+ if (typeof errorMessage === "string") return errorMessage;
514
+ errorMessage = (error === null || error === void 0 ? void 0 : error.message) || (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.message);
515
+ if (typeof errorMessage === "string") return errorMessage;
516
+ return defaultErrorMessage || t(DefaultErrorMessage);
517
+ };
518
+
495
519
  var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl) {
496
520
  var dispatch = reactRedux.useDispatch();
497
521
  var _useTranslation = reactI18next.useTranslation(),
@@ -572,14 +596,12 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
572
596
  user = loginResponse.user;
573
597
  var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
574
598
  var needToRegister = isStudent && isFirstLogin && isAcademy;
575
- var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
599
+ var redirectUrl = getRedirectUrl();
600
+ if (!redirectUrl) redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
576
601
  redirectLoginUser(user, token, redirectUrl);
577
602
  });
578
603
  }, function (error) {
579
- var _error$response, _error$response$data, _error$response2, _error$response2$data, _error$response3;
580
- var message = undefined;
581
- message = t((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.message) || (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) || (error === null || error === void 0 ? void 0 : (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.data) || ERROR_MESSAGE);
582
- message && alert(message);
604
+ alert(getErrorMessage(t, error));
583
605
  isLogout && handleSignOut();
584
606
  });
585
607
  return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
@@ -592,7 +614,10 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
592
614
  !data.academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
593
615
  !!data.academyDomain && localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
594
616
  dispatch(setUser(_extends({}, data)));
595
- if (redirectUrl) pushTo(history, redirectUrl);
617
+ if (redirectUrl) {
618
+ pushTo(history, redirectUrl);
619
+ localStorage.removeItem(REDIRECT_URL);
620
+ }
596
621
  };
597
622
  return {
598
623
  handleLoginGoogle: handleLoginGoogle,
@@ -2299,6 +2324,8 @@ var articles = "조항";
2299
2324
  var add_lesson = "레슨 추가";
2300
2325
  var date = "날짜";
2301
2326
  var the_code_has_been_copied_to_your_clipboard = "코드가 클립보드에 복사되었습니다.";
2327
+ var an_unexpected_error_has_occurred = "예상치 못한 오류가 발생했습니다";
2328
+ var select_roles = "역할 선택";
2302
2329
  var lang_ko = {
2303
2330
  problem_solving: problem_solving,
2304
2331
  my_story: my_story,
@@ -2810,7 +2837,9 @@ var lang_ko = {
2810
2837
  articles: articles,
2811
2838
  add_lesson: add_lesson,
2812
2839
  date: date,
2813
- the_code_has_been_copied_to_your_clipboard: the_code_has_been_copied_to_your_clipboard
2840
+ the_code_has_been_copied_to_your_clipboard: the_code_has_been_copied_to_your_clipboard,
2841
+ an_unexpected_error_has_occurred: an_unexpected_error_has_occurred,
2842
+ select_roles: select_roles
2814
2843
  };
2815
2844
 
2816
2845
  var problem_solving$1 = "Problem Solving";
@@ -3356,6 +3385,8 @@ var total_uses$1 = "Total Uses";
3356
3385
  var articles$1 = "Articles";
3357
3386
  var add_lesson$1 = "Add Lesson";
3358
3387
  var the_code_has_been_copied_to_your_clipboard$1 = "The code has been copied to your clipboard";
3388
+ var an_unexpected_error_has_occurred$1 = "An unexpected error has occurred";
3389
+ var select_roles$1 = "Select roles";
3359
3390
  var lang_en = {
3360
3391
  problem_solving: problem_solving$1,
3361
3392
  my_story: my_story$1,
@@ -3894,7 +3925,9 @@ var lang_en = {
3894
3925
  total_uses: total_uses$1,
3895
3926
  articles: articles$1,
3896
3927
  add_lesson: add_lesson$1,
3897
- the_code_has_been_copied_to_your_clipboard: the_code_has_been_copied_to_your_clipboard$1
3928
+ the_code_has_been_copied_to_your_clipboard: the_code_has_been_copied_to_your_clipboard$1,
3929
+ an_unexpected_error_has_occurred: an_unexpected_error_has_occurred$1,
3930
+ select_roles: select_roles$1
3898
3931
  };
3899
3932
 
3900
3933
  i18n.use(reactI18next.initReactI18next).init({
@@ -4118,7 +4151,10 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
4118
4151
  history = _ref.history,
4119
4152
  homeAcademyUrl = _ref.homeAcademyUrl,
4120
4153
  homeUrl = _ref.homeUrl,
4154
+ onSignOut = _ref.onSignOut,
4121
4155
  hideAcademyName = _ref.hideAcademyName;
4156
+ var theme = material.useTheme();
4157
+ var isLargerThanLg = material.useMediaQuery(theme.breakpoints.up("lg"));
4122
4158
  var _useSwitchAcademy = useSwitchAcademy(role, history, homeAcademyUrl, homeUrl),
4123
4159
  academyList = _useSwitchAcademy.academyList,
4124
4160
  handleSwitchAcademy = _useSwitchAcademy.handleSwitchAcademy,
@@ -4159,18 +4195,19 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
4159
4195
  }, selectedAcademy !== null && selectedAcademy !== void 0 && selectedAcademy.image ? React__default.createElement("img", {
4160
4196
  src: selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.image,
4161
4197
  alt: selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.name
4162
- }) : React__default.createElement("span", null, firstLetter)), !hideAcademyName && React__default.createElement(material.Typography, {
4163
- className: "text-start d-none d-lg-block",
4198
+ }) : React__default.createElement("span", null, firstLetter)), !hideAcademyName && isLargerThanLg && React__default.createElement(material.Typography, {
4199
+ className: "text-start",
4164
4200
  sx: {
4165
4201
  fontSize: 14,
4166
4202
  fontWeight: 600,
4167
- color: styles.dark,
4203
+ color: styles.gray_900,
4168
4204
  minWidth: 150
4169
4205
  }
4170
4206
  }, (selectedAcademy === null || selectedAcademy === void 0 ? void 0 : selectedAcademy.name) || t(role === exports.Role.Admin ? "switch_academy_admin" : "switch_academy")), React__default.createElement("div", {
4171
- className: styles["switch-icon"] + " d-none d-lg-flex"
4207
+ className: "" + styles["switch-icon"]
4172
4208
  }, React__default.createElement(go.GoArrowSwitch, {
4173
- size: 14
4209
+ size: 14,
4210
+ color: styles.gray_900
4174
4211
  }))), (isSuperAdmin || !isAdmin) && React__default.createElement(Popover, {
4175
4212
  open: !!open,
4176
4213
  anchorEl: open,
@@ -4219,7 +4256,27 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
4219
4256
  alt: option.name,
4220
4257
  src: option.image
4221
4258
  }) : React__default.createElement("span", null, (_option$name$charAt = option.name.charAt(0)) === null || _option$name$charAt === void 0 ? void 0 : _option$name$charAt.toUpperCase())), option.name);
4222
- })));
4259
+ }), React__default.createElement(MenuItemCustom, null, React__default.createElement(material.Stack, {
4260
+ display: "flex",
4261
+ gap: "8px",
4262
+ width: "100%",
4263
+ flexDirection: "row",
4264
+ justifyContent: "center",
4265
+ alignItems: "center",
4266
+ className: "" + styles["userImg"],
4267
+ onClick: onSignOut
4268
+ }, React__default.createElement(io.IoIosLogOut, {
4269
+ size: 24,
4270
+ color: "#000"
4271
+ }), React__default.createElement(material.Typography, {
4272
+ sx: {
4273
+ typography: "body2",
4274
+ p: "8px",
4275
+ borderRadius: "4px",
4276
+ fontSize: 14,
4277
+ fontWeight: 700
4278
+ }
4279
+ }, t("logout"))))));
4223
4280
  };
4224
4281
 
4225
4282
  var minutesToTimeSpan = (function (time) {
@@ -8205,13 +8262,10 @@ var CustomSelectOption = function CustomSelectOption(_ref) {
8205
8262
  var initialValues = defaultValue !== null && typeof defaultValue !== "undefined" ? options.find(function (option) {
8206
8263
  return option.value === defaultValue;
8207
8264
  }) || null : null;
8208
- var optionValue = value !== null && typeof value !== "undefined" ? options.find(function (option) {
8209
- return option.value === value;
8210
- }) || null : null;
8211
8265
  return React__default.createElement(Select__default, Object.assign({
8212
8266
  isDisabled: isDisabled,
8213
8267
  options: options,
8214
- value: optionValue,
8268
+ value: value,
8215
8269
  defaultValue: initialValues,
8216
8270
  menuPlacement: scrollBottom ? "top" : "auto",
8217
8271
  isMulti: isMulti,
@@ -14326,22 +14380,31 @@ var Header = function Header(_ref) {
14326
14380
  }
14327
14381
  }, [isTeacher, language]);
14328
14382
  var pathname = location.pathname.toLowerCase();
14329
- return React__default.createElement("div", {
14330
- className: "col-sm-12 col-xl-12 " + styles["tabBox"] + " " + styles["headers"]
14331
- }, React__default.createElement(reactRouterDom.Link, {
14332
- "aria-current": "page",
14333
- to: homeRoute.path,
14334
- className: "border-none"
14383
+ return React__default.createElement(material.Stack, {
14384
+ width: "100%",
14385
+ display: "flex",
14386
+ flexDirection: "row",
14387
+ gap: "24px",
14388
+ className: styles["tabBox"] + " " + styles["headers"]
14335
14389
  }, React__default.createElement(material.Stack, {
14390
+ padding: "10px 0",
14391
+ display: "flex",
14336
14392
  justifyContent: "center",
14337
- height: "100%",
14338
- className: styles["logo"] + " d-none d-lg-flex"
14339
- }, logo), React__default.createElement(material.Stack, {
14340
- justifyContent: "center",
14341
- height: "100%",
14342
- className: styles["logo"] + " d-flex d-lg-none"
14343
- }, React__default.createElement(singleLogo, null))), React__default.createElement("div", {
14344
- className: styles["routerBox"] + " d-flex flex-grow-1 flex-nowrap px-3"
14393
+ alignItems: "center"
14394
+ }, React__default.createElement(TheAcademyDropdown, {
14395
+ homeAcademyUrl: academyListRoute.path,
14396
+ homeUrl: homeRoute.path,
14397
+ role: role,
14398
+ history: history,
14399
+ hideAcademyName: !isLargerThanXL && headerTabs.length > 6,
14400
+ onSignOut: onSignOut
14401
+ })), React__default.createElement(material.Stack, {
14402
+ display: "flex",
14403
+ flexGrow: 1,
14404
+ flexWrap: "nowrap",
14405
+ flexDirection: "row",
14406
+ gap: '12px',
14407
+ className: "" + styles["routerBox"]
14345
14408
  }, headerTabs.map(function (_ref2) {
14346
14409
  var path = _ref2.path,
14347
14410
  icon = _ref2.icon,
@@ -14354,7 +14417,7 @@ var Header = function Header(_ref) {
14354
14417
  to: !academyDomain && !isMain ? "#" : path,
14355
14418
  className: "text-decoration-none " + ((activePaths !== null && activePaths !== void 0 && activePaths.length ? activePaths.some(function (a) {
14356
14419
  return pathname.startsWith(a);
14357
- }) : pathname.startsWith(path)) ? styles["router-link-active"] + " " + styles["router-link-exact-active"] : "") + " " + styles["tabText"] + " " + (!academyDomain && !isMain ? styles["disabled-link"] : "")
14420
+ }) : pathname.startsWith(path)) ? "" + styles["router-link-active"] : "") + " " + styles["tabText"] + " " + (!academyDomain && !isMain ? styles["disabled-link"] : "")
14358
14421
  }, React__default.createElement(material.Stack, {
14359
14422
  sx: {
14360
14423
  justifyContent: "center",
@@ -14363,43 +14426,39 @@ var Header = function Header(_ref) {
14363
14426
  textOverflow: "ellipsis",
14364
14427
  overflow: "hidden",
14365
14428
  display: "flex",
14366
- flexWrap: "nowrap"
14429
+ flexWrap: "nowrap",
14430
+ padding: activePaths !== null && activePaths !== void 0 && activePaths.some(function (a) {
14431
+ return pathname.startsWith(a);
14432
+ }) || pathname.startsWith(path) ? "6px 12px" : "6px 24px"
14433
+ }
14434
+ }, icon, React__default.createElement(material.Typography, {
14435
+ sx: {
14436
+ textWrap: "nowrap",
14437
+ fontWeight: 700,
14438
+ fontSize: "14px",
14439
+ display: activePaths !== null && activePaths !== void 0 && activePaths.some(function (a) {
14440
+ return pathname.startsWith(a);
14441
+ }) || pathname.startsWith(path) ? 'block' : 'none'
14367
14442
  }
14368
- }, icon, React__default.createElement("span", {
14369
- className: "text-nowrap"
14370
- }, isLargerThanXL || headerTabs.length < 4 ? t(label) : ellipsisText(t(label), 4))));
14443
+ }, t(label))));
14371
14444
  })), React__default.createElement(material.Stack, {
14372
14445
  direction: "row",
14373
14446
  alignItems: "center"
14374
- }, React__default.createElement(material.Typography, {
14375
- color: styles.dark,
14376
- className: "fw-bold me-2 text-nowrap",
14377
- sx: {
14378
- minWidth: "60px",
14379
- maxWidth: "120px",
14380
- overflow: "hidden",
14381
- textOverflow: "ellipsis"
14382
- }
14383
- }, user === null || user === void 0 ? void 0 : user.fullName), React__default.createElement("div", null, React__default.createElement(TheAcademyDropdown, {
14384
- homeAcademyUrl: academyListRoute.path,
14385
- homeUrl: homeRoute.path,
14386
- role: role,
14387
- history: history,
14388
- hideAcademyName: !isLargerThanXL && headerTabs.length > 6
14389
- })), React__default.createElement("div", {
14390
- className: "me-2"
14391
- }, React__default.createElement(TheLanguageDropdown, null)), React__default.createElement("div", {
14392
- className: styles["userImg"] + " d-none d-md-none d-lg-block",
14393
- onClick: onSignOut
14394
- }, React__default.createElement("p", {
14395
- className: "text-nowrap mb-0"
14396
- }, t("logout"))), React__default.createElement("div", {
14397
- className: styles["userImg"] + " d-block d-md-block d-lg-none",
14398
- onClick: onSignOut
14399
- }, React__default.createElement(io.IoIosLogOut, {
14400
- size: 24,
14401
- color: "#959595"
14402
- }))));
14447
+ }, React__default.createElement(reactRouterDom.Link, {
14448
+ "aria-current": "page",
14449
+ to: homeRoute.path,
14450
+ className: "border-none"
14451
+ }, React__default.createElement(material.Stack, {
14452
+ justifyContent: "center",
14453
+ height: "100%",
14454
+ className: styles["logo"] + " d-none d-lg-flex"
14455
+ }, logo), React__default.createElement(material.Stack, {
14456
+ justifyContent: "center",
14457
+ height: "100%",
14458
+ className: styles["logo"] + " d-flex d-lg-none"
14459
+ }, React__default.createElement(singleLogo, null))), React__default.createElement("div", {
14460
+ className: "me-2 d-none"
14461
+ }, React__default.createElement(TheLanguageDropdown, null))));
14403
14462
  };
14404
14463
 
14405
14464
  var ACADEMY_URL$1 = BASE_URL + "/api/academy";
@@ -14598,6 +14657,7 @@ exports.CustomSelectOption = CustomSelectOption;
14598
14657
  exports.DATE_MIN_VALUE = DATE_MIN_VALUE;
14599
14658
  exports.DATE_TIME_MIN_VALUE = DATE_TIME_MIN_VALUE;
14600
14659
  exports.DEFAULT_PAGING_RESPONSE = DEFAULT_PAGING_RESPONSE;
14660
+ exports.DefaultErrorMessage = DefaultErrorMessage;
14601
14661
  exports.EXAM_CHANNEL = EXAM_CHANNEL;
14602
14662
  exports.EXAM_STUDENT_CHANNEL = EXAM_STUDENT_CHANNEL;
14603
14663
  exports.Enums = index;
@@ -14629,6 +14689,7 @@ exports.diffFromNow = diffFromNow;
14629
14689
  exports.formatTime = formatTime;
14630
14690
  exports.getAcademyDomain = getAcademyDomain;
14631
14691
  exports.getAccessToken = getAccessToken$1;
14692
+ exports.getErrorMessage = getErrorMessage;
14632
14693
  exports.i18n = i18n;
14633
14694
  exports.minutesToTimeSpan = minutesToTimeSpan;
14634
14695
  exports.setAlert = setAlert;