touchstudy-core 0.1.55 → 0.1.57

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
@@ -67,6 +67,7 @@
67
67
  ._1krbH ._RQaHE img {
68
68
  width: 40px;
69
69
  height: 40px;
70
+ min-width: 40px;
70
71
  border-radius: 50%; }
71
72
 
72
73
  ._1krbH ._XK8oS {
@@ -158,6 +159,7 @@
158
159
  ._2ibYC {
159
160
  width: 40px;
160
161
  height: 40px;
162
+ min-width: 40px;
161
163
  border-radius: 50%;
162
164
  display: flex;
163
165
  justify-content: center;
@@ -174,32 +176,36 @@
174
176
  height: 100%;
175
177
  border-radius: 50%;
176
178
  -o-object-fit: cover;
177
- object-fit: cover; }
179
+ object-fit: cover;
180
+ border: 1px solid #DFE3E8; }
178
181
  @media (min-width: 992px) {
179
182
  ._2ibYC {
180
183
  margin-right: 12px; } }
181
184
 
182
185
  ._1JMRU {
186
+ border-radius: 0 !important;
187
+ border: 0;
183
188
  max-width: 268px;
184
- border: 1px solid #ebebff !important;
185
- border-radius: 50% !important;
186
- padding: 0px !important;
187
189
  min-width: unset !important;
190
+ margin: 0 !important;
191
+ padding: 8px !important;
188
192
  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; } }
193
+ justify-content: space-between !important;
194
+ gap: 12px; }
195
+
196
+ ._1JMRU:hover {
197
+ background: none !important; }
194
198
 
195
199
  ._N4FNf {
196
200
  width: 34px;
197
201
  height: 34px;
198
202
  display: flex;
203
+ border-radius: 100%;
204
+ background-color: #FBFBF9;
199
205
  justify-content: center;
200
206
  align-items: center; }
201
207
  ._N4FNf svg {
202
- fill: #18442A; }
208
+ fill: #349056; }
203
209
 
204
210
  ._31Dr0 {
205
211
  width: 100%;
@@ -416,7 +422,7 @@
416
422
  ._3xnI5._1CQPn {
417
423
  display: flex;
418
424
  justify-content: space-between;
419
- padding: 0 27px 0 27px;
425
+ padding: 0 27px;
420
426
  border-bottom: 1px solid var(--gray-300); }
421
427
  ._3xnI5 ._3hx2T {
422
428
  text-align: start; }
@@ -427,18 +433,18 @@
427
433
  border-radius: 0; }
428
434
  ._3xnI5 a._1AqMh,
429
435
  ._3xnI5 a._1TGKA {
430
- color: #3DC674; }
436
+ color: #349056; }
431
437
  ._3xnI5 ._3UyhW {
432
438
  font-size: 14px;
433
439
  font-weight: 700;
434
440
  height: 100%;
435
- padding: 7px 12px;
441
+ padding: 8px 0px;
436
442
  display: inline-table;
437
443
  text-align: center;
438
444
  line-height: 4.5;
439
445
  color: #aeabac;
440
446
  display: flex;
441
- align-items: center; }
447
+ align-items: end; }
442
448
  ._3xnI5 ._2RI6G {
443
449
  width: unset;
444
450
  height: unset;
@@ -470,9 +476,7 @@
470
476
  display: flex;
471
477
  flex-wrap: nowrap; }
472
478
  ._3xnI5 ._3hx2T ._3UyhW div span {
473
- display: inline-block; }
474
- ._3xnI5 ._3UyhW {
475
- padding: 7px 16px; } }
479
+ display: inline-block; } }
476
480
 
477
481
  ._2oGcJ {
478
482
  width: 48px;
@@ -823,7 +827,8 @@
823
827
  height: 100%;
824
828
  border-radius: 50%;
825
829
  -o-object-fit: cover;
826
- object-fit: cover; }
830
+ object-fit: cover;
831
+ border: 1px solid #DFE3E8; }
827
832
 
828
833
  ._1dveO ._mxRxf:nth-child(1) {
829
834
  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) {
@@ -14323,22 +14380,31 @@ var Header = function Header(_ref) {
14323
14380
  }
14324
14381
  }, [isTeacher, language]);
14325
14382
  var pathname = location.pathname.toLowerCase();
