touchstudy-core 0.1.178 → 0.1.179
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/containers/ExamResult/components/MonthGroupedExamSessions/ExamSessionItem.d.ts +12 -0
- package/dist/containers/ExamResult/components/MonthGroupedExamSessions/GeneralExamItem.d.ts +9 -0
- package/dist/containers/ExamResult/components/MonthGroupedExamSessions/MonthGroupedExamSessionItem.d.ts +19 -0
- package/dist/containers/ExamResult/components/MonthGroupedExamSessions/index.d.ts +3 -0
- package/dist/index.css +0 -13
- package/dist/index.js +15 -557
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +17 -559
- package/dist/index.modern.js.map +1 -1
- package/dist/layouts/Header.d.ts +1 -1
- package/dist/layouts/TimerCountItem.d.ts +1 -0
- package/dist/services/subjectService.d.ts +0 -4
- package/dist/theme/palette.d.ts +0 -1
- package/dist/utils/enums/index.d.ts +0 -1
- package/dist/utils/functions/times.d.ts +0 -1
- package/dist/utils/types/index.d.ts +0 -1
- package/dist/utils/types/subjects.d.ts +2 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -537,7 +537,6 @@ var teacher_in_charge = "담당 교사";
|
|
537
537
|
var counselor = "상담교사";
|
538
538
|
var new_question = "새로운 질문";
|
539
539
|
var hour = "시간";
|
540
|
-
var hour_h = "시간";
|
541
540
|
var minute = "분";
|
542
541
|
var second = "두번째";
|
543
542
|
var question_order = "{{number}} 번";
|
@@ -1112,7 +1111,6 @@ var academy_invite_detail = "아카데미 초대 세부정보";
|
|
1112
1111
|
var are_you_sure_to_delete_academy_invite = "이 아카데미 초대를 삭제하시겠습니까?";
|
1113
1112
|
var day = "낮";
|
1114
1113
|
var days = "날";
|
1115
|
-
var month = "월";
|
1116
1114
|
var emails = "이메일";
|
1117
1115
|
var is_accepted = "승인됨";
|
1118
1116
|
var re_send = "다시 보내기";
|
@@ -1545,12 +1543,6 @@ var teacher_to_teachers = "교사에서 교사들에게";
|
|
1545
1543
|
var student_required = "학생은 필수입니다";
|
1546
1544
|
var teachers_required = "교사가 필요합니다";
|
1547
1545
|
var all_changes_are_not_saved_yet = "아직 모든 변경 사항이 저장되지 않았습니다";
|
1548
|
-
var pause = "일시정지";
|
1549
|
-
var press_to_start = "눌러서 시작하기";
|
1550
|
-
var study_timer = "순공 타이머";
|
1551
|
-
var show_timer = "타이머 표시";
|
1552
|
-
var failed_to_pause_the_subject_name = "과목 '{{name}}'를 일시 중지하는 데 실패했습니다";
|
1553
|
-
var failed_to_start_the_subject_name = "과목 '{{name}}'를 시작하는 데 실패했습니다";
|
1554
1546
|
var lang_ko = {
|
1555
1547
|
problem_solving: problem_solving,
|
1556
1548
|
my_story: my_story,
|
@@ -1742,7 +1734,6 @@ var lang_ko = {
|
|
1742
1734
|
counselor: counselor,
|
1743
1735
|
new_question: new_question,
|
1744
1736
|
hour: hour,
|
1745
|
-
hour_h: hour_h,
|
1746
1737
|
minute: minute,
|
1747
1738
|
second: second,
|
1748
1739
|
question_order: question_order,
|
@@ -2309,7 +2300,6 @@ var lang_ko = {
|
|
2309
2300
|
are_you_sure_to_delete_academy_invite: are_you_sure_to_delete_academy_invite,
|
2310
2301
|
day: day,
|
2311
2302
|
days: days,
|
2312
|
-
month: month,
|
2313
2303
|
emails: emails,
|
2314
2304
|
is_accepted: is_accepted,
|
2315
2305
|
re_send: re_send,
|
@@ -2729,13 +2719,7 @@ var lang_ko = {
|
|
2729
2719
|
teacher_to_teachers: teacher_to_teachers,
|
2730
2720
|
student_required: student_required,
|
2731
2721
|
teachers_required: teachers_required,
|
2732
|
-
all_changes_are_not_saved_yet: all_changes_are_not_saved_yet
|
2733
|
-
pause: pause,
|
2734
|
-
press_to_start: press_to_start,
|
2735
|
-
study_timer: study_timer,
|
2736
|
-
show_timer: show_timer,
|
2737
|
-
failed_to_pause_the_subject_name: failed_to_pause_the_subject_name,
|
2738
|
-
failed_to_start_the_subject_name: failed_to_start_the_subject_name
|
2722
|
+
all_changes_are_not_saved_yet: all_changes_are_not_saved_yet
|
2739
2723
|
};
|
2740
2724
|
|
2741
2725
|
var problem_solving$1 = "Problem Solving";
|
@@ -2954,7 +2938,6 @@ var counselor$1 = "Counselor";
|
|
2954
2938
|
var new_question$1 = "New Question";
|
2955
2939
|
var hour$1 = "hr";
|
2956
2940
|
var hours = "hrs";
|
2957
|
-
var hour_h$1 = "h";
|
2958
2941
|
var minute$1 = "min";
|
2959
2942
|
var second$1 = "second";
|
2960
2943
|
var question_order$1 = "Number {{number}}";
|
@@ -3504,7 +3487,6 @@ var academy_invite_detail$1 = "Academy Invite Detail";
|
|
3504
3487
|
var are_you_sure_to_delete_academy_invite$1 = "Are you sure to delete this academy invite?";
|
3505
3488
|
var day$1 = "day";
|
3506
3489
|
var days$1 = "days";
|
3507
|
-
var month$1 = "month";
|
3508
3490
|
var emails$1 = "Emails";
|
3509
3491
|
var is_accepted$1 = "Is Accepted";
|
3510
3492
|
var re_send$1 = "Resend";
|
@@ -3938,12 +3920,6 @@ var teacher_to_teachers$1 = "Teacher to teachers";
|
|
3938
3920
|
var student_required$1 = "Student is required";
|
3939
3921
|
var teachers_required$1 = "Teachers are required";
|
3940
3922
|
var all_changes_are_not_saved_yet$1 = "All changes are not saved yet";
|
3941
|
-
var pause$1 = "Pause";
|
3942
|
-
var press_to_start$1 = "Press to start";
|
3943
|
-
var study_timer$1 = "Focused Study Timer";
|
3944
|
-
var show_timer$1 = "Show timer";
|
3945
|
-
var failed_to_pause_the_subject_name$1 = "Failed to pause the subject '{{name}}'";
|
3946
|
-
var failed_to_start_the_subject_name$1 = "Failed to start the subject '{{name}}'";
|
3947
3923
|
var lang_en = {
|
3948
3924
|
problem_solving: problem_solving$1,
|
3949
3925
|
my_story: my_story$1,
|
@@ -4161,7 +4137,6 @@ var lang_en = {
|
|
4161
4137
|
new_question: new_question$1,
|
4162
4138
|
hour: hour$1,
|
4163
4139
|
hours: hours,
|
4164
|
-
hour_h: hour_h$1,
|
4165
4140
|
minute: minute$1,
|
4166
4141
|
second: second$1,
|
4167
4142
|
question_order: question_order$1,
|
@@ -4703,7 +4678,6 @@ var lang_en = {
|
|
4703
4678
|
are_you_sure_to_delete_academy_invite: are_you_sure_to_delete_academy_invite$1,
|
4704
4679
|
day: day$1,
|
4705
4680
|
days: days$1,
|
4706
|
-
month: month$1,
|
4707
4681
|
emails: emails$1,
|
4708
4682
|
is_accepted: is_accepted$1,
|
4709
4683
|
re_send: re_send$1,
|
@@ -5124,13 +5098,7 @@ var lang_en = {
|
|
5124
5098
|
teacher_to_teachers: teacher_to_teachers$1,
|
5125
5099
|
student_required: student_required$1,
|
5126
5100
|
teachers_required: teachers_required$1,
|
5127
|
-
all_changes_are_not_saved_yet: all_changes_are_not_saved_yet$1
|
5128
|
-
pause: pause$1,
|
5129
|
-
press_to_start: press_to_start$1,
|
5130
|
-
study_timer: study_timer$1,
|
5131
|
-
show_timer: show_timer$1,
|
5132
|
-
failed_to_pause_the_subject_name: failed_to_pause_the_subject_name$1,
|
5133
|
-
failed_to_start_the_subject_name: failed_to_start_the_subject_name$1
|
5101
|
+
all_changes_are_not_saved_yet: all_changes_are_not_saved_yet$1
|
5134
5102
|
};
|
5135
5103
|
|
5136
5104
|
i18n__default.use(reactI18next.initReactI18next).init({
|
@@ -5586,7 +5554,7 @@ var PrintExamView2 = function PrintExamView2(_ref) {
|
|
5586
5554
|
}, t("print_pdf"))));
|
5587
5555
|
};
|
5588
5556
|
|
5589
|
-
var styles = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","btn-login-google":"_2HqmH","math-jax":"_3Pfdk","block-login":"_wWIyO","box-login":"_38Lo1","btn-primary":"_rd4Uy","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","dropdown-academy":"_3CMVp","image-academy":"_2ibYC","academy-btn":"_1JMRU","switch-icon":"_N4FNf","dropdown-content-academy":"_31Dr0","dropdown-academy-item":"_3bjcz","noGutters":"_31ZQk","custom-col-2":"_3yXyK","custom-col-3":"_1RsJQ","custom-col-5":"_L42CP","custom-col-10":"_2u6eL","custom-row":"_8x7OP","custom-col":"_1JmTh","custom-col-4":"_3HO1e","custom-col-8":"_Oy31M","custom-col-12":"_3aUKo","custom-container":"_39LRs","form-label":"__Ut-u","form-control":"_2k4dX","btn-outline-primary":"_2PWdX","sort-icons":"_mQvLF","active":"_3oAH-","form-select":"_3W3aw","truncate":"_3NJzN","headers":"_3xnI5","logo-container":"_3YG70","tabBox":"_1CQPn","routerBox":"_3hx2T","tabText":"_3UyhW","router-link-active":"_1TGKA","router-link":"_1AqMh","userImg":"_2RI6G","disabled-link":"_3aVHg","line-clamp":"_3fpky"
|
5557
|
+
var styles = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","btn-login-google":"_2HqmH","math-jax":"_3Pfdk","block-login":"_wWIyO","box-login":"_38Lo1","btn-primary":"_rd4Uy","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","dropdown-academy":"_3CMVp","image-academy":"_2ibYC","academy-btn":"_1JMRU","switch-icon":"_N4FNf","dropdown-content-academy":"_31Dr0","dropdown-academy-item":"_3bjcz","noGutters":"_31ZQk","custom-col-2":"_3yXyK","custom-col-3":"_1RsJQ","custom-col-5":"_L42CP","custom-col-10":"_2u6eL","custom-row":"_8x7OP","custom-col":"_1JmTh","custom-col-4":"_3HO1e","custom-col-8":"_Oy31M","custom-col-12":"_3aUKo","custom-container":"_39LRs","form-label":"__Ut-u","form-control":"_2k4dX","btn-outline-primary":"_2PWdX","sort-icons":"_mQvLF","active":"_3oAH-","form-select":"_3W3aw","truncate":"_3NJzN","headers":"_3xnI5","logo-container":"_3YG70","tabBox":"_1CQPn","routerBox":"_3hx2T","tabText":"_3UyhW","router-link-active":"_1TGKA","router-link":"_1AqMh","userImg":"_2RI6G","disabled-link":"_3aVHg","line-clamp":"_3fpky"};
|
5590
5558
|
|
5591
5559
|
var config = {
|
5592
5560
|
loader: {
|
@@ -6342,12 +6310,6 @@ var PrintStatus;
|
|
6342
6310
|
SchoolType[SchoolType["High"] = 3] = "High";
|
6343
6311
|
})(exports.SchoolType || (exports.SchoolType = {}));
|
6344
6312
|
|
6345
|
-
(function (SubjectTimerStatus) {
|
6346
|
-
SubjectTimerStatus[SubjectTimerStatus["NotStarted"] = 0] = "NotStarted";
|
6347
|
-
SubjectTimerStatus[SubjectTimerStatus["Started"] = 1] = "Started";
|
6348
|
-
SubjectTimerStatus[SubjectTimerStatus["Paused"] = 2] = "Paused";
|
6349
|
-
})(exports.SubjectTimerStatus || (exports.SubjectTimerStatus = {}));
|
6350
|
-
|
6351
6313
|
var canAccess = function canAccess(userRoles, componentRoles) {
|
6352
6314
|
if (!Array.isArray(userRoles)) {
|
6353
6315
|
return false;
|
@@ -6597,11 +6559,6 @@ var getRemainTime = function getRemainTime(startTime, duration) {
|
|
6597
6559
|
if (timePass > durationInNumber) return 0;
|
6598
6560
|
return durationInNumber - timePass;
|
6599
6561
|
};
|
6600
|
-
var getCountTime = function getCountTime(startTime, duration) {
|
6601
|
-
var timePass = diffFromNow(startTime, "second");
|
6602
|
-
if (typeof timePass !== "number") return null;
|
6603
|
-
return duration + timePass;
|
6604
|
-
};
|
6605
6562
|
|
6606
6563
|
var formatDateTime = function formatDateTime(inputDate) {
|
6607
6564
|
var date = new Date(inputDate);
|
@@ -8326,27 +8283,6 @@ var getSubjectListApi = function getSubjectListApi(textSearch) {
|
|
8326
8283
|
return Promise.reject(e);
|
8327
8284
|
}
|
8328
8285
|
};
|
8329
|
-
var getStudentSubjectListApi = function getStudentSubjectListApi() {
|
8330
|
-
try {
|
8331
|
-
return Promise.resolve(api.get(SUBJECT_URL + "/timers"));
|
8332
|
-
} catch (e) {
|
8333
|
-
return Promise.reject(e);
|
8334
|
-
}
|
8335
|
-
};
|
8336
|
-
var startStudentSubjectTimerApi = function startStudentSubjectTimerApi(subjectId) {
|
8337
|
-
try {
|
8338
|
-
return Promise.resolve(api.post(SUBJECT_URL + "/" + subjectId + "/timers"));
|
8339
|
-
} catch (e) {
|
8340
|
-
return Promise.reject(e);
|
8341
|
-
}
|
8342
|
-
};
|
8343
|
-
var pauseStudentSubjectApi = function pauseStudentSubjectApi(subjectId, recordId, data) {
|
8344
|
-
try {
|
8345
|
-
return Promise.resolve(api.post(SUBJECT_URL + "/" + subjectId + "/timers/" + recordId, data));
|
8346
|
-
} catch (e) {
|
8347
|
-
return Promise.reject(e);
|
8348
|
-
}
|
8349
|
-
};
|
8350
8286
|
|
8351
8287
|
var SubjectSelector = function SubjectSelector(_ref) {
|
8352
8288
|
var value = _ref.value,
|
@@ -10416,7 +10352,6 @@ var grey = {
|
|
10416
10352
|
var green = {
|
10417
10353
|
0: '#FFFFFF',
|
10418
10354
|
100: '#F0FFF6',
|
10419
|
-
200: '#D2FFE4',
|
10420
10355
|
300: '#89F0B2',
|
10421
10356
|
500: '#3DC674',
|
10422
10357
|
700: '#349056',
|
@@ -40573,491 +40508,6 @@ var singleLogo = function singleLogo(_ref) {
|
|
40573
40508
|
}))));
|
40574
40509
|
};
|
40575
40510
|
|
40576
|
-
var TimerItem = function TimerItem(_ref) {
|
40577
|
-
var data = _ref.data,
|
40578
|
-
seconds = _ref.seconds,
|
40579
|
-
loading = _ref.loading,
|
40580
|
-
activeTimerId = _ref.activeTimerId,
|
40581
|
-
onStartOrPauseTimer = _ref.onStartOrPauseTimer;
|
40582
|
-
var theme = material.useTheme();
|
40583
|
-
var _useTranslation = reactI18next.useTranslation(),
|
40584
|
-
t = _useTranslation.t;
|
40585
|
-
var handleStartOrPauseTimer = function handleStartOrPauseTimer() {
|
40586
|
-
onStartOrPauseTimer(data);
|
40587
|
-
};
|
40588
|
-
var isStarted = activeTimerId === data.id && data.status === exports.SubjectTimerStatus.Started;
|
40589
|
-
var displayedTime = React.useMemo(function () {
|
40590
|
-
switch (data.status) {
|
40591
|
-
case exports.SubjectTimerStatus.Started:
|
40592
|
-
return activeTimerId !== data.id ? formatTime$2(Math.floor(data.duration / 1000), t) : formatTime$2(seconds != null ? seconds : 0, t);
|
40593
|
-
case exports.SubjectTimerStatus.NotStarted:
|
40594
|
-
return t("press_to_start");
|
40595
|
-
default:
|
40596
|
-
return formatTime$2(Math.floor(data.duration / 1000), t);
|
40597
|
-
}
|
40598
|
-
}, [data.id, data.status, data.duration, seconds, activeTimerId, t]);
|
40599
|
-
return React__default.createElement(MenuItem, {
|
40600
|
-
className: "" + styles["timer-menu-item"],
|
40601
|
-
sx: {
|
40602
|
-
py: 1,
|
40603
|
-
bgcolor: theme.palette.background.paper,
|
40604
|
-
borderRadius: 0.75,
|
40605
|
-
minHeight: "52px"
|
40606
|
-
},
|
40607
|
-
disabled: loading,
|
40608
|
-
onClick: handleStartOrPauseTimer
|
40609
|
-
}, React__default.createElement(material.Stack, {
|
40610
|
-
direction: "row",
|
40611
|
-
gap: 1,
|
40612
|
-
sx: {
|
40613
|
-
justifyContent: "space-between",
|
40614
|
-
alignItems: "center",
|
40615
|
-
width: "100%"
|
40616
|
-
}
|
40617
|
-
}, React__default.createElement(material.Typography, {
|
40618
|
-
className: styles["subject-name"] + " " + styles["truncate"],
|
40619
|
-
fontSize: "14px",
|
40620
|
-
fontWeight: 600
|
40621
|
-
}, data.name), React__default.createElement(material.Box, {
|
40622
|
-
sx: {
|
40623
|
-
display: "flex",
|
40624
|
-
alignItems: "center",
|
40625
|
-
gap: 1.5
|
40626
|
-
}
|
40627
|
-
}, React__default.createElement(material.Typography, {
|
40628
|
-
className: "" + styles["duration"],
|
40629
|
-
sx: {
|
40630
|
-
color: isStarted ? theme.palette.common.black : theme.palette.success.light,
|
40631
|
-
fontSize: "14px",
|
40632
|
-
fontWeight: 700
|
40633
|
-
}
|
40634
|
-
}, displayedTime), !isStarted && React__default.createElement(material.Box, {
|
40635
|
-
className: "" + styles["icon-start"]
|
40636
|
-
}, React__default.createElement(io5.IoPlayCircleSharp, {
|
40637
|
-
size: 20
|
40638
|
-
})))));
|
40639
|
-
};
|
40640
|
-
var TOTAL_SECONDS_IN_A_MINUTE = 60;
|
40641
|
-
var TOTAL_SECONDS_IN_AN_HOUR = 60 * 60;
|
40642
|
-
var formatTime$2 = function formatTime(totalSeconds, t) {
|
40643
|
-
var hours = Math.floor(totalSeconds / TOTAL_SECONDS_IN_AN_HOUR);
|
40644
|
-
var minutes = Math.floor(totalSeconds % TOTAL_SECONDS_IN_AN_HOUR / TOTAL_SECONDS_IN_A_MINUTE);
|
40645
|
-
var seconds = totalSeconds % TOTAL_SECONDS_IN_A_MINUTE;
|
40646
|
-
if (hours > 0) {
|
40647
|
-
return "" + hours.toString().padStart(2, "0") + t("hour_h") + " " + minutes.toString().padStart(2, "0") + t("minutes") + " " + seconds.toString().padStart(2, "0") + t("seconds");
|
40648
|
-
}
|
40649
|
-
if (minutes > 0) {
|
40650
|
-
return "" + minutes.toString().padStart(2, "0") + t("minutes") + " " + seconds.toString().padStart(2, "0") + t("seconds");
|
40651
|
-
}
|
40652
|
-
return "" + seconds.toString().padStart(2, "0") + t("seconds");
|
40653
|
-
};
|
40654
|
-
|
40655
|
-
var TimerCountItem = function TimerCountItem(_ref) {
|
40656
|
-
var data = _ref.data,
|
40657
|
-
activeTimerId = _ref.activeTimerId,
|
40658
|
-
onChangeTime = _ref.onChangeTime;
|
40659
|
-
var requestAnimationRef = React.useRef(null);
|
40660
|
-
var user = reactRedux.useSelector(function (state) {
|
40661
|
-
var _state$common;
|
40662
|
-
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
40663
|
-
});
|
40664
|
-
React.useEffect(function () {
|
40665
|
-
if (data.status !== exports.SubjectTimerStatus.Started || !(user !== null && user !== void 0 && user.academyDomain) && !(user !== null && user !== void 0 && user.isLearningSpace) || data.id !== activeTimerId) return;
|
40666
|
-
var _animate = function animate() {
|
40667
|
-
var startTime = data.startTime,
|
40668
|
-
lastResumeTime = data.lastResumeTime,
|
40669
|
-
duration = data.duration;
|
40670
|
-
var startOfTime = lastResumeTime !== DATE_TIME_MIN_VALUE ? lastResumeTime : startTime;
|
40671
|
-
if (startOfTime === DATE_TIME_MIN_VALUE) return;
|
40672
|
-
var time = getCountTime(startOfTime, Math.floor(duration / 1000));
|
40673
|
-
if (typeof time !== "number") {
|
40674
|
-
onChangeTime(data, undefined);
|
40675
|
-
return;
|
40676
|
-
}
|
40677
|
-
onChangeTime(data, time);
|
40678
|
-
requestAnimationRef.current = requestAnimationFrame(_animate);
|
40679
|
-
};
|
40680
|
-
requestAnimationRef.current = requestAnimationFrame(_animate);
|
40681
|
-
return function () {
|
40682
|
-
!!requestAnimationRef.current && cancelAnimationFrame(requestAnimationRef.current);
|
40683
|
-
};
|
40684
|
-
}, [JSON.stringify(data), user === null || user === void 0 ? void 0 : user.id, user === null || user === void 0 ? void 0 : user.academyDomain, user === null || user === void 0 ? void 0 : user.isLearningSpace, activeTimerId]);
|
40685
|
-
return React__default.createElement(React.Fragment, null);
|
40686
|
-
};
|
40687
|
-
|
40688
|
-
var formatDate = function formatDate(t, date) {
|
40689
|
-
return utcToLocalTime(date, t("date_format"));
|
40690
|
-
};
|
40691
|
-
var TimerDropdown = function TimerDropdown() {
|
40692
|
-
var _user$academyDomain$t, _user$academyDomain, _user$academyDomain$t2;
|
40693
|
-
var _useTranslation = reactI18next.useTranslation(),
|
40694
|
-
t = _useTranslation.t;
|
40695
|
-
var theme = material.useTheme();
|
40696
|
-
var user = reactRedux.useSelector(function (state) {
|
40697
|
-
var _state$common;
|
40698
|
-
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
40699
|
-
});
|
40700
|
-
var _useState = React.useState(null),
|
40701
|
-
open = _useState[0],
|
40702
|
-
setOpen = _useState[1];
|
40703
|
-
var _useState2 = React.useState([]),
|
40704
|
-
timers = _useState2[0],
|
40705
|
-
setTimers = _useState2[1];
|
40706
|
-
var _useState3 = React.useState(),
|
40707
|
-
seconds = _useState3[0],
|
40708
|
-
setSeconds = _useState3[1];
|
40709
|
-
var _useState4 = React.useState(),
|
40710
|
-
activeTimerId = _useState4[0],
|
40711
|
-
setActiveTimerId = _useState4[1];
|
40712
|
-
var _useState5 = React.useState(false),
|
40713
|
-
loadingItem = _useState5[0],
|
40714
|
-
setLoadingItem = _useState5[1];
|
40715
|
-
var _useState6 = React.useState(false),
|
40716
|
-
isFetching = _useState6[0],
|
40717
|
-
setFetching = _useState6[1];
|
40718
|
-
var fetchedRef = React.useRef();
|
40719
|
-
var academyDomain = (_user$academyDomain$t = user === null || user === void 0 ? void 0 : (_user$academyDomain = user.academyDomain) === null || _user$academyDomain === void 0 ? void 0 : (_user$academyDomain$t2 = _user$academyDomain.toLowerCase) === null || _user$academyDomain$t2 === void 0 ? void 0 : _user$academyDomain$t2.call(_user$academyDomain)) != null ? _user$academyDomain$t : "";
|
40720
|
-
var handleChangeTime = function handleChangeTime(data, time) {
|
40721
|
-
if (!(user !== null && user !== void 0 && user.id) || !academyDomain && !(user !== null && user !== void 0 && user.isLearningSpace)) return;
|
40722
|
-
if (academyDomain !== fetchedRef.current && data.id !== activeTimerId) return;
|
40723
|
-
setSeconds(time);
|
40724
|
-
var key = user.id + "-" + data.id + "-" + SUBJECT_TIMER_KEY + academyDomain;
|
40725
|
-
saveDuration(key, time * 1000);
|
40726
|
-
};
|
40727
|
-
var handleOpen = function handleOpen(event) {
|
40728
|
-
setOpen(event.currentTarget);
|
40729
|
-
};
|
40730
|
-
var handleClose = function handleClose() {
|
40731
|
-
setOpen(null);
|
40732
|
-
};
|
40733
|
-
var handleStartOrPauseTimer = function handleStartOrPauseTimer(data) {
|
40734
|
-
try {
|
40735
|
-
var _temp2 = function _temp2(_result3) {
|
40736
|
-
if (_exit) return _result3;
|
40737
|
-
setLoadingItem(false);
|
40738
|
-
};
|
40739
|
-
var _exit = false;
|
40740
|
-
var isActive = activeTimerId === data.id;
|
40741
|
-
var isPaused = data.status === exports.SubjectTimerStatus.Paused;
|
40742
|
-
setLoadingItem(true);
|
40743
|
-
var _temp = _catch(function () {
|
40744
|
-
return Promise.resolve(handlePauseAllTimers(data.id)).then(function () {
|
40745
|
-
return function () {
|
40746
|
-
if (data.recordId) {
|
40747
|
-
return function () {
|
40748
|
-
if (!isActive && !isPaused) {
|
40749
|
-
setActiveTimerId(data.id);
|
40750
|
-
setTimers(function (timers) {
|
40751
|
-
return timers.map(function (timer) {
|
40752
|
-
return timer.id === data.id ? _extends({}, timer, {
|
40753
|
-
lastResumeTime: moment().utc().toISOString()
|
40754
|
-
}) : timer;
|
40755
|
-
});
|
40756
|
-
});
|
40757
|
-
setLoadingItem(false);
|
40758
|
-
_exit = true;
|
40759
|
-
} else {
|
40760
|
-
return Promise.resolve(pauseStudentSubjectApi(data.id, data.recordId, {
|
40761
|
-
status: isPaused ? exports.SubjectTimerStatus.Started : exports.SubjectTimerStatus.Paused,
|
40762
|
-
startTime: isPaused ? moment().utc().valueOf() : 0,
|
40763
|
-
pauseTime: !isPaused ? moment().utc().valueOf() : 0,
|
40764
|
-
duration: isActive && seconds ? seconds * 1000 : data.duration
|
40765
|
-
})).then(function (res) {
|
40766
|
-
setTimers(function (timers) {
|
40767
|
-
return timers.map(function (timer) {
|
40768
|
-
return timer.id === data.id ? res.data : timer;
|
40769
|
-
});
|
40770
|
-
});
|
40771
|
-
setActiveTimerId(!isPaused && isActive ? undefined : data.id);
|
40772
|
-
});
|
40773
|
-
}
|
40774
|
-
}();
|
40775
|
-
} else {
|
40776
|
-
return Promise.resolve(startStudentSubjectTimerApi(data.id)).then(function (res) {
|
40777
|
-
setTimers(function (timers) {
|
40778
|
-
return timers.map(function (timer) {
|
40779
|
-
return timer.id === data.id ? res.data : timer;
|
40780
|
-
});
|
40781
|
-
});
|
40782
|
-
setActiveTimerId(!isPaused && isActive ? undefined : data.id);
|
40783
|
-
});
|
40784
|
-
}
|
40785
|
-
}();
|
40786
|
-
});
|
40787
|
-
}, function () {
|
40788
|
-
reactToastify.toast.error(t(isPaused ? "failed_to_start_the_subject_name" : "failed_to_pause_the_subject_name", {
|
40789
|
-
name: data.name
|
40790
|
-
}));
|
40791
|
-
});
|
40792
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
40793
|
-
} catch (e) {
|
40794
|
-
return Promise.reject(e);
|
40795
|
-
}
|
40796
|
-
};
|
40797
|
-
var handlePauseAllTimers = function handlePauseAllTimers(exceptId) {
|
40798
|
-
try {
|
40799
|
-
!exceptId && setLoadingItem(true);
|
40800
|
-
var tasks = timers.filter(function (i) {
|
40801
|
-
return i.status === exports.SubjectTimerStatus.Started && i.id !== exceptId;
|
40802
|
-
}).map(function (i) {
|
40803
|
-
return handlePauseTimer(i);
|
40804
|
-
});
|
40805
|
-
return Promise.resolve(Promise.all(tasks)).then(function () {
|
40806
|
-
!exceptId && setLoadingItem(false);
|
40807
|
-
});
|
40808
|
-
} catch (e) {
|
40809
|
-
return Promise.reject(e);
|
40810
|
-
}
|
40811
|
-
};
|
40812
|
-
var handlePauseTimer = function handlePauseTimer(data, updateState) {
|
40813
|
-
if (updateState === void 0) {
|
40814
|
-
updateState = true;
|
40815
|
-
}
|
40816
|
-
try {
|
40817
|
-
if (data.status === exports.SubjectTimerStatus.Paused) return Promise.resolve(data);
|
40818
|
-
return Promise.resolve(_catch(function () {
|
40819
|
-
return Promise.resolve(pauseStudentSubjectApi(data.id, data.recordId, {
|
40820
|
-
status: exports.SubjectTimerStatus.Paused,
|
40821
|
-
duration: activeTimerId === data.id && seconds ? seconds * 1000 : data.duration,
|
40822
|
-
pauseTime: moment().utc().valueOf()
|
40823
|
-
})).then(function (res) {
|
40824
|
-
if (updateState) setTimers(function (state) {
|
40825
|
-
return state.map(function (i) {
|
40826
|
-
return i.id === data.id ? res.data : i;
|
40827
|
-
});
|
40828
|
-
});
|
40829
|
-
return res.data;
|
40830
|
-
});
|
40831
|
-
}, function () {
|
40832
|
-
activeTimerId === data.id && reactToastify.toast.error(t("failed_to_pause_the_subject_name", {
|
40833
|
-
name: data.name
|
40834
|
-
}));
|
40835
|
-
}));
|
40836
|
-
} catch (e) {
|
40837
|
-
return Promise.reject(e);
|
40838
|
-
}
|
40839
|
-
};
|
40840
|
-
var getDataFromLocalStorage = React.useCallback(function (items) {
|
40841
|
-
if (fetchedRef.current !== academyDomain) return [];
|
40842
|
-
return items.map(function (item) {
|
40843
|
-
var key = (user === null || user === void 0 ? void 0 : user.id) + "-" + item.id + "-" + SUBJECT_TIMER_KEY + academyDomain;
|
40844
|
-
var duration = getLocalDuration(key, item);
|
40845
|
-
var lastResumeTime = moment().utc().toISOString();
|
40846
|
-
return _extends({}, item, {
|
40847
|
-
duration: duration !== null ? duration : item.duration,
|
40848
|
-
lastResumeTime: lastResumeTime
|
40849
|
-
});
|
40850
|
-
});
|
40851
|
-
}, [user === null || user === void 0 ? void 0 : user.id, academyDomain]);
|
40852
|
-
React.useEffect(function () {
|
40853
|
-
var fetchData = function fetchData() {
|
40854
|
-
try {
|
40855
|
-
var _temp4 = function _temp4() {
|
40856
|
-
setFetching(false);
|
40857
|
-
};
|
40858
|
-
if (!(user !== null && user !== void 0 && user.id) || !academyDomain && !(user !== null && user !== void 0 && user.isLearningSpace)) return Promise.resolve();
|
40859
|
-
if (fetchedRef.current == academyDomain && !open) return Promise.resolve();
|
40860
|
-
setFetching(true);
|
40861
|
-
var _temp3 = _catch(function () {
|
40862
|
-
return Promise.resolve(getStudentSubjectListApi()).then(function (res) {
|
40863
|
-
var _items$find;
|
40864
|
-
var _res$data$items = res.data.items,
|
40865
|
-
items = _res$data$items === void 0 ? [] : _res$data$items;
|
40866
|
-
fetchedRef.current = academyDomain;
|
40867
|
-
setTimers(getDataFromLocalStorage(items));
|
40868
|
-
setActiveTimerId((_items$find = items.find(function (i) {
|
40869
|
-
return i.status === exports.SubjectTimerStatus.Started;
|
40870
|
-
})) === null || _items$find === void 0 ? void 0 : _items$find.id);
|
40871
|
-
});
|
40872
|
-
}, function (error) {
|
40873
|
-
reactToastify.toast.error(getErrorMessage(t, error));
|
40874
|
-
});
|
40875
|
-
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
|
40876
|
-
} catch (e) {
|
40877
|
-
return Promise.reject(e);
|
40878
|
-
}
|
40879
|
-
};
|
40880
|
-
fetchData();
|
40881
|
-
}, [t, getDataFromLocalStorage, user === null || user === void 0 ? void 0 : user.isLearningSpace, open]);
|
40882
|
-
var today = formatDate(t);
|
40883
|
-
var isRunning = timers.some(function (timer) {
|
40884
|
-
return timer.status === exports.SubjectTimerStatus.Started;
|
40885
|
-
});
|
40886
|
-
var selectedTimer = timers.find(function (i) {
|
40887
|
-
return i.id === activeTimerId;
|
40888
|
-
});
|
40889
|
-
return React__default.createElement(React.Fragment, null, React__default.createElement(IconButton, {
|
40890
|
-
onClick: handleOpen,
|
40891
|
-
sx: {
|
40892
|
-
width: 44,
|
40893
|
-
height: 44,
|
40894
|
-
mx: 1,
|
40895
|
-
borderRadius: "6px",
|
40896
|
-
padding: "8px",
|
40897
|
-
background: !isRunning ? grey[50] : green[100],
|
40898
|
-
"&: hover": {
|
40899
|
-
background: !isRunning ? grey[200] : green[200]
|
40900
|
-
}
|
40901
|
-
}
|
40902
|
-
}, React__default.createElement(material.Stack, {
|
40903
|
-
justifyContent: "center",
|
40904
|
-
alignItems: "center",
|
40905
|
-
width: "100%",
|
40906
|
-
height: "100%",
|
40907
|
-
sx: {
|
40908
|
-
borderRadius: "50%",
|
40909
|
-
backgroundColor: "#FFF"
|
40910
|
-
}
|
40911
|
-
}, React__default.createElement(io5.IoTimer, {
|
40912
|
-
color: !isRunning ? grey[700] : green[500],
|
40913
|
-
size: "16.25px"
|
40914
|
-
}))), selectedTimer && React__default.createElement(TimerCountItem, {
|
40915
|
-
data: selectedTimer,
|
40916
|
-
activeTimerId: activeTimerId,
|
40917
|
-
onChangeTime: handleChangeTime
|
40918
|
-
}), React__default.createElement(Popover, {
|
40919
|
-
open: !!open,
|
40920
|
-
anchorEl: open,
|
40921
|
-
onClose: handleClose,
|
40922
|
-
anchorOrigin: {
|
40923
|
-
vertical: "bottom",
|
40924
|
-
horizontal: "right"
|
40925
|
-
},
|
40926
|
-
transformOrigin: {
|
40927
|
-
vertical: "top",
|
40928
|
-
horizontal: "right"
|
40929
|
-
},
|
40930
|
-
slotProps: {
|
40931
|
-
paper: {
|
40932
|
-
sx: {
|
40933
|
-
px: 2,
|
40934
|
-
mt: 1,
|
40935
|
-
ml: 0.75,
|
40936
|
-
width: 320,
|
40937
|
-
borderRadius: 2,
|
40938
|
-
boxShadow: 3,
|
40939
|
-
bgcolor: theme.palette.grey[50]
|
40940
|
-
}
|
40941
|
-
}
|
40942
|
-
}
|
40943
|
-
}, React__default.createElement(material.Box, {
|
40944
|
-
sx: {
|
40945
|
-
py: 2,
|
40946
|
-
display: "flex",
|
40947
|
-
alignItems: "center",
|
40948
|
-
justifyContent: "space-between"
|
40949
|
-
}
|
40950
|
-
}, React__default.createElement(material.Box, {
|
40951
|
-
sx: {
|
40952
|
-
display: "flex",
|
40953
|
-
gap: 1,
|
40954
|
-
alignItems: "center"
|
40955
|
-
}
|
40956
|
-
}, React__default.createElement(material.Box, {
|
40957
|
-
display: "flex",
|
40958
|
-
alignItems: "center"
|
40959
|
-
}, React__default.createElement(io5.IoTimer, null)), React__default.createElement(material.Typography, {
|
40960
|
-
variant: "subtitle1",
|
40961
|
-
fontWeight: "bold",
|
40962
|
-
fontSize: "14px"
|
40963
|
-
}, t("study_timer"))), React__default.createElement(material.Typography, {
|
40964
|
-
color: "textSecondary",
|
40965
|
-
whiteSpace: "nowrap",
|
40966
|
-
fontSize: "14px"
|
40967
|
-
}, today)), React__default.createElement(material.Divider, {
|
40968
|
-
sx: {
|
40969
|
-
bgcolor: theme.palette.grey[700]
|
40970
|
-
}
|
40971
|
-
}), React__default.createElement(material.Stack, {
|
40972
|
-
className: "" + styles["timer-menu"],
|
40973
|
-
gap: 1.5,
|
40974
|
-
flexDirection: "column",
|
40975
|
-
sx: {
|
40976
|
-
py: 2,
|
40977
|
-
maxHeight: "360px"
|
40978
|
-
}
|
40979
|
-
}, !isFetching && React__default.createElement(ListView, {
|
40980
|
-
data: timers,
|
40981
|
-
render: function render(item, index) {
|
40982
|
-
return React__default.createElement(TimerItem, {
|
40983
|
-
key: index,
|
40984
|
-
data: item,
|
40985
|
-
loading: loadingItem,
|
40986
|
-
seconds: activeTimerId === item.id ? seconds : undefined,
|
40987
|
-
activeTimerId: activeTimerId,
|
40988
|
-
onStartOrPauseTimer: handleStartOrPauseTimer
|
40989
|
-
});
|
40990
|
-
}
|
40991
|
-
}), isFetching && React__default.createElement(material.Stack, {
|
40992
|
-
sx: {
|
40993
|
-
width: "100%",
|
40994
|
-
py: 2
|
40995
|
-
},
|
40996
|
-
justifyContent: "center",
|
40997
|
-
alignItems: "center"
|
40998
|
-
}, React__default.createElement(material.Typography, {
|
40999
|
-
className: "text-muted"
|
41000
|
-
}, React__default.createElement(material.CircularProgress, {
|
41001
|
-
size: "16px",
|
41002
|
-
color: "success"
|
41003
|
-
}))), !timers.length && !isFetching && React__default.createElement(material.Box, null, React__default.createElement(material.Typography, {
|
41004
|
-
className: "text-muted"
|
41005
|
-
}, t("no_data")))), React__default.createElement(material.Divider, {
|
41006
|
-
sx: {
|
41007
|
-
bgcolor: theme.palette.grey[700]
|
41008
|
-
}
|
41009
|
-
}), React__default.createElement(material.Box, {
|
41010
|
-
sx: {
|
41011
|
-
p: 2,
|
41012
|
-
textAlign: "right"
|
41013
|
-
}
|
41014
|
-
}, React__default.createElement(material.Button, {
|
41015
|
-
disableTouchRipple: true,
|
41016
|
-
onClick: function onClick() {
|
41017
|
-
return handlePauseAllTimers();
|
41018
|
-
},
|
41019
|
-
disabled: loadingItem,
|
41020
|
-
sx: {
|
41021
|
-
fontWeight: 700,
|
41022
|
-
color: theme.palette.success.main,
|
41023
|
-
padding: "8px 12px",
|
41024
|
-
bgcolor: theme.palette.background.paper,
|
41025
|
-
"&:hover": {
|
41026
|
-
bgcolor: theme.palette.grey[200]
|
41027
|
-
},
|
41028
|
-
"&:disabled": {
|
41029
|
-
opacity: 0.5
|
41030
|
-
}
|
41031
|
-
}
|
41032
|
-
}, loadingItem ? t("saving") : t("pause")))));
|
41033
|
-
};
|
41034
|
-
var SUBJECT_TIMER_KEY = "stk";
|
41035
|
-
var saveDuration = function saveDuration(key, duration) {
|
41036
|
-
localStorage.setItem(key, "" + duration);
|
41037
|
-
};
|
41038
|
-
var getLocalDuration = function getLocalDuration(key, timer) {
|
41039
|
-
try {
|
41040
|
-
var res = localStorage.getItem(key);
|
41041
|
-
var duration = +(res != null ? res : "");
|
41042
|
-
if (!duration || Number.isNaN(duration) || duration <= timer.duration) return null;
|
41043
|
-
return duration;
|
41044
|
-
} catch (error) {
|
41045
|
-
return null;
|
41046
|
-
}
|
41047
|
-
};
|
41048
|
-
|
41049
|
-
var HeaderLink = function HeaderLink(_ref) {
|
41050
|
-
var data = _ref.data,
|
41051
|
-
render = _ref.render;
|
41052
|
-
var activePaths = data.activePaths,
|
41053
|
-
path = data.path;
|
41054
|
-
var pathname = window.location.pathname.toLowerCase();
|
41055
|
-
var isActive = (activePaths === null || activePaths === void 0 ? void 0 : activePaths.some(function (a) {
|
41056
|
-
return pathname.startsWith(a);
|
41057
|
-
})) || pathname.startsWith(path);
|
41058
|
-
return React__default.createElement(React.Fragment, null, render(data, isActive));
|
41059
|
-
};
|
41060
|
-
|
41061
40511
|
var Header = function Header(_ref) {
|
41062
40512
|
var academyListRoute = _ref.academyListRoute,
|
41063
40513
|
homeRoute = _ref.homeRoute,
|
@@ -41180,9 +40630,7 @@ var Header = function Header(_ref) {
|
|
41180
40630
|
justifyContent: "center",
|
41181
40631
|
height: "100%",
|
41182
40632
|
className: styles["logo"] + " d-flex d-lg-none"
|
41183
|
-
}, React__default.createElement(singleLogo, null))),
|
41184
|
-
className: "me-2 ms-2"
|
41185
|
-
}, React__default.createElement(TimerDropdown, null)), React__default.createElement(material.Stack, {
|
40633
|
+
}, React__default.createElement(singleLogo, null))), React__default.createElement(material.Stack, {
|
41186
40634
|
className: "me-2",
|
41187
40635
|
display: "none"
|
41188
40636
|
}, React__default.createElement(TheLanguageDropdown, null)), showAnnouncement && renderNotificationLink && React__default.createElement(AnnouncementContainer, {
|
@@ -41191,6 +40639,17 @@ var Header = function Header(_ref) {
|
|
41191
40639
|
renderViewNoteLink: renderViewNoteLink
|
41192
40640
|
})));
|
41193
40641
|
};
|
40642
|
+
var HeaderLink = function HeaderLink(_ref3) {
|
40643
|
+
var data = _ref3.data,
|
40644
|
+
render = _ref3.render;
|
40645
|
+
var activePaths = data.activePaths,
|
40646
|
+
path = data.path;
|
40647
|
+
var pathname = location.pathname.toLowerCase();
|
40648
|
+
var isActive = (activePaths === null || activePaths === void 0 ? void 0 : activePaths.some(function (a) {
|
40649
|
+
return pathname.startsWith(a);
|
40650
|
+
})) || pathname.startsWith(path);
|
40651
|
+
return React__default.createElement(React.Fragment, null, render(data, isActive));
|
40652
|
+
};
|
41194
40653
|
|
41195
40654
|
var useLayoutContext = function useLayoutContext(role, showLoadingAcademy, domain) {
|
41196
40655
|
var _currentPusher$connec2;
|
@@ -41575,7 +41034,6 @@ exports.formatTime = formatTime;
|
|
41575
41034
|
exports.formatTimeSecond = formatTimeSecond;
|
41576
41035
|
exports.getAcademyDomain = getAcademyDomain;
|
41577
41036
|
exports.getAccessToken = getAccessToken;
|
41578
|
-
exports.getCountTime = getCountTime;
|
41579
41037
|
exports.getErrorMessage = getErrorMessage;
|
41580
41038
|
exports.getLanguage = getLanguage;
|
41581
41039
|
exports.getLearningSpace = getLearningSpace;
|