@cuemath/leap 3.1.38-beta-hb-5 → 3.1.38
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/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +148 -166
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters-v2/utils/index.js +3 -7
- package/dist/features/chapters-v2/utils/index.js.map +1 -1
- package/dist/features/chapters-v2/utils/node-card-utils.js +21 -25
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +4 -16
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/link.js +0 -25
- package/dist/assets/line-icons/icons/link.js.map +0 -1
|
@@ -1,225 +1,209 @@
|
|
|
1
|
-
import { jsxs as l, jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import ht from "../../../../../assets/line-icons/icons/lock3.js";
|
|
1
|
+
import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { memo as ar, useRef as T, useCallback as d, useEffect as sr } from "react";
|
|
3
|
+
import lr from "../../../../../assets/line-icons/icons/check2.js";
|
|
4
|
+
import or from "../../../../../assets/line-icons/icons/eye2.js";
|
|
5
|
+
import mr from "../../../../../assets/line-icons/icons/home2.js";
|
|
6
|
+
import dr from "../../../../../assets/line-icons/icons/lock3.js";
|
|
8
7
|
import v from "../../../../../assets/line-icons/icons/more-vertical.js";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import { BLOCK_TYPE as
|
|
18
|
-
import { NODE_CARD_STATES as
|
|
19
|
-
import { getNodeTypeBasedBgImage as
|
|
20
|
-
import { getNodeCardBasedIcon as
|
|
21
|
-
import { NodeCardContainer as
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
const
|
|
8
|
+
import pr from "../../../../../assets/line-icons/icons/redo.js";
|
|
9
|
+
import ur from "../../../../../assets/line-icons/icons/skip.js";
|
|
10
|
+
import hr from "../../../../../assets/line-icons/icons/unlock2.js";
|
|
11
|
+
import fr from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
12
|
+
import Cr from "../../../../ui/hooks/use-context-menu-click-handler.js";
|
|
13
|
+
import A from "../../../../ui/layout/flex-view.js";
|
|
14
|
+
import _r from "../../../../ui/lottie-animation/lottie-animation.js";
|
|
15
|
+
import $r from "../../../../ui/text/text.js";
|
|
16
|
+
import { BLOCK_TYPE as Ir } from "../../../constants/block-constants.js";
|
|
17
|
+
import { NODE_CARD_STATES as G, TEACHER_MENU_LABELS as br } from "../../../constants/node-constants.js";
|
|
18
|
+
import { getNodeTypeBasedBgImage as Er } from "../../../utils/index.js";
|
|
19
|
+
import { getNodeCardBasedIcon as kr } from "../../../utils/node-card-utils.js";
|
|
20
|
+
import { NodeCardContainer as gr, NodeCardInfoWrapper as Lr, IconWrapper as Or, StyledImportantIcon as Tr, NodeKebabMenuWrapper as j, NodeCardContentWrapper as yr, NodeCardTitle as xr, NodeMenuOptionsWrapper as Sr } from "../node-card-styled.js";
|
|
21
|
+
import Wr from "../node-card-tags.js";
|
|
22
|
+
import Mr from "../node-menu-options/node-menu-options.js";
|
|
23
|
+
const Br = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Kr, REVIEW: vr, VIEW: Ar, MARK_AS_DONE: Gr, RESET: jr, LOCK: Xr, UNLOCK: Hr } = br, y = "cue_cp_close_other_node_card_menu_options", le = ar(
|
|
25
24
|
({
|
|
26
|
-
nodeData:
|
|
27
|
-
imageHue:
|
|
28
|
-
blockType:
|
|
25
|
+
nodeData: r,
|
|
26
|
+
imageHue: X,
|
|
27
|
+
blockType: H,
|
|
29
28
|
isSkipped: q,
|
|
30
|
-
onNodeAssignAsHomework:
|
|
31
|
-
onNodeMarkAsDone:
|
|
32
|
-
onNodeView:
|
|
33
|
-
onNodeReview:
|
|
34
|
-
onNodeReattempt:
|
|
35
|
-
onNodeUnlock:
|
|
36
|
-
onNodeUnassign:
|
|
37
|
-
onNodeSkipUnSkip:
|
|
29
|
+
onNodeAssignAsHomework: p,
|
|
30
|
+
onNodeMarkAsDone: u,
|
|
31
|
+
onNodeView: c,
|
|
32
|
+
onNodeReview: n,
|
|
33
|
+
onNodeReattempt: h,
|
|
34
|
+
onNodeUnlock: f,
|
|
35
|
+
onNodeUnassign: C,
|
|
36
|
+
onNodeSkipUnSkip: _
|
|
38
37
|
}) => {
|
|
39
|
-
const x = T(
|
|
38
|
+
const x = T(r.node_id), b = T(null), { menuVisible: a, onMenuClick: S, hideMenu: W } = Cr(b), {
|
|
40
39
|
accuracy: F,
|
|
41
|
-
attempt_location:
|
|
42
|
-
node_type:
|
|
43
|
-
card_header:
|
|
44
|
-
title:
|
|
45
|
-
state:
|
|
46
|
-
is_optional:
|
|
47
|
-
sheet_statement:
|
|
48
|
-
permissions:
|
|
49
|
-
user_attempt_id:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
can_mark_familiar: V,
|
|
54
|
-
can_review: p,
|
|
40
|
+
attempt_location: P,
|
|
41
|
+
node_type: E,
|
|
42
|
+
card_header: z,
|
|
43
|
+
title: Y,
|
|
44
|
+
state: k,
|
|
45
|
+
is_optional: J,
|
|
46
|
+
sheet_statement: M,
|
|
47
|
+
permissions: Q,
|
|
48
|
+
user_attempt_id: o
|
|
49
|
+
} = r, { lottie: Z } = kr(E), g = T(null), {
|
|
50
|
+
can_mark_familiar: R,
|
|
51
|
+
can_review: m,
|
|
55
52
|
can_assign_as_homework: w,
|
|
56
|
-
can_reset:
|
|
57
|
-
can_unlock:
|
|
58
|
-
can_unassign:
|
|
53
|
+
can_reset: V,
|
|
54
|
+
can_unlock: $,
|
|
55
|
+
can_unassign: U,
|
|
59
56
|
can_un_skip: L,
|
|
60
|
-
can_skip:
|
|
61
|
-
} =
|
|
62
|
-
(
|
|
63
|
-
switch (
|
|
57
|
+
can_skip: O
|
|
58
|
+
} = Q, B = H === Ir.GOAL, i = k === G.LOCKED || L, D = k === G.NOT_STARTED, N = P === "INCLASS", rr = (i || D) && ($ || U), er = Er(E), s = d(
|
|
59
|
+
(e) => {
|
|
60
|
+
switch (e) {
|
|
64
61
|
case "node-card-view":
|
|
65
|
-
|
|
62
|
+
m && o ? n == null || n(r) : c == null || c(r);
|
|
66
63
|
return;
|
|
67
64
|
case "node-card-assign-as-hw":
|
|
68
|
-
|
|
65
|
+
p == null || p(r);
|
|
69
66
|
return;
|
|
70
67
|
case "node-card-mark-as-done":
|
|
71
|
-
|
|
68
|
+
u == null || u(r);
|
|
72
69
|
return;
|
|
73
70
|
case "node-card-reset":
|
|
74
|
-
|
|
71
|
+
h == null || h(r);
|
|
75
72
|
return;
|
|
76
73
|
case "node-card-unlock":
|
|
77
|
-
|
|
74
|
+
f == null || f(r);
|
|
78
75
|
return;
|
|
79
76
|
case "node-card-lock":
|
|
80
|
-
|
|
77
|
+
C == null || C(r);
|
|
81
78
|
return;
|
|
82
79
|
case "node-card-skip":
|
|
83
80
|
case "node-card-revert-skip":
|
|
84
|
-
|
|
85
|
-
return;
|
|
86
|
-
case "node-card-activity-link":
|
|
87
|
-
o !== "TURING_BASIC" && d === "COMPLETED" ? c == null || c(t) : window.open(B);
|
|
81
|
+
_ == null || _(r);
|
|
88
82
|
return;
|
|
89
83
|
default:
|
|
90
|
-
throw new Error(`No callback function for ${
|
|
84
|
+
throw new Error(`No callback function for ${e}`);
|
|
91
85
|
}
|
|
92
86
|
},
|
|
93
87
|
[
|
|
88
|
+
m,
|
|
89
|
+
r,
|
|
94
90
|
p,
|
|
95
|
-
|
|
96
|
-
t,
|
|
97
|
-
o,
|
|
91
|
+
u,
|
|
98
92
|
h,
|
|
99
|
-
|
|
93
|
+
n,
|
|
94
|
+
_,
|
|
100
95
|
C,
|
|
96
|
+
f,
|
|
101
97
|
c,
|
|
102
|
-
|
|
103
|
-
$,
|
|
104
|
-
_,
|
|
105
|
-
i,
|
|
106
|
-
d,
|
|
107
|
-
m
|
|
98
|
+
o
|
|
108
99
|
]
|
|
109
|
-
),
|
|
110
|
-
var
|
|
111
|
-
|
|
112
|
-
}, [
|
|
113
|
-
var
|
|
114
|
-
(
|
|
115
|
-
}, []),
|
|
116
|
-
|
|
117
|
-
}, [
|
|
118
|
-
(
|
|
119
|
-
if (
|
|
120
|
-
const
|
|
100
|
+
), tr = d(() => {
|
|
101
|
+
var e;
|
|
102
|
+
i || (e = g.current) == null || e.play();
|
|
103
|
+
}, [i]), cr = d(() => {
|
|
104
|
+
var e;
|
|
105
|
+
(e = g.current) == null || e.stop();
|
|
106
|
+
}, []), nr = d(() => {
|
|
107
|
+
m && o ? n == null || n(r) : c == null || c(r);
|
|
108
|
+
}, [m, r, n, c, o]), K = d(
|
|
109
|
+
(e) => {
|
|
110
|
+
if (e.stopPropagation(), !a) {
|
|
111
|
+
const I = new CustomEvent(y, {
|
|
121
112
|
detail: { sourceId: x.current }
|
|
122
113
|
});
|
|
123
|
-
document.dispatchEvent(
|
|
114
|
+
document.dispatchEvent(I);
|
|
124
115
|
}
|
|
125
116
|
S();
|
|
126
117
|
},
|
|
127
|
-
[S,
|
|
118
|
+
[S, a]
|
|
128
119
|
);
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
120
|
+
sr(() => {
|
|
121
|
+
const e = (I) => {
|
|
122
|
+
I.detail && I.detail.sourceId !== x.current && a && W();
|
|
132
123
|
};
|
|
133
|
-
return document.addEventListener(
|
|
134
|
-
document.removeEventListener(
|
|
124
|
+
return document.addEventListener(y, e), () => {
|
|
125
|
+
document.removeEventListener(y, e);
|
|
135
126
|
};
|
|
136
|
-
}, [
|
|
137
|
-
const
|
|
127
|
+
}, [a, W]);
|
|
128
|
+
const ir = [
|
|
138
129
|
{
|
|
139
130
|
id: "node-card-view",
|
|
140
|
-
label:
|
|
141
|
-
icon:
|
|
131
|
+
label: m && o ? vr : Ar,
|
|
132
|
+
icon: or,
|
|
142
133
|
disabled: !1,
|
|
143
|
-
onClick:
|
|
134
|
+
onClick: s
|
|
144
135
|
},
|
|
145
136
|
{
|
|
146
137
|
id: "node-card-assign-as-hw",
|
|
147
|
-
label:
|
|
148
|
-
icon:
|
|
138
|
+
label: Kr,
|
|
139
|
+
icon: mr,
|
|
149
140
|
disabled: !w,
|
|
150
|
-
onClick:
|
|
141
|
+
onClick: s
|
|
151
142
|
},
|
|
152
143
|
{
|
|
153
144
|
id: "node-card-reset",
|
|
154
|
-
label:
|
|
155
|
-
icon:
|
|
156
|
-
disabled: !D,
|
|
157
|
-
onClick: a
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
id: "node-card-mark-as-done",
|
|
161
|
-
label: Ht,
|
|
162
|
-
icon: dt,
|
|
145
|
+
label: jr,
|
|
146
|
+
icon: pr,
|
|
163
147
|
disabled: !V,
|
|
164
|
-
onClick:
|
|
148
|
+
onClick: s
|
|
165
149
|
},
|
|
166
150
|
{
|
|
167
|
-
id:
|
|
168
|
-
label:
|
|
169
|
-
icon:
|
|
170
|
-
disabled: !
|
|
171
|
-
onClick:
|
|
151
|
+
id: "node-card-mark-as-done",
|
|
152
|
+
label: Gr,
|
|
153
|
+
icon: lr,
|
|
154
|
+
disabled: !R,
|
|
155
|
+
onClick: s
|
|
172
156
|
},
|
|
173
157
|
{
|
|
174
|
-
id: `node-card-${
|
|
175
|
-
label:
|
|
176
|
-
icon:
|
|
177
|
-
disabled: !
|
|
178
|
-
onClick:
|
|
158
|
+
id: `node-card-${$ ? "unlock" : "lock"}`,
|
|
159
|
+
label: $ ? Hr : Xr,
|
|
160
|
+
icon: $ ? hr : dr,
|
|
161
|
+
disabled: !rr,
|
|
162
|
+
onClick: s
|
|
179
163
|
},
|
|
180
164
|
{
|
|
181
|
-
id:
|
|
182
|
-
label: "
|
|
183
|
-
icon:
|
|
184
|
-
disabled: !
|
|
185
|
-
onClick:
|
|
165
|
+
id: `node-card-${O ? "skip" : "revert-skip"}`,
|
|
166
|
+
label: O ? "Skip" : "Revert 'Skip'",
|
|
167
|
+
icon: ur,
|
|
168
|
+
disabled: !L && !O,
|
|
169
|
+
onClick: s
|
|
186
170
|
}
|
|
187
171
|
];
|
|
188
|
-
return /* @__PURE__ */ l(
|
|
189
|
-
/* @__PURE__ */
|
|
190
|
-
|
|
172
|
+
return /* @__PURE__ */ l(A, { $position: "relative", children: [
|
|
173
|
+
/* @__PURE__ */ t(
|
|
174
|
+
gr,
|
|
191
175
|
{
|
|
192
|
-
$background: `${
|
|
193
|
-
$disabled:
|
|
194
|
-
onClick:
|
|
176
|
+
$background: `${X}_2`,
|
|
177
|
+
$disabled: i,
|
|
178
|
+
onClick: nr,
|
|
195
179
|
$opacity: q ? 0.5 : 1,
|
|
196
180
|
children: /* @__PURE__ */ l(
|
|
197
|
-
|
|
181
|
+
fr,
|
|
198
182
|
{
|
|
199
183
|
renderAs: "primary",
|
|
200
|
-
tooltipItem:
|
|
184
|
+
tooltipItem: M,
|
|
201
185
|
position: "bottom",
|
|
202
186
|
zIndex: 5,
|
|
203
|
-
hidden:
|
|
187
|
+
hidden: a || !M,
|
|
204
188
|
parentWidth: "100%",
|
|
205
189
|
widthX: 11.25,
|
|
206
190
|
children: [
|
|
207
191
|
/* @__PURE__ */ l(
|
|
208
|
-
|
|
192
|
+
Lr,
|
|
209
193
|
{
|
|
210
194
|
$flexDirection: "row",
|
|
211
195
|
$alignItems: "center",
|
|
212
196
|
$width: "100%",
|
|
213
197
|
$heightX: 3.5,
|
|
214
|
-
$bgImage:
|
|
198
|
+
$bgImage: er,
|
|
215
199
|
$gutterX: 0.78125,
|
|
216
200
|
$flexGap: 8.5,
|
|
217
|
-
$opacity:
|
|
218
|
-
onMouseEnter:
|
|
219
|
-
onMouseLeave:
|
|
201
|
+
$opacity: i ? 0.5 : 1,
|
|
202
|
+
onMouseEnter: tr,
|
|
203
|
+
onMouseLeave: cr,
|
|
220
204
|
children: [
|
|
221
205
|
/* @__PURE__ */ l(
|
|
222
|
-
|
|
206
|
+
Or,
|
|
223
207
|
{
|
|
224
208
|
$width: 31,
|
|
225
209
|
$height: 31,
|
|
@@ -228,41 +212,39 @@ const vt = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Gt, REVIEW: jt,
|
|
|
228
212
|
$alignItems: "center",
|
|
229
213
|
$justifyContent: "center",
|
|
230
214
|
children: [
|
|
231
|
-
/* @__PURE__ */
|
|
232
|
-
|
|
215
|
+
/* @__PURE__ */ t(
|
|
216
|
+
_r,
|
|
233
217
|
{
|
|
234
|
-
src:
|
|
218
|
+
src: Z,
|
|
235
219
|
ref: g,
|
|
236
|
-
settings:
|
|
237
|
-
width: 31,
|
|
238
|
-
height: 31
|
|
220
|
+
settings: Br
|
|
239
221
|
}
|
|
240
222
|
),
|
|
241
|
-
!
|
|
223
|
+
!J && /* @__PURE__ */ t(Tr, {})
|
|
242
224
|
]
|
|
243
225
|
}
|
|
244
226
|
),
|
|
245
227
|
/* @__PURE__ */ l(
|
|
246
|
-
|
|
228
|
+
$r,
|
|
247
229
|
{
|
|
248
230
|
$renderAs: "ac4-black",
|
|
249
231
|
$color: "BLACK",
|
|
250
|
-
$opacity:
|
|
232
|
+
$opacity: i ? 0.5 : 1,
|
|
251
233
|
$textDecoration: L ? "line-through" : "none",
|
|
252
234
|
children: [
|
|
253
|
-
|
|
235
|
+
z,
|
|
254
236
|
" ",
|
|
255
|
-
|
|
237
|
+
N && "• CW"
|
|
256
238
|
]
|
|
257
239
|
}
|
|
258
240
|
),
|
|
259
|
-
/* @__PURE__ */
|
|
241
|
+
/* @__PURE__ */ t(A, { className: "context-menu", children: B && /* @__PURE__ */ t(j, { ref: b, onClick: K, children: /* @__PURE__ */ t(v, { width: 18, height: 18 }) }) })
|
|
260
242
|
]
|
|
261
243
|
}
|
|
262
244
|
),
|
|
263
|
-
/* @__PURE__ */
|
|
264
|
-
!
|
|
265
|
-
|
|
245
|
+
/* @__PURE__ */ t(Wr, { nodeType: E, state: k, accuracy: F }),
|
|
246
|
+
!B && /* @__PURE__ */ l(
|
|
247
|
+
yr,
|
|
266
248
|
{
|
|
267
249
|
$flexDirection: "row",
|
|
268
250
|
$alignItems: "center",
|
|
@@ -271,16 +253,16 @@ const vt = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Gt, REVIEW: jt,
|
|
|
271
253
|
$heightX: 4,
|
|
272
254
|
$justifyContent: "space-between",
|
|
273
255
|
children: [
|
|
274
|
-
/* @__PURE__ */
|
|
275
|
-
|
|
256
|
+
/* @__PURE__ */ t(
|
|
257
|
+
xr,
|
|
276
258
|
{
|
|
277
259
|
$renderAs: "ab3",
|
|
278
260
|
$color: "BLACK_1",
|
|
279
|
-
$opacity:
|
|
280
|
-
children:
|
|
261
|
+
$opacity: i ? 0.5 : 1,
|
|
262
|
+
children: Y
|
|
281
263
|
}
|
|
282
264
|
),
|
|
283
|
-
/* @__PURE__ */
|
|
265
|
+
/* @__PURE__ */ t(j, { ref: b, onClick: K, children: /* @__PURE__ */ t(v, { width: 18, height: 18 }) })
|
|
284
266
|
]
|
|
285
267
|
}
|
|
286
268
|
)
|
|
@@ -289,11 +271,11 @@ const vt = { renderer: "canvas", autoplay: !1 }, { ASSIGN_AS_HW: Gt, REVIEW: jt,
|
|
|
289
271
|
)
|
|
290
272
|
}
|
|
291
273
|
),
|
|
292
|
-
/* @__PURE__ */
|
|
274
|
+
/* @__PURE__ */ t(Sr, { $visible: a, children: /* @__PURE__ */ t(Mr, { options: ir }) })
|
|
293
275
|
] });
|
|
294
276
|
}
|
|
295
277
|
);
|
|
296
278
|
export {
|
|
297
|
-
|
|
279
|
+
le as default
|
|
298
280
|
};
|
|
299
281
|
//# sourceMappingURL=teacher-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport LinkIcon from '../../../../../assets/line-icons/icons/link';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst customEventName = 'cue_cp_close_other_node_card_menu_options';\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const componentUniqueIdRef = useRef(nodeData.node_id);\n const containerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n user_attempt_id: userAttemptId,\n is_turing: isTuring,\n learnosity_activity_ref: learnosityReference,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n case 'node-card-activity-link':\n if (nodeType !== 'TURING_BASIC' && state === 'COMPLETED') {\n onNodeReview?.(nodeData);\n } else {\n window.open(learnosityReference);\n }\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n learnosityReference,\n nodeData,\n nodeType,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n state,\n userAttemptId,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n\n //* If this menu is not currently visible, it means onMenuClick will attempt to open it.\n //* In that case, dispatch an event to close other menus.\n //* This check ensures we only dispatch, When this menu is about to be opened.\n if (!menuVisible) {\n const event = new CustomEvent(customEventName, {\n detail: { sourceId: componentUniqueIdRef.current },\n });\n\n document.dispatchEvent(event);\n }\n\n //* This will toggle the current menu's visibility.\n onMenuClick();\n },\n [onMenuClick, menuVisible],\n );\n\n useEffect(() => {\n const handleCloseRequest = (event: CustomEvent) => {\n //*() Ensure event.detail and event.detail.sourceId exist before accessing\n if (event.detail && event.detail.sourceId !== componentUniqueIdRef.current && menuVisible) {\n hideMenu();\n }\n };\n\n document.addEventListener(customEventName, handleCloseRequest as EventListener);\n\n return () => {\n document.removeEventListener(customEventName, handleCloseRequest as EventListener);\n };\n }, [menuVisible, hideMenu]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-activity-link`,\n label: 'Activity Link',\n icon: LinkIcon,\n disabled: !isTuring,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n $opacity={isSkipped ? 0.5 : 1}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={sheetLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n width={31}\n height={31}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","customEventName","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","componentUniqueIdRef","useRef","containerRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","isTuring","learnosityReference","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","e","event","useEffect","handleCloseRequest","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","LinkIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport Lock3Icon from '../../../../../assets/line-icons/icons/lock3';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport RedoIcon from '../../../../../assets/line-icons/icons/redo';\nimport SkipIcon from '../../../../../assets/line-icons/icons/skip';\nimport Unlock2Icon from '../../../../../assets/line-icons/icons/unlock2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE, RESET, LOCK, UNLOCK } = TEACHER_MENU_LABELS;\n\nconst customEventName = 'cue_cp_close_other_node_card_menu_options';\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeUnlock,\n onNodeUnassign,\n onNodeSkipUnSkip,\n }) => {\n const componentUniqueIdRef = useRef(nodeData.node_id);\n const containerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n user_attempt_id: userAttemptId,\n } = nodeData;\n\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const {\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n can_assign_as_homework: canAssignAsHw,\n can_reset: canReset,\n can_unlock: canUnlock,\n can_unassign: canUnassign,\n can_un_skip: canUnSkip,\n can_skip: canSkip,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED || canUnSkip;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const inClassSheet = attemptLocation === 'INCLASS';\n const canLockUnlockSheet = (sheetLocked || sheetNotStarted) && (canUnlock || canUnassign);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAssignAsHomework?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n\n case 'node-card-reset':\n onNodeReattempt?.(nodeData);\n\n return;\n case 'node-card-unlock':\n onNodeUnlock?.(nodeData);\n\n return;\n case 'node-card-lock':\n onNodeUnassign?.(nodeData);\n\n return;\n case 'node-card-skip':\n case 'node-card-revert-skip':\n onNodeSkipUnSkip?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAssignAsHomework,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeSkipUnSkip,\n onNodeUnassign,\n onNodeUnlock,\n onNodeView,\n userAttemptId,\n ],\n );\n\n const handleOnMouseEnter = useCallback(() => {\n if (sheetLocked) return;\n animationRef.current?.play();\n }, [sheetLocked]);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n const handleOnNodeCardClick = useCallback(() => {\n if (canReview && userAttemptId) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n }, [canReview, nodeData, onNodeReview, onNodeView, userAttemptId]);\n\n const handleOnKebabMenuClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n\n //* If this menu is not currently visible, it means onMenuClick will attempt to open it.\n //* In that case, dispatch an event to close other menus.\n //* This check ensures we only dispatch, When this menu is about to be opened.\n if (!menuVisible) {\n const event = new CustomEvent(customEventName, {\n detail: { sourceId: componentUniqueIdRef.current },\n });\n\n document.dispatchEvent(event);\n }\n\n //* This will toggle the current menu's visibility.\n onMenuClick();\n },\n [onMenuClick, menuVisible],\n );\n\n useEffect(() => {\n const handleCloseRequest = (event: CustomEvent) => {\n //*() Ensure event.detail and event.detail.sourceId exist before accessing\n if (event.detail && event.detail.sourceId !== componentUniqueIdRef.current && menuVisible) {\n hideMenu();\n }\n };\n\n document.addEventListener(customEventName, handleCloseRequest as EventListener);\n\n return () => {\n document.removeEventListener(customEventName, handleCloseRequest as EventListener);\n };\n }, [menuVisible, hideMenu]);\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview && userAttemptId ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canAssignAsHw,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-reset',\n label: RESET,\n icon: RedoIcon,\n disabled: !canReset,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canUnlock ? 'unlock' : 'lock'}`,\n label: canUnlock ? UNLOCK : LOCK,\n icon: canUnlock ? Unlock2Icon : Lock3Icon,\n disabled: !canLockUnlockSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: `node-card-${canSkip ? 'skip' : `revert-skip`}`,\n label: canSkip ? 'Skip' : `Revert 'Skip'`,\n icon: SkipIcon,\n disabled: !canUnSkip && !canSkip,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <FlexView $position=\"relative\">\n <Styled.NodeCardContainer\n $background={`${imageHue}_2`}\n $disabled={sheetLocked}\n onClick={handleOnNodeCardClick}\n $opacity={isSkipped ? 0.5 : 1}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={menuVisible || !sheetStatement}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $opacity={sheetLocked ? 0.5 : 1}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation\n src={nodeCardLottie}\n ref={animationRef}\n settings={renderSettings}\n />\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text\n $renderAs=\"ac4-black\"\n $color=\"BLACK\"\n $opacity={sheetLocked ? 0.5 : 1}\n $textDecoration={canUnSkip ? 'line-through' : 'none'}\n >\n {cardHeader} {inClassSheet && `• CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={handleOnKebabMenuClick}>\n <MoreVerticalIcon width={18} height={18} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n </Styled.NodeCardContainer>\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </FlexView>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["renderSettings","ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","RESET","LOCK","UNLOCK","TEACHER_MENU_LABELS","customEventName","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAssignAsHomework","onNodeMarkAsDone","onNodeView","onNodeReview","onNodeReattempt","onNodeUnlock","onNodeUnassign","onNodeSkipUnSkip","componentUniqueIdRef","useRef","containerRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","userAttemptId","nodeCardLottie","getNodeCardBasedIcon","animationRef","canMarkFamiliar","canReview","canAssignAsHw","canReset","canUnlock","canUnassign","canUnSkip","canSkip","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","inClassSheet","canLockUnlockSheet","nodeBgImage","getNodeTypeBasedBgImage","handleOnMenuOptionClick","useCallback","optionId","handleOnMouseEnter","_a","handleOnMouseLeave","handleOnNodeCardClick","handleOnKebabMenuClick","event","useEffect","handleCloseRequest","menuOptions","Eye2Icon","Home2Icon","RedoIcon","Check2Icon","Unlock2Icon","Lock3Icon","SkipIcon","jsxs","FlexView","jsx","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","LottieAnimation","Styled.StyledImportantIcon","Text","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
|
|
@@ -3,30 +3,26 @@ const _ = (E) => {
|
|
|
3
3
|
if (!E) return 0;
|
|
4
4
|
const { mandatory: r } = E, { completed: c, total: t } = r;
|
|
5
5
|
return t === 0 ? 0 : Math.floor(c / t * 100);
|
|
6
|
-
},
|
|
6
|
+
}, s = (E) => {
|
|
7
7
|
switch (E) {
|
|
8
8
|
case "LEVEL2":
|
|
9
9
|
case "LEVEL3":
|
|
10
|
-
case "HIDDEN_BASIC":
|
|
11
10
|
return e.NODE_TEST_PREP_BG;
|
|
12
11
|
case "LEARNING":
|
|
13
12
|
return e.NODE_LEARN_BG;
|
|
14
13
|
case "RECAP":
|
|
15
14
|
case "REMEDIAL":
|
|
16
15
|
case "REVISION":
|
|
17
|
-
case "PPT_BASIC":
|
|
18
16
|
return e.NODE_RECAP_BG;
|
|
19
17
|
case "DYNAMIC":
|
|
20
18
|
case "ASSESSMENT":
|
|
21
19
|
case "CHAPTER_ASSESSMENT":
|
|
22
20
|
case "DIAGNOSTIC":
|
|
23
|
-
case "TURING_ASSESSMENT":
|
|
24
21
|
return e.NODE_CUSTOM_TEST_BG;
|
|
25
22
|
case "PRACTICE":
|
|
26
23
|
case "EXTRA_PRACTICE":
|
|
27
24
|
case "TARGET_PRACTICE":
|
|
28
25
|
case "MASTERY":
|
|
29
|
-
case "TURING_PRACTICE":
|
|
30
26
|
return e.NODE_PRACTICE_BG;
|
|
31
27
|
case "PUZZLE":
|
|
32
28
|
case "PUZZLE_EASY":
|
|
@@ -36,7 +32,7 @@ const _ = (E) => {
|
|
|
36
32
|
case "VIDEO":
|
|
37
33
|
return e.NODE_VIDEO_BG;
|
|
38
34
|
default:
|
|
39
|
-
return e.
|
|
35
|
+
return e.NODE_CUSTOM_TEST_BG;
|
|
40
36
|
}
|
|
41
37
|
}, T = (E, r, c, t) => {
|
|
42
38
|
if (!c) return `(${r})`;
|
|
@@ -45,7 +41,7 @@ const _ = (E) => {
|
|
|
45
41
|
};
|
|
46
42
|
export {
|
|
47
43
|
_ as getChapterCompletionPercentage,
|
|
48
|
-
|
|
44
|
+
s as getNodeTypeBasedBgImage,
|
|
49
45
|
T as getSheetNLessonCount
|
|
50
46
|
};
|
|
51
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/features/chapters-v2/utils/index.ts"],"sourcesContent":["import type { IChapterProgressStats } from '../chapter-details/chapter-details-types';\nimport type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\n// This function calculates the completion percentage of a chapter based on progress stats.\n// If no progress stats are provided, it returns 0.\n// It uses the `mandatory` field from the progress stats to determine the completed and total items.\n// It returns an integer representing the percentage of completion, rounded down to the nearest whole number.\nconst getChapterCompletionPercentage = (progressStats: IChapterProgressStats | null) => {\n if (!progressStats) return 0;\n\n const { mandatory } = progressStats;\n const { completed, total } = mandatory;\n\n if (total === 0) {\n return 0;\n }\n\n const percentage = Math.floor((completed / total) * 100);\n\n return percentage;\n};\n\nconst getNodeTypeBasedBgImage = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n return ILLUSTRATIONS.NODE_TEST_PREP_BG;\n case 'LEARNING':\n return ILLUSTRATIONS.NODE_LEARN_BG;\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return ILLUSTRATIONS.NODE_RECAP_BG;\n\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return ILLUSTRATIONS.NODE_PRACTICE_BG;\n\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return ILLUSTRATIONS.NODE_PUZZLE_BG;\n\n case 'VIDEO':\n return ILLUSTRATIONS.NODE_VIDEO_BG;\n\n default:\n return ILLUSTRATIONS.NODE_CUSTOM_TEST_BG;\n }\n};\n\nconst getSheetNLessonCount = (\n isSkipped: boolean,\n sheetsLength: number,\n isGoalBlock?: boolean,\n lessonIdx?: number,\n) => {\n if (!isGoalBlock) return `(${sheetsLength})`;\n\n if (isSkipped || !lessonIdx) return undefined;\n\n return `${lessonIdx}`;\n};\n\nexport { getChapterCompletionPercentage, getNodeTypeBasedBgImage, getSheetNLessonCount };\n"],"names":["getChapterCompletionPercentage","progressStats","mandatory","completed","total","getNodeTypeBasedBgImage","nodeType","ILLUSTRATIONS","getSheetNLessonCount","isSkipped","sheetsLength","isGoalBlock","lessonIdx"],"mappings":";AASM,MAAAA,IAAiC,CAACC,MAAgD;AAClF,MAAA,CAACA,EAAsB,QAAA;AAErB,QAAA,EAAE,WAAAC,EAAc,IAAAD,GAChB,EAAE,WAAAE,GAAW,OAAAC,EAAU,IAAAF;AAE7B,SAAIE,MAAU,IACL,IAGU,KAAK,MAAOD,IAAYC,IAAS,GAAG;AAGzD,GAEMC,IAA0B,CAACC,MAA0C;AACzE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB,KAAK;AACH,aAAOA,EAAc;AAAA,IAEvB;AACE,aAAOA,EAAc;AAAA,EACzB;AACF,GAEMC,IAAuB,CAC3BC,GACAC,GACAC,GACAC,MACG;AACH,MAAI,CAACD,EAAoB,QAAA,IAAID,CAAY;AAErC,MAAA,EAAAD,KAAa,CAACG;AAElB,WAAO,GAAGA,CAAS;AACrB;"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { jsx as e, jsxs as m } from "react/jsx-runtime";
|
|
2
2
|
import p from "../../../assets/line-icons/icons/check2.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import f from "../../../assets/line-icons/icons/exclamation.js";
|
|
4
|
+
import u from "../../../assets/line-icons/icons/lock2.js";
|
|
5
|
+
import A from "../../../assets/line-icons/icons/status.js";
|
|
6
6
|
import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
7
|
+
import R from "../../ui/layout/flex-view.js";
|
|
8
|
+
import d from "../../ui/arrow-tooltip/arrow-tooltip.js";
|
|
9
|
+
import E from "../../ui/text/text.js";
|
|
10
10
|
import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
|
|
11
11
|
import T from "../comps/tag/tag.js";
|
|
12
|
-
const h = 60 * 60 * 24,
|
|
12
|
+
const h = 60 * 60 * 24, $ = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
13
13
|
if (!r || i)
|
|
14
14
|
return { isOverdue: !1, daysText: "", differenceInDays: 0 };
|
|
15
15
|
const c = Math.floor(Date.now() / 1e3), s = r - c, o = Math.ceil(s / h), a = o < 0, n = o > 0 ? `${Math.abs(o)}D` : "";
|
|
16
16
|
return { isOverdue: a, daysText: n, differenceInDays: o };
|
|
17
|
-
},
|
|
17
|
+
}, w = (r, i, c, s, o) => {
|
|
18
18
|
const { isOverdue: a, daysText: n, differenceInDays: I } = C(s, o);
|
|
19
|
-
if (!o && a &&
|
|
19
|
+
if (!o && a && $.includes(r))
|
|
20
20
|
return {
|
|
21
21
|
icon: /* @__PURE__ */ e(
|
|
22
|
-
|
|
22
|
+
d,
|
|
23
23
|
{
|
|
24
24
|
renderAs: "primary",
|
|
25
25
|
position: "bottom",
|
|
@@ -27,7 +27,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
27
27
|
zIndex: 10,
|
|
28
28
|
hidden: !i,
|
|
29
29
|
parentWidth: "fit-content",
|
|
30
|
-
children: /* @__PURE__ */ e(
|
|
30
|
+
children: /* @__PURE__ */ e(R, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(E, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
|
|
31
31
|
}
|
|
32
32
|
),
|
|
33
33
|
top: -10,
|
|
@@ -37,7 +37,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
37
37
|
case "NOT_STARTED":
|
|
38
38
|
return {
|
|
39
39
|
icon: /* @__PURE__ */ e(
|
|
40
|
-
|
|
40
|
+
d,
|
|
41
41
|
{
|
|
42
42
|
renderAs: "primary",
|
|
43
43
|
position: "bottom",
|
|
@@ -53,7 +53,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
53
53
|
$borderRadius: 16,
|
|
54
54
|
$paddingRight: 6,
|
|
55
55
|
$paddingLeft: 6,
|
|
56
|
-
children: n && /* @__PURE__ */ e(
|
|
56
|
+
children: n && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: n })
|
|
57
57
|
}
|
|
58
58
|
)
|
|
59
59
|
}
|
|
@@ -63,7 +63,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
63
63
|
};
|
|
64
64
|
case "LOCKED":
|
|
65
65
|
return {
|
|
66
|
-
icon: /* @__PURE__ */ e(
|
|
66
|
+
icon: /* @__PURE__ */ e(u, { width: 32, height: 32 }),
|
|
67
67
|
top: -12,
|
|
68
68
|
right: -12
|
|
69
69
|
};
|
|
@@ -79,8 +79,8 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
79
79
|
$paddingRight: 0,
|
|
80
80
|
$paddingLeft: n ? 6 : 0,
|
|
81
81
|
children: [
|
|
82
|
-
n && /* @__PURE__ */ e(
|
|
83
|
-
/* @__PURE__ */ e(
|
|
82
|
+
n && /* @__PURE__ */ e(E, { $renderAs: "ub3-bold", $color: "WHITE", children: n }),
|
|
83
|
+
/* @__PURE__ */ e(A, {})
|
|
84
84
|
]
|
|
85
85
|
}
|
|
86
86
|
)
|
|
@@ -100,13 +100,13 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
100
100
|
case "WAIT_FOR_REVIEW":
|
|
101
101
|
return {
|
|
102
102
|
icon: /* @__PURE__ */ e(
|
|
103
|
-
|
|
103
|
+
d,
|
|
104
104
|
{
|
|
105
105
|
renderAs: "primary",
|
|
106
106
|
position: "bottom",
|
|
107
107
|
tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
|
|
108
108
|
zIndex: 10,
|
|
109
|
-
children: /* @__PURE__ */ e(T, { Icon:
|
|
109
|
+
children: /* @__PURE__ */ e(T, { Icon: f })
|
|
110
110
|
}
|
|
111
111
|
),
|
|
112
112
|
top: -10,
|
|
@@ -117,11 +117,10 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
117
117
|
icon: void 0
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
|
-
},
|
|
120
|
+
}, M = (r) => {
|
|
121
121
|
switch (r) {
|
|
122
122
|
case "LEVEL2":
|
|
123
123
|
case "LEVEL3":
|
|
124
|
-
case "HIDDEN_BASIC":
|
|
125
124
|
return {
|
|
126
125
|
lottie: t.COMPETITIVE_ARENA
|
|
127
126
|
};
|
|
@@ -132,7 +131,6 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
132
131
|
case "RECAP":
|
|
133
132
|
case "REMEDIAL":
|
|
134
133
|
case "REVISION":
|
|
135
|
-
case "PPT_BASIC":
|
|
136
134
|
return {
|
|
137
135
|
lottie: t.RECAP
|
|
138
136
|
};
|
|
@@ -140,7 +138,6 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
140
138
|
case "ASSESSMENT":
|
|
141
139
|
case "CHAPTER_ASSESSMENT":
|
|
142
140
|
case "DIAGNOSTIC":
|
|
143
|
-
case "TURING_ASSESSMENT":
|
|
144
141
|
return {
|
|
145
142
|
lottie: t.TEST
|
|
146
143
|
};
|
|
@@ -148,7 +145,6 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
148
145
|
case "EXTRA_PRACTICE":
|
|
149
146
|
case "TARGET_PRACTICE":
|
|
150
147
|
case "MASTERY":
|
|
151
|
-
case "TURING_PRACTICE":
|
|
152
148
|
return {
|
|
153
149
|
lottie: t.PRACTICE
|
|
154
150
|
};
|
|
@@ -170,7 +166,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
|
|
|
170
166
|
}
|
|
171
167
|
};
|
|
172
168
|
export {
|
|
173
|
-
|
|
174
|
-
|
|
169
|
+
M as getNodeCardBasedIcon,
|
|
170
|
+
w as getNodeStateBasedTagInfo
|
|
175
171
|
};
|
|
176
172
|
//# sourceMappingURL=node-card-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n
|
|
1
|
+
{"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
|
|
@@ -47,10 +47,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
|
|
|
47
47
|
worksheet_id: "c4e1035a-d3e5-11eb-8971-6296551a51ec",
|
|
48
48
|
complete_status: !1,
|
|
49
49
|
id: "",
|
|
50
|
-
user_chapter_id: null
|
|
51
|
-
is_turing: !1,
|
|
52
|
-
student_instructions_ref: null,
|
|
53
|
-
instructions_ref: null
|
|
50
|
+
user_chapter_id: null
|
|
54
51
|
},
|
|
55
52
|
{
|
|
56
53
|
accuracy: null,
|
|
@@ -99,10 +96,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
|
|
|
99
96
|
complete_status: !1,
|
|
100
97
|
id: "",
|
|
101
98
|
user_attempt_id: null,
|
|
102
|
-
user_chapter_id: null
|
|
103
|
-
is_turing: !1,
|
|
104
|
-
student_instructions_ref: null,
|
|
105
|
-
instructions_ref: null
|
|
99
|
+
user_chapter_id: null
|
|
106
100
|
},
|
|
107
101
|
{
|
|
108
102
|
accuracy: null,
|
|
@@ -151,10 +145,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
|
|
|
151
145
|
worksheet_id: "8b9bc1d6-0d7b-11ed-bf5b-4eea17b71ce5",
|
|
152
146
|
complete_status: !1,
|
|
153
147
|
id: "",
|
|
154
|
-
user_chapter_id: null
|
|
155
|
-
is_turing: !1,
|
|
156
|
-
student_instructions_ref: null,
|
|
157
|
-
instructions_ref: null
|
|
148
|
+
user_chapter_id: null
|
|
158
149
|
},
|
|
159
150
|
{
|
|
160
151
|
accuracy: null,
|
|
@@ -203,10 +194,7 @@ const e = Math.floor(Date.now() / 1e3), a = e + 5 * 24 * 60 * 60, s = {
|
|
|
203
194
|
complete_status: !1,
|
|
204
195
|
id: "",
|
|
205
196
|
learnosity_activity_ref: "",
|
|
206
|
-
user_chapter_id: null
|
|
207
|
-
is_turing: !1,
|
|
208
|
-
student_instructions_ref: null,
|
|
209
|
-
instructions_ref: null
|
|
197
|
+
user_chapter_id: null
|
|
210
198
|
}
|
|
211
199
|
],
|
|
212
200
|
queued_homeworks: []
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home-page-homeworks-mock.js","sources":["../../../../../src/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.ts"],"sourcesContent":["import type { IHomeworkDetails } from '../../../homework/hw-card-list/api/get-homeworks';\n\nconst now = Math.floor(Date.now() / 1000); // current epoch in seconds\nconst fiveDaysLater = now + 5 * 24 * 60 * 60;\n\nconst HOMEWORK_DETAILS: IHomeworkDetails = {\n assigned_homeworks: [\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '23a4e676-7094-11ed-87bc-6ec30f5d70bb',\n\n card_header: 'PUZZLE',\n\n chapter_id: '8b0d5af7-3d47-4888-acef-920069c6ae13',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748241531,\n\n homework_id: 'ede761ea-347b-11f0-b9d2-5e3c498fca42',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Default.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: true,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'CR_G4L1 Sum of Three Cubes',\n\n marked_as_completed: false,\n\n node_id: '1de6ac4a-8e41-4446-9a07-a93d5713a2ff',\n\n node_type: 'PUZZLE_EASY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 2400,\n\n state: 'NOT_STARTED',\n subtext: 'Puzzle Cards',\n\n title: 'Sum of Three Cubes',\n total_questions: 0,\n unlocked_on_ts: 1747636731,\n user_attempt_id: null,\n\n user_node_id: '147520a0-2f62-11f0-876b-da0546594b04',\n worksheet_id: 'c4e1035a-d3e5-11eb-8971-6296551a51ec',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '',\n\n card_header: 'SMART PRACTICE',\n\n chapter_id: null,\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: fiveDaysLater,\n\n homework_id: 'b5e1bf00-3586-11f0-a22a-9207bc065284',\n image_hue: 'PURPLE',\n image_url: null,\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'mastery-6f8b199b-9c54-40dc-833e-69db342fec26',\n\n marked_as_completed: false,\n\n node_id: '307b7775-98fd-4831-bd2f-e87403db7da7',\n\n node_type: 'MASTERY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'IN_PROGRESS',\n subtext: '10 Questions',\n\n title:\n 'Identify Types of Polygons \\u2022 Understand Decimal Numbers \\u2022 Convert Improper Fractions to Decimals',\n total_questions: 10,\n unlocked_on_ts: 1747751086,\n\n user_node_id: '2e715efe-3586-11f0-be8b-526b31ab17cd',\n worksheet_id: 'b70c4195-2727-415e-b3a0-f9c0672103dc',\n complete_status: false,\n id: '',\n user_attempt_id: null,\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '6c30d4f0-4bb0-4fc2-9dac-f7016f1bd589',\n\n card_header: 'LEARN',\n\n chapter_id: '8ac6c4a0-931c-4bd3-80f4-30b1c13cb8f4',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1747765021,\n\n homework_id: '3e05a164-35a3-11f0-b52f-9207bc065284',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Measurement_G4.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'G4-Length-Weight-Capacity-W01.vxp',\n\n marked_as_completed: false,\n\n node_id: 'ee7b2e69-fd74-4311-a378-8bb4e45449a6',\n\n node_type: 'LEARNING',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: true,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'NOT_STARTED',\n subtext: 'Measurement',\n\n title: 'Solve Problems on Conversion of Units of Length',\n total_questions: 34,\n unlocked_on_ts: 1747160221,\n user_attempt_id: null,\n\n user_node_id: '76f860b0-3026-11f0-8945-925795afcf7c',\n worksheet_id: '8b9bc1d6-0d7b-11ed-bf5b-4eea17b71ce5',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n block_id: '',\n card_header: 'TEST',\n chapter_id: null,\n course_type: 'EXAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748368416.713071,\n homework_id: '5ac50966-35a3-11f0-b52f-9207bc065284',\n image_hue: 'YELLOW',\n image_url: null,\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: true,\n is_worksheet_v3: null,\n marked_as_completed: false,\n node_id: 'bbcb2c1a-3289-11ed-b746-6237f2d293d9',\n node_type: 'DYNAMIC',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n sheet_statement: 'Yet to start',\n sheet_time: 2700,\n state: 'NOT_STARTED',\n subtext: '17 Questions, 45 Mins',\n title:\n 'Factors, Multiples, and Primes \\u2022 Time \\u2022 An Introduction to Decimal Numbers \\u2022 Fractions',\n total_questions: 17,\n unlocked_on_ts: 1747763616.713071,\n user_attempt_id: null,\n\n user_node_id: '5ac2b404-35a3-11f0-b52f-9207bc065284',\n worksheet_id: 'bbbfd900-3289-11ed-b746-6237f2d293d9',\n complete_status: false,\n id: '',\n learnosity_activity_ref: '',\n user_chapter_id: null,\n is_turing: false,\n student_instructions_ref: null,\n instructions_ref: null,\n },\n ],\n queued_homeworks: [],\n};\n\nexport { HOMEWORK_DETAILS };\n"],"names":["now","fiveDaysLater","HOMEWORK_DETAILS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"home-page-homeworks-mock.js","sources":["../../../../../src/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.ts"],"sourcesContent":["import type { IHomeworkDetails } from '../../../homework/hw-card-list/api/get-homeworks';\n\nconst now = Math.floor(Date.now() / 1000); // current epoch in seconds\nconst fiveDaysLater = now + 5 * 24 * 60 * 60;\n\nconst HOMEWORK_DETAILS: IHomeworkDetails = {\n assigned_homeworks: [\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '23a4e676-7094-11ed-87bc-6ec30f5d70bb',\n\n card_header: 'PUZZLE',\n\n chapter_id: '8b0d5af7-3d47-4888-acef-920069c6ae13',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748241531,\n\n homework_id: 'ede761ea-347b-11f0-b9d2-5e3c498fca42',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Default.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: true,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'CR_G4L1 Sum of Three Cubes',\n\n marked_as_completed: false,\n\n node_id: '1de6ac4a-8e41-4446-9a07-a93d5713a2ff',\n\n node_type: 'PUZZLE_EASY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 2400,\n\n state: 'NOT_STARTED',\n subtext: 'Puzzle Cards',\n\n title: 'Sum of Three Cubes',\n total_questions: 0,\n unlocked_on_ts: 1747636731,\n user_attempt_id: null,\n\n user_node_id: '147520a0-2f62-11f0-876b-da0546594b04',\n worksheet_id: 'c4e1035a-d3e5-11eb-8971-6296551a51ec',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '',\n\n card_header: 'SMART PRACTICE',\n\n chapter_id: null,\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: fiveDaysLater,\n\n homework_id: 'b5e1bf00-3586-11f0-a22a-9207bc065284',\n image_hue: 'PURPLE',\n image_url: null,\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'mastery-6f8b199b-9c54-40dc-833e-69db342fec26',\n\n marked_as_completed: false,\n\n node_id: '307b7775-98fd-4831-bd2f-e87403db7da7',\n\n node_type: 'MASTERY',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'IN_PROGRESS',\n subtext: '10 Questions',\n\n title:\n 'Identify Types of Polygons \\u2022 Understand Decimal Numbers \\u2022 Convert Improper Fractions to Decimals',\n total_questions: 10,\n unlocked_on_ts: 1747751086,\n\n user_node_id: '2e715efe-3586-11f0-be8b-526b31ab17cd',\n worksheet_id: 'b70c4195-2727-415e-b3a0-f9c0672103dc',\n complete_status: false,\n id: '',\n user_attempt_id: null,\n user_chapter_id: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n\n block_id: '6c30d4f0-4bb0-4fc2-9dac-f7016f1bd589',\n\n card_header: 'LEARN',\n\n chapter_id: '8ac6c4a0-931c-4bd3-80f4-30b1c13cb8f4',\n\n course_type: 'PROGRAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1747765021,\n\n homework_id: '3e05a164-35a3-11f0-b52f-9207bc065284',\n image_hue: 'BLUE',\n image_url: 'https://dw7j1ezsvbafb.cloudfront.net/media/chapter-images/Measurement_G4.jpg',\n\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: false,\n is_worksheet_v3: null,\n learnosity_activity_ref: 'G4-Length-Weight-Capacity-W01.vxp',\n\n marked_as_completed: false,\n\n node_id: 'ee7b2e69-fd74-4311-a378-8bb4e45449a6',\n\n node_type: 'LEARNING',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: true,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n\n sheet_statement: 'Yet to start',\n sheet_time: 0,\n\n state: 'NOT_STARTED',\n subtext: 'Measurement',\n\n title: 'Solve Problems on Conversion of Units of Length',\n total_questions: 34,\n unlocked_on_ts: 1747160221,\n user_attempt_id: null,\n\n user_node_id: '76f860b0-3026-11f0-8945-925795afcf7c',\n worksheet_id: '8b9bc1d6-0d7b-11ed-bf5b-4eea17b71ce5',\n complete_status: false,\n id: '',\n user_chapter_id: null,\n },\n {\n accuracy: null,\n attempt_location: 'ANY',\n block_id: '',\n card_header: 'TEST',\n chapter_id: null,\n course_type: 'EXAM',\n desmos_calculator_enabled: false,\n due_date_ts: 1748368416.713071,\n homework_id: '5ac50966-35a3-11f0-b52f-9207bc065284',\n image_hue: 'YELLOW',\n image_url: null,\n is_lesson_v3_enabled: false,\n is_optional: false,\n is_timed: true,\n is_worksheet_v3: null,\n marked_as_completed: false,\n node_id: 'bbcb2c1a-3289-11ed-b746-6237f2d293d9',\n node_type: 'DYNAMIC',\n permissions: {\n can_assign_as_homework: false,\n\n can_change_attempt_location: false,\n can_mark_familiar: false,\n can_reattempt: false,\n can_reset: false,\n can_resume: false,\n can_review: false,\n can_start: true,\n can_teacher_review: false,\n\n can_unassign: false,\n can_unlock: false,\n\n can_un_skip: false,\n can_skip: false,\n },\n sheet_statement: 'Yet to start',\n sheet_time: 2700,\n state: 'NOT_STARTED',\n subtext: '17 Questions, 45 Mins',\n title:\n 'Factors, Multiples, and Primes \\u2022 Time \\u2022 An Introduction to Decimal Numbers \\u2022 Fractions',\n total_questions: 17,\n unlocked_on_ts: 1747763616.713071,\n user_attempt_id: null,\n\n user_node_id: '5ac2b404-35a3-11f0-b52f-9207bc065284',\n worksheet_id: 'bbbfd900-3289-11ed-b746-6237f2d293d9',\n complete_status: false,\n id: '',\n learnosity_activity_ref: '',\n user_chapter_id: null,\n },\n ],\n queued_homeworks: [],\n};\n\nexport { HOMEWORK_DETAILS };\n"],"names":["now","fiveDaysLater","HOMEWORK_DETAILS"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2518,9 +2518,6 @@ export declare interface INodeDataProps {
|
|
|
2518
2518
|
user_milestone_id?: string;
|
|
2519
2519
|
user_node_id: string | null;
|
|
2520
2520
|
worksheet_id: string;
|
|
2521
|
-
is_turing: boolean;
|
|
2522
|
-
student_instructions_ref: string | null;
|
|
2523
|
-
instructions_ref: string | null;
|
|
2524
2521
|
}
|
|
2525
2522
|
|
|
2526
2523
|
declare interface INodePermissions {
|
package/package.json
CHANGED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { jsx as L } from "react/jsx-runtime";
|
|
2
|
-
const o = (e) => /* @__PURE__ */ L(
|
|
3
|
-
"svg",
|
|
4
|
-
{
|
|
5
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
-
width: "24",
|
|
7
|
-
height: "24",
|
|
8
|
-
viewBox: "0 0 24 24",
|
|
9
|
-
fill: "none",
|
|
10
|
-
...e,
|
|
11
|
-
children: /* @__PURE__ */ L(
|
|
12
|
-
"path",
|
|
13
|
-
{
|
|
14
|
-
"fill-rule": "evenodd",
|
|
15
|
-
"clip-rule": "evenodd",
|
|
16
|
-
d: "M7.42419 12.4243C6.27778 13.5707 6.27778 15.4294 7.42419 16.5758C8.57061 17.7222 10.4293 17.7222 11.5757 16.5758L13.3615 14.7901L14.21 15.6386L12.4243 17.4243C10.8092 19.0394 8.19071 19.0394 6.57566 17.4243C4.96062 15.8093 4.96062 13.1908 6.57567 11.5757L8.3614 9.78999L9.20993 10.6385L7.42419 12.4243ZM12.4243 7.42419L10.6385 9.20993L9.78999 8.3614L11.5757 6.57566C13.1908 4.96062 15.8093 4.96062 17.4243 6.57566C19.0394 8.19071 19.0394 10.8092 17.4243 12.4243L15.6386 14.21L14.7901 13.3615L16.5758 11.5757C17.7222 10.4293 17.7222 8.57061 16.5758 7.42419C15.4294 6.27778 13.5707 6.27778 12.4243 7.42419ZM9.56708 15.2814L8.71855 14.4329L14.4329 8.71855L15.2814 9.56708L9.56708 15.2814Z",
|
|
17
|
-
fill: "currentColor"
|
|
18
|
-
}
|
|
19
|
-
)
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
export {
|
|
23
|
-
o as default
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=link.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sources":["../../../../src/assets/line-icons/icons/link.tsx"],"sourcesContent":["const LinkIcon: React.FC<React.SVGProps<SVGSVGElement>> = props => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n {...props}\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.42419 12.4243C6.27778 13.5707 6.27778 15.4294 7.42419 16.5758C8.57061 17.7222 10.4293 17.7222 11.5757 16.5758L13.3615 14.7901L14.21 15.6386L12.4243 17.4243C10.8092 19.0394 8.19071 19.0394 6.57566 17.4243C4.96062 15.8093 4.96062 13.1908 6.57567 11.5757L8.3614 9.78999L9.20993 10.6385L7.42419 12.4243ZM12.4243 7.42419L10.6385 9.20993L9.78999 8.3614L11.5757 6.57566C13.1908 4.96062 15.8093 4.96062 17.4243 6.57566C19.0394 8.19071 19.0394 10.8092 17.4243 12.4243L15.6386 14.21L14.7901 13.3615L16.5758 11.5757C17.7222 10.4293 17.7222 8.57061 16.5758 7.42419C15.4294 6.27778 13.5707 6.27778 12.4243 7.42419ZM9.56708 15.2814L8.71855 14.4329L14.4329 8.71855L15.2814 9.56708L9.56708 15.2814Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default LinkIcon;\n"],"names":["LinkIcon","props","jsx"],"mappings":";AAAA,MAAMA,IAAoD,CACxDC,MAAA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACJ,GAAGD;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,aAAU;AAAA,QACV,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAAA;AACF;"}
|