14326
- return React__default.createElement("div", {
14327
- className: "col-sm-12 col-xl-12 " + styles["tabBox"] + " " + styles["headers"]
14328
- }, React__default.createElement(reactRouterDom.Link, {
14329
- "aria-current": "page",
14330
- to: homeRoute.path,
14331
- 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"]
14332
14389
  }, React__default.createElement(material.Stack, {
14390
+ padding: "10px 0",
14391
+ display: "flex",
14333
14392
  justifyContent: "center",
14334
- height: "100%",
14335
- className: styles["logo"] + " d-none d-lg-flex"
14336
- }, logo), React__default.createElement(material.Stack, {
14337
- justifyContent: "center",
14338
- height: "100%",
14339
- className: styles["logo"] + " d-flex d-lg-none"
14340
- }, React__default.createElement(singleLogo, null))), React__default.createElement("div", {
14341
- 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"]
14342
14408
  }, headerTabs.map(function (_ref2) {
14343
14409
  var path = _ref2.path,
14344
14410
  icon = _ref2.icon,
@@ -14351,7 +14417,7 @@ var Header = function Header(_ref) {
14351
14417
  to: !academyDomain && !isMain ? "#" : path,
14352
14418
  className: "text-decoration-none " + ((activePaths !== null && activePaths !== void 0 && activePaths.length ? activePaths.some(function (a) {
14353
14419
  return pathname.startsWith(a);
14354
- }) : 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"] : "")
14355
14421
  }, React__default.createElement(material.Stack, {
14356
14422
  sx: {
14357
14423
  justifyContent: "center",
@@ -14360,43 +14426,39 @@ var Header = function Header(_ref) {
14360
14426
  textOverflow: "ellipsis",
14361
14427
  overflow: "hidden",
14362
14428
  display: "flex",
14363
- 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"
14364
14433
  }
14365
- }, icon, React__default.createElement("span", {
14366
- className: "text-nowrap"
14367
- }, isLargerThanXL || headerTabs.length < 4 ? t(label) : ellipsisText(t(label), 4))));
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'
14442
+ }
14443
+ }, t(label))));
14368
14444
  })), React__default.createElement(material.Stack, {
14369
14445
  direction: "row",
14370
14446
  alignItems: "center"
14371
- }, React__default.createElement(material.Typography, {
14372
- color: styles.dark,
14373
- className: "fw-bold me-2 text-nowrap",
14374
- sx: {
14375
- minWidth: "60px",
14376
- maxWidth: "120px",
14377
- overflow: "hidden",
14378
- textOverflow: "ellipsis"
14379
- }
14380
- }, user === null || user === void 0 ? void 0 : user.fullName), React__default.createElement("div", null, React__default.createElement(TheAcademyDropdown, {
14381
- homeAcademyUrl: academyListRoute.path,
14382
- homeUrl: homeRoute.path,
14383
- role: role,
14384
- history: history,
14385
- hideAcademyName: !isLargerThanXL && headerTabs.length > 6
14386
- })), React__default.createElement("div", {
14387
- className: "me-2"
14388
- }, React__default.createElement(TheLanguageDropdown, null)), React__default.createElement("div", {
14389
- className: styles["userImg"] + " d-none d-md-none d-lg-block",
14390
- onClick: onSignOut
14391
- }, React__default.createElement("p", {
14392
- className: "text-nowrap mb-0"
14393
- }, t("logout"))), React__default.createElement("div", {
14394
- className: styles["userImg"] + " d-block d-md-block d-lg-none",
14395
- onClick: onSignOut
14396
- }, React__default.createElement(io.IoIosLogOut, {
14397
- size: 24,
14398
- color: "#959595"
14399
- }))));
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))));
14400
14462
  };
14401
14463
 
14402
14464
  var ACADEMY_URL$1 = BASE_URL + "/api/academy";
@@ -14595,6 +14657,7 @@ exports.CustomSelectOption = CustomSelectOption;
14595
14657
  exports.DATE_MIN_VALUE = DATE_MIN_VALUE;
14596
14658
  exports.DATE_TIME_MIN_VALUE = DATE_TIME_MIN_VALUE;
14597
14659
  exports.DEFAULT_PAGING_RESPONSE = DEFAULT_PAGING_RESPONSE;
14660
+ exports.DefaultErrorMessage = DefaultErrorMessage;
14598
14661
  exports.EXAM_CHANNEL = EXAM_CHANNEL;
14599
14662
  exports.EXAM_STUDENT_CHANNEL = EXAM_STUDENT_CHANNEL;
14600
14663
  exports.Enums = index;
@@ -14626,6 +14689,7 @@ exports.diffFromNow = diffFromNow;
14626
14689
  exports.formatTime = formatTime;
14627
14690
  exports.getAcademyDomain = getAcademyDomain;
14628
14691
  exports.getAccessToken = getAccessToken$1;
14692
+ exports.getErrorMessage = getErrorMessage;
14629
14693
  exports.i18n = i18n;
14630
14694
  exports.minutesToTimeSpan = minutesToTimeSpan;
14631
14695
  exports.setAlert = setAlert;