@cuemath/leap 2.8.36-beta-0.1 → 2.8.36-hg2
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/assets/lottie/lottie.js +6 -0
- package/dist/assets/lottie/lottie.js.map +1 -1
- package/dist/features/analytics-events/whitelist-events.js +13 -15
- package/dist/features/analytics-events/whitelist-events.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js +53 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js +24 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/constants.js +7 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/constants.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js +6 -6
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js +29 -73
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +87 -85
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js +20 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js +24 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js +54 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js +11 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js +16 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +161 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +225 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -0
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +25 -15
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js +103 -61
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/games/web-view/enums/project-type-enum.js +1 -1
- package/dist/features/circle-games/games/web-view/enums/project-type-enum.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view.js +69 -82
- package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
- package/dist/features/communication/pub-sub/constants.js +1 -2
- package/dist/features/communication/pub-sub/constants.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +117 -130
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js +17 -16
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock-styled.js +11 -10
- package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
- package/dist/features/post-game-stats/points/points.js +25 -24
- package/dist/features/post-game-stats/points/points.js.map +1 -1
- package/dist/features/post-game-stats/post-game-stats-styled.js +1 -1
- package/dist/features/post-game-stats/post-game-stats-styled.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak-styled.js +18 -17
- package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/constants.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
- package/dist/features/ui/grade-selector/grade-tab.js +15 -15
- package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
- package/dist/features/ui/tab/tab-styled.js +8 -7
- package/dist/features/ui/tab/tab-styled.js.map +1 -1
- package/dist/features/ui/tab/tab.js +31 -36
- package/dist/features/ui/tab/tab.js.map +1 -1
- package/dist/features/ui/theme/tab.js +3 -3
- package/dist/features/ui/theme/tab.js.map +1 -1
- package/dist/index.d.ts +79 -151
- package/dist/index.js +343 -352
- package/dist/index.js.map +1 -1
- package/dist/static/advance-mode-segment-lottie.51ff6707.json +1 -0
- package/dist/static/infinite-button-bg.5909225e.json +1 -0
- package/dist/static/infinite-button-symbol.aa31350c.json +1 -0
- package/dist/static/random-mode-segment-lottie.79cf1c07.json +1 -0
- package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +1 -0
- package/dist/static/table-mode-reveal.b44a82c3.json +1 -0
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/sheet.js +0 -54
- package/dist/assets/line-icons/icons/sheet.js.map +0 -1
- package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js +0 -14
- package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +0 -188
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js +0 -11
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js +0 -9
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js +0 -9
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js +0 -19
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +0 -47
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js +0 -22
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +0 -60
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js +0 -6
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/constant.js +0 -6
- package/dist/features/milestone/milestone-resources/resources-assign/constant.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js +0 -19
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js +0 -32
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js +0 -19
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +0 -85
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js +0 -63
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +0 -232
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js +0 -12
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +0 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js +0 -28
- package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +0 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input.js +0 -101
- package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +0 -1
@@ -1,81 +1,80 @@
|
|
1
|
-
import { jsx as
|
1
|
+
import { jsx as i, jsxs as I, Fragment as ne } from "react/jsx-runtime";
|
2
2
|
import { h as re } from "../../../node_modules/humanize-plus/dist/humanize.js";
|
3
|
-
import { memo as ie, useMemo as ae, useState as
|
3
|
+
import { memo as ie, useMemo as ae, useState as O, useCallback as Ee, useEffect as R } from "react";
|
4
4
|
import { ILLUSTRATIONS as le } from "../../../assets/illustrations/illustrations.js";
|
5
5
|
import { EVENTS as e } from "../../communication/pub-sub/constants.js";
|
6
6
|
import { useInClassActionListener as Se } from "../../communication/pub-sub/hooks.js";
|
7
7
|
import me from "../../ui/separator/separator.js";
|
8
8
|
import { invalidateMilestoneResources as ce } from "./api/get-milestone-resources.js";
|
9
|
-
import { useGetAllMilestonesdata as Te, invalidateMilestonesData as
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import De from "./milestone-list/milestone-
|
13
|
-
import
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
({ studentName: T, studentId: d, studentClassroomId: h, ...P }) => {
|
9
|
+
import { useGetAllMilestonesdata as Te, invalidateMilestonesData as Ae } from "./api/get-milestones.js";
|
10
|
+
import _e from "./filter-milestones.js";
|
11
|
+
import de from "./milestone-list/milestone-list.js";
|
12
|
+
import De from "./milestone-list/milestone-loader/milestone-loader.js";
|
13
|
+
import { ContentWrapper as Le, LoaderWrapper as Me } from "./styled.js";
|
14
|
+
const ue = (S) => {
|
15
|
+
Ae(S);
|
16
|
+
}, Ce = ie(
|
17
|
+
({ studentName: S, studentId: m, studentClassroomId: p, ...f }) => {
|
19
18
|
const {
|
20
|
-
milestoneType:
|
21
|
-
isStudentPresent:
|
22
|
-
isClassOngoing:
|
23
|
-
userType:
|
24
|
-
canCreatePlan:
|
25
|
-
teacherName:
|
26
|
-
parentName:
|
27
|
-
courseStream:
|
19
|
+
milestoneType: s,
|
20
|
+
isStudentPresent: d,
|
21
|
+
isClassOngoing: c,
|
22
|
+
userType: T,
|
23
|
+
canCreatePlan: h,
|
24
|
+
teacherName: P,
|
25
|
+
parentName: U,
|
26
|
+
courseStream: A,
|
28
27
|
onExpandPastMilestones: g,
|
29
|
-
onAddOutcome:
|
30
|
-
onChapterClick:
|
31
|
-
onEdit:
|
32
|
-
onCreateMilestoneTest:
|
33
|
-
onPreview:
|
34
|
-
onReattempt:
|
35
|
-
onReset:
|
36
|
-
onResume:
|
37
|
-
onReview:
|
38
|
-
onStart:
|
39
|
-
onDraftPublish:
|
40
|
-
onAddChapter:
|
41
|
-
onCreatePlan:
|
42
|
-
onDelete:
|
43
|
-
onAssignResources:
|
44
|
-
onUnAssignSheet:
|
45
|
-
onTestPreview:
|
46
|
-
onTestReview:
|
47
|
-
onTestStart:
|
48
|
-
} =
|
28
|
+
onAddOutcome: G,
|
29
|
+
onChapterClick: v,
|
30
|
+
onEdit: F,
|
31
|
+
onCreateMilestoneTest: w,
|
32
|
+
onPreview: x,
|
33
|
+
onReattempt: V,
|
34
|
+
onReset: b,
|
35
|
+
onResume: y,
|
36
|
+
onReview: H,
|
37
|
+
onStart: k,
|
38
|
+
onDraftPublish: K,
|
39
|
+
onAddChapter: j,
|
40
|
+
onCreatePlan: W,
|
41
|
+
onDelete: X,
|
42
|
+
onAssignResources: $,
|
43
|
+
onUnAssignSheet: q,
|
44
|
+
onTestPreview: z,
|
45
|
+
onTestReview: B,
|
46
|
+
onTestStart: J
|
47
|
+
} = f, n = ae(
|
49
48
|
() => ({
|
50
|
-
milestone_state_group:
|
49
|
+
milestone_state_group: s === "ACTIVE" ? T === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : s,
|
51
50
|
with_plan: !0,
|
52
|
-
course_stream:
|
53
|
-
student_id:
|
54
|
-
in_class:
|
51
|
+
course_stream: A,
|
52
|
+
student_id: m,
|
53
|
+
in_class: c
|
55
54
|
}),
|
56
|
-
[
|
55
|
+
[c, s, A, m, T]
|
57
56
|
), {
|
58
57
|
data: t,
|
59
|
-
getAll:
|
60
|
-
isStale:
|
61
|
-
isProcessing:
|
62
|
-
} = Te(n), [
|
63
|
-
(
|
64
|
-
const { searchText:
|
65
|
-
(
|
66
|
-
const
|
67
|
-
const { milestone_name: te, board: se, grade: oe } =
|
68
|
-
return (
|
58
|
+
getAll: l,
|
59
|
+
isStale: D,
|
60
|
+
isProcessing: a
|
61
|
+
} = Te(n), [L, M] = O(), [u, C] = O(!1), Q = Ee(
|
62
|
+
(_) => {
|
63
|
+
const { searchText: o, selectedBoard: r, selectedGrade: E } = _ || {};
|
64
|
+
(o || r || E) && C(!0);
|
65
|
+
const Z = t == null ? void 0 : t.filter((ee) => {
|
66
|
+
const { milestone_name: te, board: se, grade: oe } = ee || {};
|
67
|
+
return (o ? te.toLowerCase().includes(o.toLowerCase()) : !0) && (r ? se === r : !0) && (E ? oe === E : !0);
|
69
68
|
});
|
70
|
-
|
69
|
+
M(Z);
|
71
70
|
},
|
72
71
|
[t]
|
73
|
-
),
|
74
|
-
C(!1),
|
72
|
+
), Y = () => {
|
73
|
+
C(!1), M(void 0);
|
75
74
|
};
|
76
75
|
if (Se(
|
77
76
|
{
|
78
|
-
studentClassroomId:
|
77
|
+
studentClassroomId: p,
|
79
78
|
actions: [
|
80
79
|
[e.CHAPTER_UPDATED],
|
81
80
|
[e.LESSONS_MARKED_AS_FAMILIAR],
|
@@ -95,91 +94,79 @@ const ue = (T) => {
|
|
95
94
|
[e.GOAL_EDITED],
|
96
95
|
[e.GOAL_DELETED],
|
97
96
|
[e.GOAL_OUTCOME_ADDED],
|
98
|
-
[e.PAST_MILESTONE_OUTCOME_ADDED]
|
99
|
-
[e.MILESTONE_TEST_ASSIGNED]
|
97
|
+
[e.PAST_MILESTONE_OUTCOME_ADDED]
|
100
98
|
],
|
101
|
-
callback: (
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
(s) => s.eventName === e.MILESTONE_TEST_ASSIGNED
|
107
|
-
)) == null ? void 0 : c.eventPayload;
|
108
|
-
if (r) {
|
109
|
-
const { milestoneId: s } = r || {};
|
110
|
-
ce(s);
|
111
|
-
}
|
112
|
-
if (i) {
|
113
|
-
const { milestoneId: s } = i;
|
114
|
-
_e(s);
|
115
|
-
}
|
116
|
-
ue(n);
|
99
|
+
callback: (_) => {
|
100
|
+
const o = _.find(
|
101
|
+
(E) => E.eventName === e.MILESTONE_RESOURCE_ASSIGNED || e.MILESTONE_RESOURCE_UNASSIGNED
|
102
|
+
), { milestoneId: r } = (o == null ? void 0 : o.eventPayload) || {};
|
103
|
+
r && ce(r), ue(n);
|
117
104
|
}
|
118
105
|
},
|
119
|
-
(
|
120
|
-
),
|
121
|
-
|
122
|
-
}, [
|
123
|
-
!
|
124
|
-
}, [
|
125
|
-
return /* @__PURE__ */
|
126
|
-
const
|
127
|
-
return /* @__PURE__ */
|
128
|
-
|
129
|
-
|
130
|
-
/* @__PURE__ */
|
131
|
-
|
106
|
+
(s === "ACTIVE" || s === "INACTIVE") && d
|
107
|
+
), R(() => {
|
108
|
+
l(n);
|
109
|
+
}, [l, n]), R(() => {
|
110
|
+
!a && D && l(n);
|
111
|
+
}, [l, n, D, a]), a && !t)
|
112
|
+
return /* @__PURE__ */ i(De, { numMilestones: 2 });
|
113
|
+
const N = s === "ACTIVE" && t && t.length > 6;
|
114
|
+
return /* @__PURE__ */ I(Le, { $disablePointerEvents: a, children: [
|
115
|
+
a && /* @__PURE__ */ i(Me, { children: /* @__PURE__ */ i("img", { src: le.LOADER_1, alt: "loading" }) }),
|
116
|
+
N && /* @__PURE__ */ I(ne, { children: [
|
117
|
+
/* @__PURE__ */ i(
|
118
|
+
_e,
|
132
119
|
{
|
133
|
-
filteredMilestones:
|
120
|
+
filteredMilestones: L,
|
134
121
|
milestones: t,
|
135
|
-
handleFilterMilestones:
|
136
|
-
handleClearFilter:
|
122
|
+
handleFilterMilestones: Q,
|
123
|
+
handleClearFilter: Y
|
137
124
|
}
|
138
125
|
),
|
139
|
-
/* @__PURE__ */
|
126
|
+
/* @__PURE__ */ i(me, { heightX: 1.5 })
|
140
127
|
] }),
|
141
|
-
/* @__PURE__ */
|
142
|
-
|
128
|
+
/* @__PURE__ */ i(
|
129
|
+
de,
|
143
130
|
{
|
144
|
-
showFilters: !!
|
145
|
-
canCreatePlan:
|
146
|
-
isClassOngoing:
|
147
|
-
isFiltersAdded:
|
148
|
-
isStudentPresent:
|
149
|
-
milestoneType:
|
150
|
-
milestones:
|
151
|
-
onAddChapter:
|
152
|
-
onAddOutcome:
|
153
|
-
onChapterClick:
|
154
|
-
onCreatePlan:
|
155
|
-
onDelete:
|
156
|
-
onDraftPublish:
|
157
|
-
onEdit:
|
131
|
+
showFilters: !!N,
|
132
|
+
canCreatePlan: h,
|
133
|
+
isClassOngoing: c,
|
134
|
+
isFiltersAdded: u,
|
135
|
+
isStudentPresent: d,
|
136
|
+
milestoneType: s,
|
137
|
+
milestones: u ? L : t,
|
138
|
+
onAddChapter: j,
|
139
|
+
onAddOutcome: G,
|
140
|
+
onChapterClick: v,
|
141
|
+
onCreatePlan: W,
|
142
|
+
onDelete: X,
|
143
|
+
onDraftPublish: K,
|
144
|
+
onEdit: F,
|
158
145
|
onExpandPastMilestones: g,
|
159
|
-
onCreateMilestoneTest:
|
160
|
-
onPreview:
|
161
|
-
onReattempt:
|
162
|
-
onReset:
|
163
|
-
onResume:
|
164
|
-
onReview:
|
165
|
-
onStart:
|
166
|
-
onAssignResources:
|
167
|
-
onUnAssignSheet:
|
168
|
-
onTestPreview:
|
169
|
-
onTestReview:
|
170
|
-
onTestStart:
|
171
|
-
studentId:
|
172
|
-
studentName: re.titleCase(
|
173
|
-
teacherName:
|
174
|
-
parentName:
|
175
|
-
userType:
|
176
|
-
courseStream:
|
146
|
+
onCreateMilestoneTest: w,
|
147
|
+
onPreview: x,
|
148
|
+
onReattempt: V,
|
149
|
+
onReset: b,
|
150
|
+
onResume: y,
|
151
|
+
onReview: H,
|
152
|
+
onStart: k,
|
153
|
+
onAssignResources: $,
|
154
|
+
onUnAssignSheet: q,
|
155
|
+
onTestPreview: z,
|
156
|
+
onTestReview: B,
|
157
|
+
onTestStart: J,
|
158
|
+
studentId: m,
|
159
|
+
studentName: re.titleCase(S),
|
160
|
+
teacherName: P,
|
161
|
+
parentName: U,
|
162
|
+
userType: T,
|
163
|
+
courseStream: A
|
177
164
|
}
|
178
165
|
)
|
179
166
|
] });
|
180
167
|
}
|
181
|
-
),
|
168
|
+
), be = Ce;
|
182
169
|
export {
|
183
|
-
|
170
|
+
be as default
|
184
171
|
};
|
185
172
|
//# sourceMappingURL=milestone-list-container.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n }) as const,\n [isClassOngoing, milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":";;;;;;;;;;;;;;AAqBA,MAAMA,KAA0B,CAACC,MAA2C;AAC1E,EAAAC,GAAyBD,CAAW;AACtC,GAEME,KAA6DC;AAAA,EACjE,CAAC,EAAE,aAAAC,GAAa,WAAAC,GAAW,oBAAAC,GAAoB,GAAGC,QAAsC;AAChF,UAAA;AAAA,MACJ,eAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,SAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,IACE,IAAA5B,GAEEP,IAAyCoC;AAAA,MAC7C,OACG;AAAA,QACC,uBACE5B,MAAkB,WACdG,MAAa,YACX,SACA,iBACFH;AAAA,QACN,WAAW;AAAA,QACX,eAAeO;AAAA,QACf,YAAYV;AAAA,QACZ,UAAUK;AAAA,MAAA;AAAA,MAEd,CAACA,GAAgBF,GAAeO,GAAcV,GAAWM,CAAQ;AAAA,IAAA,GAG7D;AAAA,MACJ,MAAM0B;AAAA,MACN,QAAQC;AAAA,MACR,SAASC;AAAA,MACT,cAAcC;AAAA,IAAA,IACZC,GAAwBzC,CAAW,GAEjC,CAAC0C,GAAoBC,CAAqB,IAAIC,EAAuC,GACrF,CAACC,GAAgBC,CAAiB,IAAIF,EAAkB,EAAK,GAE7DG,IAAyBC;AAAA,MAC7B,CAACC,MAAkF;AACjF,cAAM,EAAE,YAAAC,GAAY,eAAAC,GAAe,eAAAC,EAAc,IAAIH,KAAQ,CAAA;AAEzD,SAAAC,KAAcC,KAAiBC,MACjCN,EAAkB,EAAI;AAGlB,cAAAO,IAAehB,KAAA,gBAAAA,EAAe,OAAO,CAAQiB,MAAA;AACjD,gBAAM,EAAE,gBAAgBC,IAAe,OAAAC,IAAO,OAAAC,GAAM,IAAIH,KAAQ;AAOhE,kBAN0BJ,IACtBK,GAAc,YAAA,EAAc,SAASL,EAAW,aAAa,IAC7D,QACsBC,IAAgBK,OAAUL,IAAgB,QAC/CC,IAAgBK,OAAUL,IAAgB;AAAA,QAEd;AAGnD,QAAAT,EAAsBU,CAAY;AAAA,MACpC;AAAA,MACA,CAAChB,CAAa;AAAA,IAAA,GAGVqB,KAAoB,MAAM;AAC9B,MAAAZ,EAAkB,EAAK,GACvBH,EAAsB,MAAS;AAAA,IAAA;AAmE7B,QAhEJgB;AAAA,MACE;AAAA,QACE,oBAAArD;AAAA,QACA,SAAS;AAAA,UACP,CAACsD,EAAO,eAAe;AAAA,UACvB,CAACA,EAAO,0BAA0B;AAAA,UAClC,CAACA,EAAO,4BAA4B;AAAA,UACpC,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,aAAa;AAAA,UACrB,CAACA,EAAO,uBAAuB;AAAA,UAC/B,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,iBAAiB;AAAA,UACzB,CAACA,EAAO,sBAAsB;AAAA,UAC9B,CAACA,EAAO,gBAAgB;AAAA,UACxB,CAACA,EAAO,2BAA2B;AAAA,UACnC,CAACA,EAAO,6BAA6B;AAAA,UACrC,CAACA,EAAO,wBAAwB;AAAA,UAChC,CAACA,EAAO,gBAAgB;AAAA,UACxB,CAACA,EAAO,YAAY;AAAA,UACpB,CAACA,EAAO,WAAW;AAAA,UACnB,CAACA,EAAO,YAAY;AAAA,UACpB,CAACA,EAAO,kBAAkB;AAAA,UAC1B,CAACA,EAAO,4BAA4B;AAAA,UACpC,CAACA,EAAO,uBAAuB;AAAA,QACjC;AAAA,QACA,UAAU,CAAYC,MAAA;;AACpB,gBAAMC,KAAgCC,IAAAF,EAAS;AAAA,YAC7C,CACEG,MAAAA,EAAQ,cAAcJ,EAAO,+BAC7BA,EAAO;AAAA,UACR,MAJmC,gBAAAG,EAInC,cACGE,KAA4BC,IAAAL,EAAS;AAAA,YACzC,CAAAG,MAAWA,EAAQ,cAAcJ,EAAO;AAAA,UACvC,MAF+B,gBAAAM,EAE/B;AAEH,cAAIJ,GAA+B;AACjC,kBAAM,EAAE,aAAaK,MAClBL,KAA6D,CAAA;AAEhE,YAAAM,GAA6BD,CAAmB;AAAA,UAClD;AAEA,cAAIF,GAA2B;AACvB,kBAAA,EAAE,aAAAI,EAAgB,IAAAJ;AAExB,YAAAK,GAAuBD,CAAW;AAAA,UACpC;AAEA,UAAAtE,GAAwBC,CAAW;AAAA,QACrC;AAAA,MACF;AAAA,OACCQ,MAAkB,YAAYA,MAAkB,eAAeC;AAAA,IAAA,GAGlE8D,EAAU,MAAM;AACd,MAAAjC,EAAiBtC,CAAW;AAAA,IAAA,GAC3B,CAACsC,GAAkBtC,CAAW,CAAC,GAElCuE,EAAU,MAAM;AACV,MAAA,CAAC/B,KAAyBD,KAC5BD,EAAiBtC,CAAW;AAAA,OAE7B,CAACsC,GAAkBtC,GAAauC,GAAsBC,CAAqB,CAAC,GAE3EA,KAAyB,CAACH;AACrB,aAAA,gBAAAmC,EAACC,IAAgB,EAAA,eAAe,EAAG,CAAA;AAG5C,UAAMC,IAAclE,MAAkB,YAAY6B,KAAiBA,EAAc,SAAS;AAE1F,WACG,gBAAAsC,EAAAC,IAAA,EAAsB,uBAAuBpC,GAC3C,UAAA;AAAA,MACCA,KAAA,gBAAAgC,EAACK,IAAA,EACC,UAAA,gBAAAL,EAAC,OAAI,EAAA,KAAKM,GAAc,UAAU,KAAI,UAAA,CAAU,EAClD,CAAA;AAAA,MAEDJ,KAEG,gBAAAC,EAAAI,IAAA,EAAA,UAAA;AAAA,QAAA,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,oBAAAtC;AAAA,YACA,YAAYL;AAAA,YACZ,wBAAAU;AAAA,YACA,mBAAAW;AAAA,UAAA;AAAA,QACF;AAAA,QACA,gBAAAc,EAACS,IAAU,EAAA,SAAS,IAAK,CAAA;AAAA,MAAA,GAC3B;AAAA,MAGF,gBAAAT;AAAA,QAACU;AAAAA,QAAA;AAAA,UACC,aAAa,CAAC,CAACR;AAAA,UACf,eAAA9D;AAAA,UACA,gBAAAF;AAAA,UACA,gBAAAmC;AAAA,UACA,kBAAApC;AAAA,UACA,eAAAD;AAAA,UACA,YAAYqC,IAAiBH,IAAqBL;AAAA,UAClD,cAAAT;AAAA,UACA,cAAAX;AAAA,UACA,gBAAAC;AAAA,UACA,cAAAW;AAAA,UACA,UAAAC;AAAA,UACA,gBAAAH;AAAA,UACA,QAAAR;AAAA,UACA,wBAAAH;AAAA,UACA,uBAAAI;AAAA,UACA,WAAAC;AAAA,UACA,aAAAC;AAAA,UACA,SAAAC;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,SAAAC;AAAA,UACA,mBAAAK;AAAA,UACA,iBAAAC;AAAA,UACA,eAAAC;AAAA,UACA,cAAAC;AAAA,UACA,aAAAC;AAAA,UACA,WAAA9B;AAAA,UACA,aAAa8E,aAAU/E,CAAW;AAAA,UAClC,aAAAS;AAAA,UACA,YAAAC;AAAA,UACA,UAAAH;AAAA,UACA,cAAAI;AAAA,QAAA;AAAA,MACF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF,GAEAmE,KAAehF;"}
|
1
|
+
{"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n }) as const,\n [isClassOngoing, milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n ],\n callback: messages => {\n const milestoneResourceEvent = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n );\n const { milestoneId } =\n (milestoneResourceEvent?.eventPayload as { milestoneId: string }) || {};\n\n if (milestoneId) {\n invalidateMilestoneResources(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEvent","message","milestoneId","invalidateMilestoneResources","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
|
@@ -1,20 +1,21 @@
|
|
1
|
-
import o, { keyframes as
|
2
|
-
import { GAME_LAUNCHER_SIZE as t
|
3
|
-
|
1
|
+
import o, { keyframes as r, css as s } from "styled-components";
|
2
|
+
import { GAME_LAUNCHER_SIZE as t } from "../../circle-games/game-launcher/comps/card-container/constants.js";
|
3
|
+
import { GAME_LAUNCHER_ASSET_PADDING as a } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
|
4
|
+
const p = 50 * 84 / 100, c = r`
|
4
5
|
0%{
|
5
6
|
opacity: 0;
|
6
7
|
}
|
7
8
|
100%{
|
8
9
|
opacity: 1;
|
9
10
|
}
|
10
|
-
`, d =
|
11
|
+
`, d = r`
|
11
12
|
0%{
|
12
13
|
opacity: 1;
|
13
14
|
}
|
14
15
|
100%{
|
15
16
|
opacity: 0;
|
16
17
|
}
|
17
|
-
`,
|
18
|
+
`, m = o.div`
|
18
19
|
height: ${t}px;
|
19
20
|
width: ${t}px;
|
20
21
|
background: transparent;
|
@@ -28,40 +29,40 @@ const p = 50 * 84 / 100, c = s`
|
|
28
29
|
position: absolute;
|
29
30
|
flex: 1;
|
30
31
|
z-index: 1;
|
31
|
-
`,
|
32
|
+
`, y = o.div`
|
32
33
|
height: ${t + a}px;
|
33
34
|
width: ${t + a}px;
|
34
35
|
position: absolute;
|
35
36
|
z-index: 2;
|
36
37
|
transform: ${({ $translateX: e = 0, $translateY: i = 0, $rotate: n = 0 }) => `translateX(${e}px) translateY(${i}px) rotate(${n}deg)`};
|
37
|
-
`,
|
38
|
+
`, A = o.div`
|
38
39
|
height: 100%;
|
39
40
|
width: 100%;
|
40
|
-
`,
|
41
|
+
`, h = o.div`
|
41
42
|
z-index: 2;
|
42
43
|
opacity: 0;
|
43
44
|
position: absolute;
|
44
|
-
animation: ${({ $animationType: e, $duration: i, $delay: n }) =>
|
45
|
+
animation: ${({ $animationType: e, $duration: i, $delay: n }) => s`
|
45
46
|
${e === "fadein" ? c : d} ${i}ms ${n}ms ease forwards
|
46
47
|
`};
|
47
48
|
transform: translateY(${(t + p) * 84 / 200 + 25}px);
|
48
|
-
`,
|
49
|
+
`, u = o.div`
|
49
50
|
position: absolute;
|
50
51
|
z-index: 20;
|
51
52
|
display: flex;
|
52
53
|
flex-direction: row;
|
53
54
|
align-items: flex-end;
|
54
55
|
|
55
|
-
${({ $animationType: e, $duration: i }) => e && i &&
|
56
|
+
${({ $animationType: e, $duration: i }) => e && i && s`
|
56
57
|
animation: ${e === "fadein" ? c : d} ${i}ms linear forwards;
|
57
58
|
`}
|
58
59
|
`;
|
59
60
|
export {
|
60
|
-
|
61
|
+
m as Accuracy,
|
61
62
|
$ as AccuracyMeterLottie,
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
63
|
+
A as AccuracyNeedleLottie,
|
64
|
+
y as AnimatedAccuracyNeedleContainer,
|
65
|
+
u as PercentTextWrapper,
|
66
|
+
h as TextWrapper
|
66
67
|
};
|
67
68
|
//# sourceMappingURL=accuracy-styled.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"accuracy-styled.js","sources":["../../../../src/features/post-game-stats/accuracy/accuracy-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport {
|
1
|
+
{"version":3,"file":"accuracy-styled.js","sources":["../../../../src/features/post-game-stats/accuracy/accuracy-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport { GAME_LAUNCHER_ASSET_PADDING } from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Accuracy = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const AccuracyMeterLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n flex: 1;\n z-index: 1;\n`;\n\nexport const AnimatedAccuracyNeedleContainer = styled.div<{\n $translateX?: number;\n $translateY?: number;\n $rotate?: number;\n}>`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n transform: ${({ $translateX = 0, $translateY = 0, $rotate = 0 }) =>\n `translateX(${$translateX}px) translateY(${$translateY}px) rotate(${$rotate}deg)`};\n`;\n\nexport const AccuracyNeedleLottie = styled.div`\n height: 100%;\n width: 100%;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n position: absolute;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n\nexport const PercentTextWrapper = styled.div<{\n $animationType?: 'fadein' | 'fadeout';\n $duration?: number;\n}>`\n position: absolute;\n z-index: 20;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n\n ${({ $animationType, $duration }) =>\n $animationType &&\n $duration &&\n css`\n animation: ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms linear forwards;\n `}\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Accuracy","styled","GAME_LAUNCHER_SIZE","AccuracyMeterLottie","GAME_LAUNCHER_ASSET_PADDING","AnimatedAccuracyNeedleContainer","$translateX","$translateY","$rotate","AccuracyNeedleLottie","TextWrapper","$animationType","$duration","$delay","css","PercentTextWrapper"],"mappings":";;;AAKA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAAWC,EAAO;AAAA,YACnBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAsBF,EAAO;AAAA,YAC9BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA;AAAA,GAM9CC,IAAkCJ,EAAO;AAAA,YAK1CC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,eAG5C,CAAC,EAAE,aAAAE,IAAc,GAAG,aAAAC,IAAc,GAAG,SAAAC,IAAU,EAAE,MAC5D,cAAcF,CAAW,kBAAkBC,CAAW,cAAcC,CAAO,MAAM;AAAA,GAGxEC,IAAuBR,EAAO;AAAA;AAAA;AAAA,GAK9BS,IAAcT,EAAO;AAAA;AAAA;AAAA;AAAA,eAQnB,CAAC,EAAE,gBAAAU,GAAgB,WAAAC,GAAW,QAAAC,QAAaC;AAAA,MACpDH,MAAmB,WAAWd,IAASE,CAAO,IAAIa,CAAS,MAAMC,CAAM;AAAA,GAC1E;AAAA,2BACyBX,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA,GAGlEmB,IAAqBd,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUrC,CAAC,EAAE,gBAAAU,GAAgB,WAAAC,EAAU,MAC7BD,KACAC,KACAE;AAAA,mBACeH,MAAmB,WAAWd,IAASE,CAAO,IAAIa,CAAS;AAAA,KACzE;AAAA;"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import o, { keyframes as e, css as p } from "styled-components";
|
2
|
-
import { GAME_LAUNCHER_SIZE as t
|
3
|
-
|
2
|
+
import { GAME_LAUNCHER_SIZE as t } from "../../circle-games/game-launcher/comps/card-container/constants.js";
|
3
|
+
import { GAME_LAUNCHER_ASSET_PADDING as i } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
|
4
|
+
const r = 50 * 84 / 100, c = e`
|
4
5
|
0%{
|
5
6
|
opacity: 0;
|
6
7
|
}
|
@@ -14,7 +15,7 @@ const c = 50 * 84 / 100, r = e`
|
|
14
15
|
100%{
|
15
16
|
opacity: 0;
|
16
17
|
}
|
17
|
-
`,
|
18
|
+
`, f = o.div`
|
18
19
|
height: ${t}px;
|
19
20
|
width: ${t}px;
|
20
21
|
background: transparent;
|
@@ -27,24 +28,24 @@ const c = 50 * 84 / 100, r = e`
|
|
27
28
|
width: ${t + i}px;
|
28
29
|
position: absolute;
|
29
30
|
z-index: 1;
|
30
|
-
`,
|
31
|
+
`, h = o.div`
|
31
32
|
height: ${t + i}px;
|
32
33
|
width: ${t + i}px;
|
33
34
|
position: absolute;
|
34
35
|
z-index: 2;
|
35
|
-
`,
|
36
|
+
`, y = o.div`
|
36
37
|
z-index: 2;
|
37
38
|
opacity: 0;
|
38
39
|
position: absolute;
|
39
40
|
animation: ${({ $animationType: n, $duration: s, $delay: a }) => p`
|
40
|
-
${n === "fadein" ?
|
41
|
+
${n === "fadein" ? c : d} ${s}ms ${a}ms ease forwards
|
41
42
|
`};
|
42
|
-
transform: translateY(${(t +
|
43
|
+
transform: translateY(${(t + r) * 84 / 200 + 25}px);
|
43
44
|
`;
|
44
45
|
export {
|
45
|
-
|
46
|
+
f as Clock,
|
46
47
|
$ as ClockLottie,
|
47
|
-
|
48
|
-
|
48
|
+
h as ClockTimeSpentLottie,
|
49
|
+
y as TextWrapper
|
49
50
|
};
|
50
51
|
//# sourceMappingURL=clock-styled.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"clock-styled.js","sources":["../../../../src/features/post-game-stats/clock/clock-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport {
|
1
|
+
{"version":3,"file":"clock-styled.js","sources":["../../../../src/features/post-game-stats/clock/clock-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport { GAME_LAUNCHER_ASSET_PADDING } from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Clock = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const ClockLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 1;\n`;\n\nexport const ClockTimeSpentLottie = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n position: absolute;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Clock","styled","GAME_LAUNCHER_SIZE","ClockLottie","GAME_LAUNCHER_ASSET_PADDING","ClockTimeSpentLottie","TextWrapper","$animationType","$duration","$delay","css"],"mappings":";;;AAKA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAAQC,EAAO;AAAA,YAChBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAcF,EAAO;AAAA,YACtBC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CC,IAAuBJ,EAAO;AAAA,YAC/BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CE,IAAcL,EAAO;AAAA;AAAA;AAAA;AAAA,eAQnB,CAAC,EAAE,gBAAAM,GAAgB,WAAAC,GAAW,QAAAC,QAAaC;AAAA,MACpDH,MAAmB,WAAWV,IAASE,CAAO,IAAIS,CAAS,MAAMC,CAAM;AAAA,GAC1E;AAAA,2BACyBP,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA;"}
|
@@ -1,48 +1,49 @@
|
|
1
1
|
import { jsx as N } from "react/jsx-runtime";
|
2
2
|
import { memo as P, useEffect as T } from "react";
|
3
|
-
import { LOTTIE as
|
4
|
-
import { GAME_LAUNCHER_SIZE as a
|
5
|
-
import {
|
6
|
-
import {
|
3
|
+
import { LOTTIE as o } from "../../../assets/lottie/lottie.js";
|
4
|
+
import { GAME_LAUNCHER_SIZE as a } from "../../circle-games/game-launcher/comps/card-container/constants.js";
|
5
|
+
import { GAME_LAUNCHER_ASSET_PADDING as O, GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH as c } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
|
6
|
+
import { useCircleSounds as f } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
|
7
|
+
import { CircleSoundKey as E } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
|
7
8
|
import A from "../../ui/lottie-animation/lottie-animation.js";
|
8
9
|
const _ = {
|
9
|
-
point1:
|
10
|
-
point5:
|
11
|
-
point10:
|
12
|
-
point15:
|
13
|
-
point20:
|
14
|
-
point25:
|
15
|
-
point30:
|
16
|
-
point35:
|
17
|
-
point40:
|
18
|
-
point45:
|
19
|
-
point50:
|
20
|
-
point60:
|
21
|
-
point100:
|
10
|
+
point1: o.POINT1,
|
11
|
+
point5: o.POINT5,
|
12
|
+
point10: o.POINT10,
|
13
|
+
point15: o.POINT15,
|
14
|
+
point20: o.POINT20,
|
15
|
+
point25: o.POINT25,
|
16
|
+
point30: o.POINT30,
|
17
|
+
point35: o.POINT35,
|
18
|
+
point40: o.POINT40,
|
19
|
+
point45: o.POINT45,
|
20
|
+
point50: o.POINT50,
|
21
|
+
point60: o.POINT60,
|
22
|
+
point100: o.POINT100
|
22
23
|
}, r = a + O - c, l = {
|
23
24
|
loop: !1,
|
24
25
|
autoplay: !0,
|
25
26
|
renderer: "canvas"
|
26
|
-
},
|
27
|
-
const { point: m = 0, onReveal: n, onComplete: i, show: e } = p, { play: s } =
|
27
|
+
}, h = P((p) => {
|
28
|
+
const { point: m = 0, onReveal: n, onComplete: i, show: e } = p, { play: s } = f(), t = _[`point${m}`], I = {
|
28
29
|
name: "complete",
|
29
30
|
callback: i
|
30
31
|
};
|
31
32
|
return T(() => {
|
32
|
-
|
33
|
-
}, [
|
33
|
+
t || i(), e && t && (n == null || n());
|
34
|
+
}, [t, i, n, e]), e && t ? /* @__PURE__ */ N(
|
34
35
|
A,
|
35
36
|
{
|
36
37
|
width: r,
|
37
38
|
height: r,
|
38
|
-
src:
|
39
|
+
src: t,
|
39
40
|
settings: l,
|
40
41
|
eventListener: I,
|
41
|
-
onRender: () => s(
|
42
|
+
onRender: () => s(E.POINTS_AWARDED)
|
42
43
|
}
|
43
44
|
) : null;
|
44
45
|
});
|
45
46
|
export {
|
46
|
-
|
47
|
+
h as Points
|
47
48
|
};
|
48
49
|
//# sourceMappingURL=points.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationEventName } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n
|
1
|
+
{"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationEventName } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\n\nconst POINTS_MAP: Record<string, string> = {\n point1: LOTTIE.POINT1,\n point5: LOTTIE.POINT5,\n point10: LOTTIE.POINT10,\n point15: LOTTIE.POINT15,\n point20: LOTTIE.POINT20,\n point25: LOTTIE.POINT25,\n point30: LOTTIE.POINT30,\n point35: LOTTIE.POINT35,\n point40: LOTTIE.POINT40,\n point45: LOTTIE.POINT45,\n point50: LOTTIE.POINT50,\n point60: LOTTIE.POINT60,\n point100: LOTTIE.POINT100,\n};\nconst animationDimension =\n GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING - GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH;\nconst animationSettings = {\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n\n const { play } = useCircleSounds();\n\n const animationPath = POINTS_MAP[`point${point}`];\n const animationEventListener = {\n name: 'complete' as AnimationEventName,\n callback: onComplete,\n };\n\n useEffect(() => {\n if (!animationPath) onComplete();\n\n if (show && animationPath) onReveal?.();\n }, [animationPath, onComplete, onReveal, show]);\n\n if (show && animationPath) {\n return (\n <LottieAnimation\n width={animationDimension}\n height={animationDimension}\n src={animationPath}\n settings={animationSettings}\n eventListener={animationEventListener}\n onRender={() => play(CircleSoundKey.POINTS_AWARDED)}\n />\n );\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","LOTTIE","animationDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH","animationSettings","Points","memo","props","point","onReveal","onComplete","show","play","useCircleSounds","animationPath","animationEventListener","useEffect","jsx","LottieAnimation","CircleSoundKey"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAqC;AAAA,EACzC,QAAQC,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,UAAUA,EAAO;AACnB,GACMC,IACJC,IAAqBC,IAA8BC,GAC/CC,IAAoB;AAAA,EACxB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAE5C,EAAE,MAAAK,MAASC,KAEXC,IAAgBhB,EAAW,QAAQU,CAAK,EAAE,GAC1CO,IAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,UAAUL;AAAA,EAAA;AASZ,SANAM,EAAU,MAAM;AACV,IAACF,KAA0BJ,KAE3BC,KAAQG,MAA0BL,KAAA,QAAAA;AAAA,KACrC,CAACK,GAAeJ,GAAYD,GAAUE,CAAI,CAAC,GAE1CA,KAAQG,IAER,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOlB;AAAA,MACP,QAAQA;AAAA,MACR,KAAKc;AAAA,MACL,UAAUV;AAAA,MACV,eAAeW;AAAA,MACf,UAAU,MAAMH,EAAKO,EAAe,cAAc;AAAA,IAAA;AAAA,EAAA,IAKjD;AACT,CAAC;"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import o from "styled-components";
|
2
|
-
import { GAME_LAUNCHER_SIZE as t } from "../circle-games/game-launcher/comps/
|
2
|
+
import { GAME_LAUNCHER_SIZE as t } from "../circle-games/game-launcher/comps/card-container/constants.js";
|
3
3
|
const n = o.div`
|
4
4
|
flex: 1;
|
5
5
|
position: absolute;
|