touchstudy-core 0.1.88 → 0.1.90
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/components/Alerts/ReleaseAlert.d.ts +3 -0
- package/dist/components/Alerts/index.d.ts +2 -0
- package/dist/configs/constants.d.ts +1 -0
- package/dist/containers/Classes/components/StudentList.d.ts +1 -1
- package/dist/containers/Classes/hooks/useClassDetail.d.ts +8 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +102 -21
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +102 -22
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -0
- package/package.json +1 -1
@@ -9,7 +9,7 @@ interface Props {
|
|
9
9
|
t: any;
|
10
10
|
selectedStudent: StudentClassResponse | undefined;
|
11
11
|
textSearchRef: RefObject<HTMLInputElement> | null;
|
12
|
-
|
12
|
+
isOneRoleExists?: boolean;
|
13
13
|
handleOpenDeleteClassDialog: (value: StudentClassResponse) => void;
|
14
14
|
handleCloseConfirmDialog: () => void;
|
15
15
|
handleSort: (key: UserClassSortBy) => void;
|
@@ -4,9 +4,14 @@ import _ from "lodash";
|
|
4
4
|
import { ChangeEvent } from "react";
|
5
5
|
import { ClassResponse, StudentClassResponse, TeacherClassResponse, ClassRequest, LessonRequest } from "../configs/types";
|
6
6
|
import { PagingResponse } from "../../../utils/types/pagingResponse";
|
7
|
+
import { Role } from "../../..";
|
7
8
|
import { UserSortColumn } from "../../../utils/enums";
|
8
9
|
declare type DialogOpenType = "Student" | "Teacher" | "Lesson";
|
9
|
-
declare const useClassDetail: (history
|
10
|
+
declare const useClassDetail: ({ history, id, role }: {
|
11
|
+
history: any;
|
12
|
+
id?: string | undefined;
|
13
|
+
role: Role;
|
14
|
+
}) => {
|
10
15
|
id: string | undefined;
|
11
16
|
schema: import("yup").ObjectSchema<{
|
12
17
|
name: string;
|
@@ -25,6 +30,7 @@ declare const useClassDetail: (history: any, id?: string | undefined) => {
|
|
25
30
|
mainTeacherId: undefined;
|
26
31
|
courseWeeklyDays: "";
|
27
32
|
}, "">;
|
33
|
+
isAdmin: boolean;
|
28
34
|
paging: PagingResponse;
|
29
35
|
filter: import("../../../utils/types/searchQuery").BaseSearchQuery<UserSortColumn>;
|
30
36
|
listUserSelected: number[];
|
@@ -43,6 +49,7 @@ declare const useClassDetail: (history: any, id?: string | undefined) => {
|
|
43
49
|
course: ClassResponse | undefined;
|
44
50
|
userList: StudentClassResponse[] | TeacherClassResponse[];
|
45
51
|
teacherOptions: import("../configs/types").TeacherSimpleResponse[];
|
52
|
+
isOneRoleExists: boolean;
|
46
53
|
studentListProps: {
|
47
54
|
paging: PagingResponse;
|
48
55
|
classList: StudentClassResponse[];
|
package/dist/index.d.ts
CHANGED
@@ -83,4 +83,5 @@ import ClassDetail from "./containers/Classes/views/ClassDetail";
|
|
83
83
|
import UserList from "./containers/Users/views/UserList";
|
84
84
|
import NotificationDetail from "./containers/Notifications/views/NotificationDetail";
|
85
85
|
import NotificationList from "./containers/Notifications/views/NotificationList";
|
86
|
+
export * from "./components/Alerts";
|
86
87
|
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, LoginWithEmail, NotificationList, CustomPagination, useGoogleSignOut, RecentUserAction, PUSHER_CONFIG, ExamEvent, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, setLanguage, i18n, TheLanguageDropdown, PrintExamView2, TheAcademyDropdown, useTranslation, I18nextProvider, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, ACADEMY_DOMAIN, minutesToTimeSpan, toISOString, canAccessRoute, CustomSelect, NotificationDetail, CustomAsyncSelect, CustomSelectOption, LoginWithPassword, getRecentUserActionListApi, getAccessToken, ChatContainer, getOrdinalSuffix, 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, createRecentUserActionListApi, LoginAccessTokenRequest, LoginRequest, setReFetchUserAcademies, ChatTypes, AcademyHeaders, Types, Enums, CoreHooks, Language, ArticleGroupView, AnswerCountSelector, QuestionCountSelector, ScoreSelector, ArticleCategorySelector, SubjectSelector, useCategorySelect, InputText, Textbook, TextbookDetail, TextbookList, timeUtils, Header, DEFAULT_PAGING_RESPONSE, PagingResponse, AcademyList, getErrorMessage, DefaultErrorMessage, useCountDownTimer, useLoadMore, useVirtualizeList, PassCodeCheck, PassCodeCheckProps, LoadingComponent, PrintExamResultView, checkSuperUrl, ClassList, ClassDetail, formatRole, getRole, UserList };
|
package/dist/index.js
CHANGED
@@ -87,6 +87,7 @@ var PUSHER_CONFIG = {
|
|
87
87
|
cluster: process.env.REACT_APP_PUSHER_CONFIG_CLUSTER || "",
|
88
88
|
key: process.env.REACT_APP_PUSHER_CONFIG_KEY || ""
|
89
89
|
};
|
90
|
+
var RELEASE_DATE = process.env.REACT_APP_RELEASE_VERSION || "";
|
90
91
|
var ACCESS_TOKEN = "ACCESS_TOKEN";
|
91
92
|
var ACADEMY_DOMAIN = "ACADEMY_DOMAIN";
|
92
93
|
var REDIRECT_URL = "REDIRECT_URL";
|
@@ -1185,6 +1186,7 @@ var LANGUAGES = [{
|
|
1185
1186
|
momentLangCode: "en-au"
|
1186
1187
|
}];
|
1187
1188
|
var DEFAULT_LANGUAGE = LANGUAGES[0];
|
1189
|
+
var LOGIN_URL = "/login";
|
1188
1190
|
|
1189
1191
|
var getLanguage = (function () {
|
1190
1192
|
try {
|
@@ -1226,7 +1228,9 @@ var useLanguage = function useLanguage(history) {
|
|
1226
1228
|
moment.locale(languageItem.momentLangCode);
|
1227
1229
|
localStorage.setItem(LANGUAGE, languageItem.code);
|
1228
1230
|
dispatch(setLanguage(languageItem.code));
|
1229
|
-
|
1231
|
+
if (window.location.pathname === LOGIN_URL) {
|
1232
|
+
if (RELEASE_DATE) return;else searchParams["delete"]("lang");
|
1233
|
+
} else searchParams.set("lang", languageItem.code);
|
1230
1234
|
pushTo(history, _extends({}, window.location, {
|
1231
1235
|
search: searchParams.toString()
|
1232
1236
|
}), true);
|
@@ -2947,6 +2951,9 @@ var total_exam = "총 시험 수";
|
|
2947
2951
|
var total_exam_time = "총 시험 시간";
|
2948
2952
|
var total_question = "총 질문 수";
|
2949
2953
|
var the_exam_code_you_are_looking_for_was_not_found = "찾고 있는 시험 코드를 찾을 수 없습니다";
|
2954
|
+
var view_user = "사용자 보기";
|
2955
|
+
var exam_code = "시험 코드";
|
2956
|
+
var version = "버전";
|
2950
2957
|
var lang_ko = {
|
2951
2958
|
problem_solving: problem_solving,
|
2952
2959
|
my_story: my_story,
|
@@ -3746,7 +3753,10 @@ var lang_ko = {
|
|
3746
3753
|
total_exam: total_exam,
|
3747
3754
|
total_exam_time: total_exam_time,
|
3748
3755
|
total_question: total_question,
|
3749
|
-
the_exam_code_you_are_looking_for_was_not_found: the_exam_code_you_are_looking_for_was_not_found
|
3756
|
+
the_exam_code_you_are_looking_for_was_not_found: the_exam_code_you_are_looking_for_was_not_found,
|
3757
|
+
view_user: view_user,
|
3758
|
+
exam_code: exam_code,
|
3759
|
+
version: version
|
3750
3760
|
};
|
3751
3761
|
|
3752
3762
|
var problem_solving$1 = "Problem Solving";
|
@@ -4556,6 +4566,9 @@ var total_exam$1 = "Total Exam";
|
|
4556
4566
|
var total_exam_time$1 = "Total Exam Time";
|
4557
4567
|
var total_question$1 = "Total Question";
|
4558
4568
|
var the_exam_code_you_are_looking_for_was_not_found$1 = "The exam code you are looking for was not found";
|
4569
|
+
var view_user$1 = "View User";
|
4570
|
+
var exam_code$1 = "exam code";
|
4571
|
+
var version$1 = "Version";
|
4559
4572
|
var lang_en = {
|
4560
4573
|
problem_solving: problem_solving$1,
|
4561
4574
|
my_story: my_story$1,
|
@@ -5356,7 +5369,10 @@ var lang_en = {
|
|
5356
5369
|
total_exam: total_exam$1,
|
5357
5370
|
total_exam_time: total_exam_time$1,
|
5358
5371
|
total_question: total_question$1,
|
5359
|
-
the_exam_code_you_are_looking_for_was_not_found: the_exam_code_you_are_looking_for_was_not_found$1
|
5372
|
+
the_exam_code_you_are_looking_for_was_not_found: the_exam_code_you_are_looking_for_was_not_found$1,
|
5373
|
+
view_user: view_user$1,
|
5374
|
+
exam_code: exam_code$1,
|
5375
|
+
version: version$1
|
5360
5376
|
};
|
5361
5377
|
|
5362
5378
|
i18n__default.use(reactI18next.initReactI18next).init({
|
@@ -10694,6 +10710,7 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
|
|
10694
10710
|
academyDomain = _ref.academyDomain;
|
10695
10711
|
var pathname = window.location.pathname;
|
10696
10712
|
var changeAcademySearchParams = function changeAcademySearchParams() {
|
10713
|
+
var isLoginPage = LOGIN_URL === pathname;
|
10697
10714
|
var search = window.location.search;
|
10698
10715
|
var searchParams = new URLSearchParams(search);
|
10699
10716
|
var paramAcademyDomain = searchParams.get("domain");
|
@@ -10702,6 +10719,9 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
|
|
10702
10719
|
var isSuperUrl = checkSuperUrl(superUrls, pathname);
|
10703
10720
|
if (!academyDomain) {
|
10704
10721
|
if (!isSuperUrl) {
|
10722
|
+
if (isLoginPage) {
|
10723
|
+
if (RELEASE_DATE) return;else searchParams["delete"]("domain");
|
10724
|
+
}
|
10705
10725
|
!paramAcademyDomain && domain && searchParams.set("domain", domain);
|
10706
10726
|
pushTo(history, {
|
10707
10727
|
pathname: homeUrl,
|
@@ -10730,6 +10750,9 @@ var useAutoAcademyDomain = function useAutoAcademyDomain(logout, history, superU
|
|
10730
10750
|
return;
|
10731
10751
|
}
|
10732
10752
|
if (!paramAcademyDomain) {
|
10753
|
+
if (isLoginPage) {
|
10754
|
+
if (RELEASE_DATE) return;else searchParams["delete"]("domain");
|
10755
|
+
}
|
10733
10756
|
searchParams.set("domain", academyDomain);
|
10734
10757
|
pushTo(history, _extends({}, window.location, {
|
10735
10758
|
search: searchParams.toString()
|
@@ -18620,7 +18643,7 @@ var StudentList = function StudentList(_ref) {
|
|
18620
18643
|
selectedStudent = _ref.selectedStudent,
|
18621
18644
|
t = _ref.t,
|
18622
18645
|
textSearchRef = _ref.textSearchRef,
|
18623
|
-
|
18646
|
+
isOneRoleExists = _ref.isOneRoleExists,
|
18624
18647
|
handleOpenDeleteClassDialog = _ref.handleOpenDeleteClassDialog,
|
18625
18648
|
handleCloseConfirmDialog = _ref.handleCloseConfirmDialog,
|
18626
18649
|
handleSort = _ref.handleSort,
|
@@ -18680,7 +18703,7 @@ var StudentList = function StudentList(_ref) {
|
|
18680
18703
|
},
|
18681
18704
|
placeholder: t("search_for"),
|
18682
18705
|
onChange: handleChangeSearchText
|
18683
|
-
}))), React__default.createElement(material.Grid, {
|
18706
|
+
}))), isOneRoleExists && React__default.createElement(material.Grid, {
|
18684
18707
|
item: true,
|
18685
18708
|
xs: 6,
|
18686
18709
|
className: "d-flex align-items-center"
|
@@ -18716,11 +18739,11 @@ var StudentList = function StudentList(_ref) {
|
|
18716
18739
|
className: "d-flex"
|
18717
18740
|
}, React__default.createElement(material.IconButton, {
|
18718
18741
|
color: "default",
|
18719
|
-
className: (
|
18742
|
+
className: (!isOneRoleExists ? "bg-secondary" : "bg-danger") + " text-white",
|
18720
18743
|
onClick: function onClick() {
|
18721
18744
|
return handleOpenDeleteClassDialog(i);
|
18722
18745
|
},
|
18723
|
-
disabled:
|
18746
|
+
disabled: !isOneRoleExists
|
18724
18747
|
}, React__default.createElement(fa6.FaTrashCan, {
|
18725
18748
|
size: 12
|
18726
18749
|
})))));
|
@@ -18767,6 +18790,7 @@ var SelectDialog = function SelectDialog(_ref) {
|
|
18767
18790
|
onSubmit = _ref.onSubmit;
|
18768
18791
|
var _useTranslation = reactI18next.useTranslation(),
|
18769
18792
|
t = _useTranslation.t;
|
18793
|
+
var theme = material.useTheme();
|
18770
18794
|
var handleSubmit = function handleSubmit() {
|
18771
18795
|
onSubmit(selected);
|
18772
18796
|
handleClear();
|
@@ -18866,7 +18890,12 @@ var SelectDialog = function SelectDialog(_ref) {
|
|
18866
18890
|
disabled: !numSelected,
|
18867
18891
|
onClick: handleSubmit
|
18868
18892
|
}, submitText), React__default.createElement(material.Button, {
|
18869
|
-
|
18893
|
+
sx: {
|
18894
|
+
background: theme.palette.grey[600],
|
18895
|
+
"&:hover": {
|
18896
|
+
background: theme.palette.grey[800]
|
18897
|
+
}
|
18898
|
+
},
|
18870
18899
|
variant: "contained",
|
18871
18900
|
onClick: onClose
|
18872
18901
|
}, t('cancel'))));
|
@@ -18938,7 +18967,7 @@ var TeacherList = function TeacherList(_ref) {
|
|
18938
18967
|
"aria-label": "search google maps"
|
18939
18968
|
},
|
18940
18969
|
onChange: handleChangeSearchText
|
18941
|
-
}))), React__default.createElement(material.Grid, {
|
18970
|
+
}))), !disabled && React__default.createElement(material.Grid, {
|
18942
18971
|
item: true,
|
18943
18972
|
xs: 6,
|
18944
18973
|
className: "d-flex align-items-center"
|
@@ -18951,8 +18980,7 @@ var TeacherList = function TeacherList(_ref) {
|
|
18951
18980
|
}),
|
18952
18981
|
onClick: function onClick() {
|
18953
18982
|
return onAdd === null || onAdd === void 0 ? void 0 : onAdd("Teacher");
|
18954
|
-
}
|
18955
|
-
disabled: disabled
|
18983
|
+
}
|
18956
18984
|
}, t("add_teachers"))), React__default.createElement(material.Grid, {
|
18957
18985
|
item: true,
|
18958
18986
|
xs: 12
|
@@ -19425,11 +19453,21 @@ var _excluded$9 = ["getStudents"],
|
|
19425
19453
|
_excluded2 = ["getTeachers"],
|
19426
19454
|
_excluded3 = ["getLessons"];
|
19427
19455
|
var PAGE_TITLE$5 = "classes";
|
19428
|
-
var useClassDetail = function useClassDetail(
|
19456
|
+
var useClassDetail = function useClassDetail(_ref) {
|
19457
|
+
var history = _ref.history,
|
19458
|
+
id = _ref.id,
|
19459
|
+
role = _ref.role;
|
19429
19460
|
var _useTranslation = reactI18next.useTranslation(),
|
19430
19461
|
t = _useTranslation.t;
|
19431
19462
|
var dispatch = reactRedux.useDispatch();
|
19432
19463
|
var schema = ClassSchema(t);
|
19464
|
+
var user = reactRedux.useSelector(function (state) {
|
19465
|
+
var _state$common;
|
19466
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
19467
|
+
});
|
19468
|
+
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
19469
|
+
var isOneRoleExists = roles.length === 1;
|
19470
|
+
var isAdmin = roles.includes(exports.Role.Admin) && role === exports.Role.Admin;
|
19433
19471
|
var _useState = React.useState(),
|
19434
19472
|
course = _useState[0],
|
19435
19473
|
setCourse = _useState[1];
|
@@ -19849,6 +19887,7 @@ var useClassDetail = function useClassDetail(history, id) {
|
|
19849
19887
|
return {
|
19850
19888
|
id: id,
|
19851
19889
|
schema: schema,
|
19890
|
+
isAdmin: isAdmin,
|
19852
19891
|
paging: paging,
|
19853
19892
|
filter: filter,
|
19854
19893
|
listUserSelected: selected,
|
@@ -19867,6 +19906,7 @@ var useClassDetail = function useClassDetail(history, id) {
|
|
19867
19906
|
course: course,
|
19868
19907
|
userList: openSelectDialog === "Student" ? students : teachers,
|
19869
19908
|
teacherOptions: teacherOptions,
|
19909
|
+
isOneRoleExists: isOneRoleExists,
|
19870
19910
|
studentListProps: studentListProps,
|
19871
19911
|
teacherListProps: teacherListProps,
|
19872
19912
|
lessonListProps: lessonListProps,
|
@@ -20123,7 +20163,7 @@ var LessonList = function LessonList(_ref) {
|
|
20123
20163
|
className: "d-flex mb-2"
|
20124
20164
|
}, React__default.createElement(material.Typography, {
|
20125
20165
|
variant: "h4"
|
20126
|
-
}, t("lessons"))), React__default.createElement(material.Grid, {
|
20166
|
+
}, t("lessons"))), !disabled && React__default.createElement(material.Grid, {
|
20127
20167
|
item: true,
|
20128
20168
|
xs: 6,
|
20129
20169
|
className: "d-flex align-items-center"
|
@@ -20224,10 +20264,14 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
20224
20264
|
history = _ref.history,
|
20225
20265
|
classListUrl = _ref.classListUrl,
|
20226
20266
|
role = _ref.role;
|
20227
|
-
var
|
20228
|
-
|
20267
|
+
var _useClassDetail = useClassDetail({
|
20268
|
+
history: history,
|
20269
|
+
id: id,
|
20270
|
+
role: role
|
20271
|
+
}),
|
20229
20272
|
schema = _useClassDetail.schema,
|
20230
20273
|
paging = _useClassDetail.paging,
|
20274
|
+
isAdmin = _useClassDetail.isAdmin,
|
20231
20275
|
filter = _useClassDetail.filter,
|
20232
20276
|
listUserSelected = _useClassDetail.listUserSelected,
|
20233
20277
|
userList = _useClassDetail.userList,
|
@@ -20244,6 +20288,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
20244
20288
|
course = _useClassDetail.course,
|
20245
20289
|
classRequest = _useClassDetail.classRequest,
|
20246
20290
|
teacherOptions = _useClassDetail.teacherOptions,
|
20291
|
+
isOneRoleExists = _useClassDetail.isOneRoleExists,
|
20247
20292
|
studentListProps = _useClassDetail.studentListProps,
|
20248
20293
|
teacherListProps = _useClassDetail.teacherListProps,
|
20249
20294
|
lessonListProps = _useClassDetail.lessonListProps,
|
@@ -20331,7 +20376,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
20331
20376
|
value: selected,
|
20332
20377
|
index: TabList$2[1].value
|
20333
20378
|
}, !!id && !Number.isNaN(+id) && selected === TabList$2[1].value && React__default.createElement(StudentList, Object.assign({
|
20334
|
-
|
20379
|
+
isOneRoleExists: isOneRoleExists,
|
20335
20380
|
onAdd: handleOpenSelectDialog
|
20336
20381
|
}, studentListProps))), React__default.createElement(CustomTabPanel, {
|
20337
20382
|
value: selected,
|
@@ -20586,7 +20631,7 @@ var UserDialog = function UserDialog(_ref) {
|
|
20586
20631
|
open: open,
|
20587
20632
|
onClose: onClose,
|
20588
20633
|
size: "md",
|
20589
|
-
title: t(data !== null && data !== void 0 && data.id ? "update_user" : "create_new_user")
|
20634
|
+
title: !disabled ? t(data !== null && data !== void 0 && data.id ? "update_user" : "create_new_user") : t('view_user')
|
20590
20635
|
}, React__default.createElement("form", {
|
20591
20636
|
onSubmit: handleSubmit(onSubmit),
|
20592
20637
|
style: {
|
@@ -20767,11 +20812,10 @@ var UserDialog = function UserDialog(_ref) {
|
|
20767
20812
|
color: "secondary",
|
20768
20813
|
className: "bg-secondary",
|
20769
20814
|
onClick: onClose
|
20770
|
-
}, t("cancel")), React__default.createElement(material.Button, {
|
20815
|
+
}, t("cancel")), !disabled && React__default.createElement(material.Button, {
|
20771
20816
|
variant: "contained",
|
20772
20817
|
color: "primary",
|
20773
|
-
type: "submit"
|
20774
|
-
disabled: disabled
|
20818
|
+
type: "submit"
|
20775
20819
|
}, data !== null && data !== void 0 && data.id ? t("update") : t("create")))));
|
20776
20820
|
};
|
20777
20821
|
|
@@ -21548,7 +21592,7 @@ var UserList = function UserList(_ref) {
|
|
21548
21592
|
key: i.id
|
21549
21593
|
}, React__default.createElement(TableCell, null, (paging.page - 1) * paging.limit + index + 1), React__default.createElement(TableCell, null, i.email), React__default.createElement(TableCell, null, i.fullName), React__default.createElement(TableCell, null, i.phoneNumber), React__default.createElement(TableCell, null, i.schoolName), React__default.createElement(TableCell, null, i.major), React__default.createElement(TableCell, null, i.grade), React__default.createElement(TableCell, null, utcToLocalTime(i.createdAt, t("date_time_format"))), React__default.createElement(TableCell, null, (_i$classes = i.classes) === null || _i$classes === void 0 ? void 0 : _i$classes.join(", ")), React__default.createElement(TableCell, null, !!i.roles && formatRole(i.roles, t)), React__default.createElement(TableCell, null, React__default.createElement("div", {
|
21550
21594
|
className: "d-flex"
|
21551
|
-
}, React__default.createElement(material.IconButton, {
|
21595
|
+
}, isAdmin ? React__default.createElement(material.IconButton, {
|
21552
21596
|
color: "default",
|
21553
21597
|
className: styles$6["action-btn"] + " bg-warning text-white me-2",
|
21554
21598
|
onClick: function onClick() {
|
@@ -21557,6 +21601,14 @@ var UserList = function UserList(_ref) {
|
|
21557
21601
|
}, React__default.createElement(hi.HiOutlinePencilAlt, {
|
21558
21602
|
className: styles$6["action-btn--pencil"],
|
21559
21603
|
size: 16
|
21604
|
+
})) : React__default.createElement(material.IconButton, {
|
21605
|
+
color: "default",
|
21606
|
+
className: "bg-primary text-white me-1",
|
21607
|
+
onClick: function onClick() {
|
21608
|
+
return handleOpenUserDialog(i);
|
21609
|
+
}
|
21610
|
+
}, React__default.createElement(fa.FaEye, {
|
21611
|
+
size: 12
|
21560
21612
|
})), isAdmin && React__default.createElement(material.IconButton, {
|
21561
21613
|
onClick: function onClick() {
|
21562
21614
|
return openDeleteDialog(i);
|
@@ -22553,6 +22605,34 @@ var NotificationList = function NotificationList(_ref) {
|
|
22553
22605
|
})));
|
22554
22606
|
};
|
22555
22607
|
|
22608
|
+
var ReleaseAlert = function ReleaseAlert() {
|
22609
|
+
var _useTranslation = reactI18next.useTranslation(),
|
22610
|
+
t = _useTranslation.t;
|
22611
|
+
var releaseDate = RELEASE_DATE;
|
22612
|
+
var isInValidDate = !releaseDate || releaseDate === DATE_MIN_VALUE || releaseDate === DATE_TIME_MIN_VALUE;
|
22613
|
+
var isLoginPage = window.location.pathname === LOGIN_URL;
|
22614
|
+
if (isInValidDate || !moment.utc(releaseDate).isValid()) return null;else {
|
22615
|
+
var version = moment(releaseDate).format("HH.mm.YYYY.MM.DD");
|
22616
|
+
return React__default.createElement(material.Box, {
|
22617
|
+
sx: {
|
22618
|
+
position: "fixed",
|
22619
|
+
right: 10,
|
22620
|
+
bottom: isLoginPage ? undefined : 5,
|
22621
|
+
top: isLoginPage ? 10 : undefined,
|
22622
|
+
userSelect: "none",
|
22623
|
+
zIndex: 1
|
22624
|
+
}
|
22625
|
+
}, React__default.createElement(material.Typography, {
|
22626
|
+
color: "success",
|
22627
|
+
sx: {
|
22628
|
+
fontSize: 10,
|
22629
|
+
color: "#3DC674",
|
22630
|
+
opacity: 0.8
|
22631
|
+
}
|
22632
|
+
}, t("version"), ": ", React__default.createElement("span", null, version)));
|
22633
|
+
}
|
22634
|
+
};
|
22635
|
+
|
22556
22636
|
exports.moment = moment;
|
22557
22637
|
Object.defineProperty(exports, 'I18nextProvider', {
|
22558
22638
|
enumerable: true,
|
@@ -22625,6 +22705,7 @@ exports.PrintExamResultView = PrintExamResultView;
|
|
22625
22705
|
exports.PrintExamView2 = PrintExamView2;
|
22626
22706
|
exports.QuestionCountSelector = QuestionCountSelector;
|
22627
22707
|
exports.RecentUserAction = RecentUserAction;
|
22708
|
+
exports.ReleaseAlert = ReleaseAlert;
|
22628
22709
|
exports.SUPER_ADMIN_BASE_URL = SUPER_ADMIN_BASE_URL;
|
22629
22710
|
exports.ScoreSelector = ScoreSelector;
|
22630
22711
|
exports.SubjectSelector = SubjectSelector;
|