@cuemath/leap 3.5.55-as1 → 3.5.55-as2
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/homework/homework-card-view.js +39 -38
- package/dist/features/homework/homework-card-view.js.map +1 -1
- package/dist/features/homework/homework-card.js +50 -48
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-types.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-view.js +81 -78
- package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list.js +80 -64
- package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
- package/dist/features/homework/utils.js +31 -22
- package/dist/features/homework/utils.js.map +1 -1
- package/dist/features/journey/hooks/use-mathfit-assigned-journey/use-mathfit-assigned-student-journey.js +80 -0
- package/dist/features/journey/hooks/use-mathfit-assigned-journey/use-mathfit-assigned-student-journey.js.map +1 -0
- package/dist/features/journey/journey-id/journey-id-student.js +2 -2
- package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { jsxs as l, jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { NODE_TYPE as
|
|
1
|
+
import { jsxs as l, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { memo as X, useMemo as L, useCallback as O } from "react";
|
|
3
|
+
import V from "../../../assets/line-icons/icons/chevron-left.js";
|
|
4
|
+
import Y from "../../../assets/line-icons/icons/chevron-right.js";
|
|
5
|
+
import { NODE_TYPE as N } from "../../sheets/constants/sheet.js";
|
|
6
6
|
import a from "../../ui/layout/flex-view.js";
|
|
7
7
|
import m from "../../ui/text/text.js";
|
|
8
|
-
import
|
|
9
|
-
import { QueueWrapper as
|
|
10
|
-
import { getWaitForReviewSheetsCount as
|
|
11
|
-
import { useScrollButtons as
|
|
12
|
-
const
|
|
8
|
+
import P from "../homework-card.js";
|
|
9
|
+
import { QueueWrapper as z, QueueText as J, ContentWrapper as Q, ScrollButton as y, ScrollContainer as Z } from "./hw-card-list-styled.js";
|
|
10
|
+
import { getWaitForReviewSheetsCount as U } from "./hw-card-list-utils.js";
|
|
11
|
+
import { useScrollButtons as D } from "./hooks/use-scroll-buttons.js";
|
|
12
|
+
const ee = ({
|
|
13
13
|
userType: h,
|
|
14
14
|
studentId: $,
|
|
15
|
-
isHwProcessing:
|
|
15
|
+
isHwProcessing: A,
|
|
16
16
|
hwDetails: r,
|
|
17
17
|
onTestStart: p,
|
|
18
18
|
onNodeAttempt: f,
|
|
@@ -22,60 +22,61 @@ const D = ({
|
|
|
22
22
|
onNodeReview: w,
|
|
23
23
|
onNodeUnassign: _,
|
|
24
24
|
onCardClick: x,
|
|
25
|
-
puzzleHWCardRef: H
|
|
25
|
+
puzzleHWCardRef: H,
|
|
26
|
+
mathFitCardRef: b
|
|
26
27
|
}) => {
|
|
27
|
-
const
|
|
28
|
-
const s = (r == null ? void 0 : r.assigned_homeworks) || [], i = (r == null ? void 0 : r.queued_homeworks) || [],
|
|
28
|
+
const t = L(() => {
|
|
29
|
+
const s = (r == null ? void 0 : r.assigned_homeworks) || [], i = (r == null ? void 0 : r.queued_homeworks) || [], e = s.length + i.length, n = U(r);
|
|
29
30
|
return {
|
|
30
31
|
assignedHomeworks: s,
|
|
31
32
|
queuedHomeworks: i,
|
|
32
|
-
totalCount:
|
|
33
|
+
totalCount: e,
|
|
33
34
|
waitForReviewCount: n
|
|
34
35
|
};
|
|
35
36
|
}, [r]), {
|
|
36
|
-
scrollRef:
|
|
37
|
-
showLeftButton:
|
|
38
|
-
showRightButton:
|
|
39
|
-
handleMouseEnter:
|
|
40
|
-
handleMouseLeave:
|
|
41
|
-
handleScrollLeft:
|
|
42
|
-
handleScrollRight:
|
|
43
|
-
} =
|
|
44
|
-
totalCount:
|
|
45
|
-
}), u =
|
|
46
|
-
(s, i,
|
|
37
|
+
scrollRef: v,
|
|
38
|
+
showLeftButton: B,
|
|
39
|
+
showRightButton: I,
|
|
40
|
+
handleMouseEnter: R,
|
|
41
|
+
handleMouseLeave: T,
|
|
42
|
+
handleScrollLeft: q,
|
|
43
|
+
handleScrollRight: E
|
|
44
|
+
} = D({
|
|
45
|
+
totalCount: t.totalCount
|
|
46
|
+
}), u = O(
|
|
47
|
+
(s, i, e = !1) => {
|
|
47
48
|
const {
|
|
48
49
|
entity_id: n,
|
|
49
|
-
sheets:
|
|
50
|
-
subtext:
|
|
51
|
-
entity_type:
|
|
52
|
-
state:
|
|
53
|
-
score:
|
|
54
|
-
id:
|
|
55
|
-
} = s, c =
|
|
50
|
+
sheets: M,
|
|
51
|
+
subtext: S,
|
|
52
|
+
entity_type: j,
|
|
53
|
+
state: F,
|
|
54
|
+
score: G,
|
|
55
|
+
id: W
|
|
56
|
+
} = s, c = M[0], d = (c == null ? void 0 : c.node_type) === N.DYNAMIC;
|
|
56
57
|
return /* @__PURE__ */ l(
|
|
57
58
|
a,
|
|
58
59
|
{
|
|
59
60
|
$flexDirection: "row",
|
|
60
61
|
$flexGapX: 1,
|
|
61
62
|
children: [
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
e && i === 0 && /* @__PURE__ */ o(
|
|
64
|
+
z,
|
|
64
65
|
{
|
|
65
66
|
$background: "BLACK_4",
|
|
66
67
|
$justifyContent: "center",
|
|
67
68
|
$gutter: 4,
|
|
68
69
|
$gap: 8,
|
|
69
|
-
children: /* @__PURE__ */
|
|
70
|
+
children: /* @__PURE__ */ o(J, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
|
|
70
71
|
}
|
|
71
72
|
),
|
|
72
|
-
c && /* @__PURE__ */
|
|
73
|
-
|
|
73
|
+
c && /* @__PURE__ */ o(
|
|
74
|
+
P,
|
|
74
75
|
{
|
|
75
|
-
isInQueue:
|
|
76
|
+
isInQueue: e,
|
|
76
77
|
userType: h,
|
|
77
78
|
header: c.title,
|
|
78
|
-
subHeader:
|
|
79
|
+
subHeader: S || "",
|
|
79
80
|
nodeData: c,
|
|
80
81
|
renderAs: "homework",
|
|
81
82
|
studentId: $,
|
|
@@ -84,18 +85,19 @@ const D = ({
|
|
|
84
85
|
onNodeView: d ? C : g,
|
|
85
86
|
onNodeReview: d ? k : w,
|
|
86
87
|
onNodeUnassign: _,
|
|
87
|
-
puzzleHWCardRef:
|
|
88
|
+
puzzleHWCardRef: e ? void 0 : H,
|
|
89
|
+
mathFitCardRef: e ? void 0 : b,
|
|
88
90
|
onCardClick: x,
|
|
89
|
-
entityType:
|
|
91
|
+
entityType: j,
|
|
90
92
|
entityId: n,
|
|
91
|
-
state:
|
|
92
|
-
score:
|
|
93
|
-
homeworkId:
|
|
93
|
+
state: F,
|
|
94
|
+
score: G,
|
|
95
|
+
homeworkId: W
|
|
94
96
|
}
|
|
95
97
|
)
|
|
96
98
|
]
|
|
97
99
|
},
|
|
98
|
-
`${n}_${i}_${
|
|
100
|
+
`${n}_${i}_${e ? "queued" : "assigned"}`
|
|
99
101
|
);
|
|
100
102
|
},
|
|
101
103
|
[
|
|
@@ -108,59 +110,60 @@ const D = ({
|
|
|
108
110
|
k,
|
|
109
111
|
w,
|
|
110
112
|
_,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
+
H,
|
|
114
|
+
b,
|
|
115
|
+
x
|
|
113
116
|
]
|
|
114
|
-
),
|
|
115
|
-
if (
|
|
116
|
-
const s =
|
|
117
|
-
(
|
|
118
|
-
), i =
|
|
119
|
-
(
|
|
117
|
+
), K = L(() => {
|
|
118
|
+
if (t.totalCount === 0) return [];
|
|
119
|
+
const s = t.assignedHomeworks.map(
|
|
120
|
+
(e, n) => u(e, n, !1)
|
|
121
|
+
), i = t.queuedHomeworks.map(
|
|
122
|
+
(e, n) => u(e, n, !0)
|
|
120
123
|
);
|
|
121
124
|
return [...s, ...i];
|
|
122
125
|
}, [
|
|
123
|
-
|
|
124
|
-
|
|
126
|
+
t.assignedHomeworks,
|
|
127
|
+
t.queuedHomeworks,
|
|
125
128
|
u,
|
|
126
|
-
|
|
129
|
+
t.totalCount
|
|
127
130
|
]);
|
|
128
|
-
return
|
|
129
|
-
/* @__PURE__ */
|
|
130
|
-
/* @__PURE__ */
|
|
131
|
-
] }) : /* @__PURE__ */ l(
|
|
131
|
+
return t.totalCount === 0 ? /* @__PURE__ */ l(a, { $flexRowGapX: 1, children: [
|
|
132
|
+
/* @__PURE__ */ o(m, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Homework (0)" }),
|
|
133
|
+
/* @__PURE__ */ o(m, { $renderAs: "ab2", $color: "BLACK_T_60", children: "No Homework assigned yet" })
|
|
134
|
+
] }) : /* @__PURE__ */ l(Q, { $flexRowGapX: 1, $disablePointerEvents: A, children: [
|
|
132
135
|
/* @__PURE__ */ l(m, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
|
|
133
136
|
"Homework (",
|
|
134
|
-
|
|
137
|
+
t.waitForReviewCount,
|
|
135
138
|
"/",
|
|
136
|
-
|
|
139
|
+
t.totalCount,
|
|
137
140
|
")"
|
|
138
141
|
] }),
|
|
139
142
|
/* @__PURE__ */ l(
|
|
140
143
|
a,
|
|
141
144
|
{
|
|
142
145
|
$position: "relative",
|
|
143
|
-
onMouseEnter:
|
|
144
|
-
onMouseLeave:
|
|
146
|
+
onMouseEnter: R,
|
|
147
|
+
onMouseLeave: T,
|
|
145
148
|
children: [
|
|
146
|
-
/* @__PURE__ */
|
|
147
|
-
|
|
149
|
+
/* @__PURE__ */ o(
|
|
150
|
+
y,
|
|
148
151
|
{
|
|
149
152
|
$position: "absolute",
|
|
150
153
|
$background: "BLACK_T_60",
|
|
151
154
|
$justifyContent: "center",
|
|
152
155
|
$alignItems: "center",
|
|
153
156
|
$height: "100%",
|
|
154
|
-
onClick:
|
|
155
|
-
$visible:
|
|
157
|
+
onClick: q,
|
|
158
|
+
$visible: B,
|
|
156
159
|
left: "0px",
|
|
157
160
|
right: "auto",
|
|
158
|
-
children: /* @__PURE__ */
|
|
161
|
+
children: /* @__PURE__ */ o(V, { width: 24, height: 24 })
|
|
159
162
|
}
|
|
160
163
|
),
|
|
161
|
-
/* @__PURE__ */
|
|
162
|
-
/* @__PURE__ */
|
|
163
|
-
|
|
164
|
+
/* @__PURE__ */ o(Z, { ref: v, children: /* @__PURE__ */ o(a, { $flexDirection: "row", $flexGapX: 1, children: K }) }),
|
|
165
|
+
/* @__PURE__ */ o(
|
|
166
|
+
y,
|
|
164
167
|
{
|
|
165
168
|
$position: "absolute",
|
|
166
169
|
$width: "60px",
|
|
@@ -168,19 +171,19 @@ const D = ({
|
|
|
168
171
|
$background: "BLACK_T_60",
|
|
169
172
|
$justifyContent: "center",
|
|
170
173
|
$alignItems: "center",
|
|
171
|
-
onClick:
|
|
172
|
-
$visible:
|
|
174
|
+
onClick: E,
|
|
175
|
+
$visible: I,
|
|
173
176
|
left: "auto",
|
|
174
177
|
right: "0px",
|
|
175
|
-
children: /* @__PURE__ */
|
|
178
|
+
children: /* @__PURE__ */ o(Y, { width: 24, height: 24 })
|
|
176
179
|
}
|
|
177
180
|
)
|
|
178
181
|
]
|
|
179
182
|
}
|
|
180
183
|
)
|
|
181
184
|
] });
|
|
182
|
-
},
|
|
185
|
+
}, me = X(ee);
|
|
183
186
|
export {
|
|
184
|
-
|
|
187
|
+
me as default
|
|
185
188
|
};
|
|
186
189
|
//# sourceMappingURL=hw-card-list-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, type FC } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport type { IHomeworkItem } from './api/get-homeworks';\nimport * as Styled from './hw-card-list-styled';\nimport type { IHwCardListView } from './hw-card-list-types';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\nimport { useScrollButtons } from './hooks/use-scroll-buttons';\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n onCardClick,\n puzzleHWCardRef,\n}) => {\n const homeworkData = useMemo(() => {\n const assignedHomeworks = hwDetails?.assigned_homeworks || [];\n const queuedHomeworks = hwDetails?.queued_homeworks || [];\n const totalCount = assignedHomeworks.length + queuedHomeworks.length;\n const waitForReviewCount = getWaitForReviewSheetsCount(hwDetails);\n\n return {\n assignedHomeworks,\n queuedHomeworks,\n totalCount,\n waitForReviewCount,\n };\n }, [hwDetails]);\n\n const {\n scrollRef,\n showLeftButton,\n showRightButton,\n handleMouseEnter,\n handleMouseLeave,\n handleScrollLeft,\n handleScrollRight,\n } = useScrollButtons({\n totalCount: homeworkData.totalCount,\n });\n\n const renderHomeworkCard = useCallback(\n (item: IHomeworkItem, idx: number, isQueued = false) => {\n const {\n entity_id: entityId,\n sheets,\n subtext,\n entity_type: entitYType,\n state,\n score,\n id,\n } = item;\n const sheet = sheets[0];\n const isDynamicSheet = sheet?.node_type === NODE_TYPE.DYNAMIC;\n\n return (\n <FlexView\n key={`${entityId}_${idx}_${isQueued ? 'queued' : 'assigned'}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {isQueued && idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n\n {sheet && (\n <HomeworkCard\n isInQueue={isQueued}\n userType={userType}\n header={sheet.title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n puzzleHWCardRef={isQueued ? undefined : puzzleHWCardRef}\n // homeworkItem={item}\n onCardClick={onCardClick}\n entityType={entitYType}\n entityId={entityId}\n state={state}\n score={score}\n homeworkId={id}\n />\n )}\n </FlexView>\n );\n },\n [\n userType,\n studentId,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n onCardClick,\n puzzleHWCardRef,\n ],\n );\n\n const homeworkCards = useMemo(() => {\n if (homeworkData.totalCount === 0) return [];\n\n const assignedCards = homeworkData.assignedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, false),\n );\n\n const queuedCards = homeworkData.queuedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, true),\n );\n\n return [...assignedCards, ...queuedCards];\n }, [\n homeworkData.assignedHomeworks,\n homeworkData.queuedHomeworks,\n renderHomeworkCard,\n homeworkData.totalCount,\n ]);\n\n if (homeworkData.totalCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({homeworkData.waitForReviewCount}/{homeworkData.totalCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={showLeftButton}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {homeworkCards}\n </FlexView>\n </Styled.ScrollContainer>\n\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={showRightButton}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","onCardClick","puzzleHWCardRef","homeworkData","useMemo","assignedHomeworks","queuedHomeworks","totalCount","waitForReviewCount","getWaitForReviewSheetsCount","scrollRef","showLeftButton","showRightButton","handleMouseEnter","handleMouseLeave","handleScrollLeft","handleScrollRight","useScrollButtons","renderHomeworkCard","useCallback","item","idx","isQueued","entityId","sheets","subtext","entitYType","state","score","id","sheet","isDynamicSheet","NODE_TYPE","jsxs","FlexView","jsx","Styled.QueueWrapper","Styled.QueueText","HomeworkCard","homeworkCards","assignedCards","queuedCards","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hw-card-list-view.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list-view.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, type FC } from 'react';\n\nimport ChevronLeftIcon from '../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../assets/line-icons/icons/chevron-right';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport HomeworkCard from '../homework-card';\nimport type { IHomeworkItem } from './api/get-homeworks';\nimport * as Styled from './hw-card-list-styled';\nimport type { IHwCardListView } from './hw-card-list-types';\nimport { getWaitForReviewSheetsCount } from './hw-card-list-utils';\nimport { useScrollButtons } from './hooks/use-scroll-buttons';\n\nconst HwCardListView: FC<IHwCardListView> = ({\n userType,\n studentId,\n isHwProcessing,\n hwDetails,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n onCardClick,\n puzzleHWCardRef,\n mathFitCardRef,\n}) => {\n const homeworkData = useMemo(() => {\n const assignedHomeworks = hwDetails?.assigned_homeworks || [];\n const queuedHomeworks = hwDetails?.queued_homeworks || [];\n const totalCount = assignedHomeworks.length + queuedHomeworks.length;\n const waitForReviewCount = getWaitForReviewSheetsCount(hwDetails);\n\n return {\n assignedHomeworks,\n queuedHomeworks,\n totalCount,\n waitForReviewCount,\n };\n }, [hwDetails]);\n\n const {\n scrollRef,\n showLeftButton,\n showRightButton,\n handleMouseEnter,\n handleMouseLeave,\n handleScrollLeft,\n handleScrollRight,\n } = useScrollButtons({\n totalCount: homeworkData.totalCount,\n });\n\n const renderHomeworkCard = useCallback(\n (item: IHomeworkItem, idx: number, isQueued = false) => {\n const {\n entity_id: entityId,\n sheets,\n subtext,\n entity_type: entitYType,\n state,\n score,\n id,\n } = item;\n const sheet = sheets[0];\n const isDynamicSheet = sheet?.node_type === NODE_TYPE.DYNAMIC;\n\n return (\n <FlexView\n key={`${entityId}_${idx}_${isQueued ? 'queued' : 'assigned'}`}\n $flexDirection=\"row\"\n $flexGapX={1}\n >\n {isQueued && idx === 0 && (\n <Styled.QueueWrapper\n $background=\"BLACK_4\"\n $justifyContent=\"center\"\n $gutter={4}\n $gap={8}\n >\n <Styled.QueueText $renderAs=\"ac3\" $color=\"WHITE\">\n In Queue\n </Styled.QueueText>\n </Styled.QueueWrapper>\n )}\n\n {sheet && (\n <HomeworkCard\n isInQueue={isQueued}\n userType={userType}\n header={sheet.title}\n subHeader={subtext || ''}\n nodeData={sheet}\n renderAs=\"homework\"\n studentId={studentId}\n onNodeAttempt={isDynamicSheet ? onTestStart : onNodeAttempt}\n shouldOpenOnRight={true}\n onNodeView={isDynamicSheet ? onTestPreview : onNodeView}\n onNodeReview={isDynamicSheet ? onTestReview : onNodeReview}\n onNodeUnassign={onNodeUnassign}\n puzzleHWCardRef={isQueued ? undefined : puzzleHWCardRef}\n mathFitCardRef={isQueued ? undefined : mathFitCardRef}\n // homeworkItem={item}\n onCardClick={onCardClick}\n entityType={entitYType}\n entityId={entityId}\n state={state}\n score={score}\n homeworkId={id}\n />\n )}\n </FlexView>\n );\n },\n [\n userType,\n studentId,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n puzzleHWCardRef,\n mathFitCardRef,\n onCardClick,\n ],\n );\n\n const homeworkCards = useMemo(() => {\n if (homeworkData.totalCount === 0) return [];\n\n const assignedCards = homeworkData.assignedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, false),\n );\n\n const queuedCards = homeworkData.queuedHomeworks.map((sheet, idx) =>\n renderHomeworkCard(sheet, idx, true),\n );\n\n return [...assignedCards, ...queuedCards];\n }, [\n homeworkData.assignedHomeworks,\n homeworkData.queuedHomeworks,\n renderHomeworkCard,\n homeworkData.totalCount,\n ]);\n\n if (homeworkData.totalCount === 0) {\n return (\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework (0)\n </Text>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n No Homework assigned yet\n </Text>\n </FlexView>\n );\n }\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1} $disablePointerEvents={isHwProcessing}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Homework ({homeworkData.waitForReviewCount}/{homeworkData.totalCount})\n </Text>\n <FlexView\n $position=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <Styled.ScrollButton\n $position=\"absolute\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={showLeftButton}\n left=\"0px\"\n right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n {homeworkCards}\n </FlexView>\n </Styled.ScrollContainer>\n\n <Styled.ScrollButton\n $position=\"absolute\"\n $width=\"60px\"\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={showRightButton}\n left=\"auto\"\n right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(HwCardListView);\n"],"names":["HwCardListView","userType","studentId","isHwProcessing","hwDetails","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","onCardClick","puzzleHWCardRef","mathFitCardRef","homeworkData","useMemo","assignedHomeworks","queuedHomeworks","totalCount","waitForReviewCount","getWaitForReviewSheetsCount","scrollRef","showLeftButton","showRightButton","handleMouseEnter","handleMouseLeave","handleScrollLeft","handleScrollRight","useScrollButtons","renderHomeworkCard","useCallback","item","idx","isQueued","entityId","sheets","subtext","entitYType","state","score","id","sheet","isDynamicSheet","NODE_TYPE","jsxs","FlexView","jsx","Styled.QueueWrapper","Styled.QueueText","HomeworkCard","homeworkCards","assignedCards","queuedCards","Text","Styled.ContentWrapper","Styled.ScrollButton","ChevronLeftIcon","Styled.ScrollContainer","ChevronRightIcon","HwCardListView$1","memo"],"mappings":"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"}
|
|
@@ -1,75 +1,91 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { usePuzzleAssignedJourney as
|
|
4
|
-
import { useJourney as
|
|
5
|
-
import { getPuzzleCardData as
|
|
6
|
-
import { useGetHomeworks as
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
import { jsx as P } from "react/jsx-runtime";
|
|
2
|
+
import { memo as q, useMemo as b, useEffect as r, useCallback as B } from "react";
|
|
3
|
+
import { usePuzzleAssignedJourney as K } from "../../journey/hooks/use-puzzles-journey/use-puzzle-assigned.js";
|
|
4
|
+
import { useJourney as N } from "../../journey/use-journey/use-journey.js";
|
|
5
|
+
import { getPuzzleCardData as O, getMathFitCardData as Q } from "../utils.js";
|
|
6
|
+
import { useGetHomeworks as U } from "./api/get-homeworks.js";
|
|
7
|
+
import X from "./hw-card-list-view.js";
|
|
8
|
+
import { useMathFitAssignedStudentJourney as Y } from "../../journey/hooks/use-mathfit-assigned-journey/use-mathfit-assigned-student-journey.js";
|
|
9
|
+
const Z = ({
|
|
10
|
+
userType: u,
|
|
11
|
+
studentId: e,
|
|
12
|
+
stream: f,
|
|
13
|
+
onTestStart: v,
|
|
14
|
+
onNodeAttempt: A,
|
|
15
|
+
onTestPreview: J,
|
|
16
|
+
onNodeView: L,
|
|
17
|
+
onTestReview: M,
|
|
18
|
+
onNodeReview: R,
|
|
19
|
+
onNodeUnassign: W,
|
|
20
|
+
onCardClick: j,
|
|
21
|
+
homeworkRef: y,
|
|
22
|
+
startHomePageJourney: l,
|
|
23
|
+
canStartJourney: g,
|
|
24
|
+
canStartPuzzleAssignedJourney: m,
|
|
25
|
+
canStartMathFitJourney: t
|
|
24
26
|
}) => {
|
|
25
27
|
const {
|
|
26
|
-
get:
|
|
27
|
-
data:
|
|
28
|
-
isProcessingFailed:
|
|
29
|
-
isProcessing:
|
|
30
|
-
isProcessed:
|
|
31
|
-
isStale:
|
|
32
|
-
} =
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
get: H,
|
|
29
|
+
data: i,
|
|
30
|
+
isProcessingFailed: E,
|
|
31
|
+
isProcessing: p,
|
|
32
|
+
isProcessed: k,
|
|
33
|
+
isStale: x
|
|
34
|
+
} = U(e), { isJourneyActive: o } = N(), { puzzleHWCardRef: G, startJourney: w } = K(), { mathFitCardRef: V, startJourney: z } = Y(), c = b(() => O(i), [i]), s = b(() => Q(i), [i]);
|
|
35
|
+
r(() => {
|
|
36
|
+
k && l && !o && g && l({ studentId: e, stream: f, userType: u });
|
|
35
37
|
}, [
|
|
36
|
-
|
|
37
|
-
i,
|
|
38
|
-
w,
|
|
39
|
-
m,
|
|
40
|
-
s,
|
|
38
|
+
g,
|
|
41
39
|
o,
|
|
42
|
-
|
|
40
|
+
k,
|
|
41
|
+
l,
|
|
42
|
+
f,
|
|
43
|
+
e,
|
|
44
|
+
u
|
|
43
45
|
]);
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
}, [
|
|
47
|
-
return
|
|
48
|
-
!
|
|
49
|
-
}, [
|
|
50
|
-
|
|
51
|
-
}, [
|
|
52
|
-
|
|
53
|
-
}, [
|
|
54
|
-
|
|
46
|
+
const n = B(() => {
|
|
47
|
+
H(e, void 0, { stream: f });
|
|
48
|
+
}, [H, f, e]);
|
|
49
|
+
return r(() => {
|
|
50
|
+
!p && x && n();
|
|
51
|
+
}, [n, p, x]), r(() => {
|
|
52
|
+
n();
|
|
53
|
+
}, [n]), r(() => {
|
|
54
|
+
m && !o && w && c && c.sheets[0] && w(c.sheets[0]);
|
|
55
|
+
}, [m, c, o, w]), r(() => {
|
|
56
|
+
t && !o && z && (s != null && s.sheets[0]) && z(
|
|
57
|
+
s == null ? void 0 : s.sheets[0],
|
|
58
|
+
s == null ? void 0 : s.state,
|
|
59
|
+
(s == null ? void 0 : s.subtext) || ""
|
|
60
|
+
);
|
|
61
|
+
}, [
|
|
62
|
+
t,
|
|
63
|
+
o,
|
|
64
|
+
s == null ? void 0 : s.sheets,
|
|
65
|
+
s == null ? void 0 : s.state,
|
|
66
|
+
s == null ? void 0 : s.subtext,
|
|
67
|
+
z
|
|
68
|
+
]), E ? null : /* @__PURE__ */ P("div", { ref: y, children: /* @__PURE__ */ P(
|
|
69
|
+
X,
|
|
55
70
|
{
|
|
56
|
-
isHwProcessing:
|
|
57
|
-
hwDetails:
|
|
58
|
-
onTestStart:
|
|
59
|
-
onNodeAttempt:
|
|
60
|
-
onTestPreview:
|
|
61
|
-
onNodeView:
|
|
62
|
-
onTestReview:
|
|
63
|
-
onNodeReview:
|
|
64
|
-
onNodeUnassign:
|
|
65
|
-
onCardClick:
|
|
66
|
-
userType:
|
|
67
|
-
studentId:
|
|
68
|
-
puzzleHWCardRef:
|
|
71
|
+
isHwProcessing: p,
|
|
72
|
+
hwDetails: i,
|
|
73
|
+
onTestStart: v,
|
|
74
|
+
onNodeAttempt: A,
|
|
75
|
+
onTestPreview: J,
|
|
76
|
+
onNodeView: L,
|
|
77
|
+
onTestReview: M,
|
|
78
|
+
onNodeReview: R,
|
|
79
|
+
onNodeUnassign: W,
|
|
80
|
+
onCardClick: j,
|
|
81
|
+
userType: u,
|
|
82
|
+
studentId: e,
|
|
83
|
+
puzzleHWCardRef: G,
|
|
84
|
+
mathFitCardRef: V
|
|
69
85
|
}
|
|
70
86
|
) });
|
|
71
|
-
},
|
|
87
|
+
}, D = q(Z);
|
|
72
88
|
export {
|
|
73
|
-
|
|
89
|
+
D as default
|
|
74
90
|
};
|
|
75
91
|
//# sourceMappingURL=hw-card-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hw-card-list.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type FC } from 'react';\n\nimport { usePuzzleAssignedJourney } from '../../journey/hooks/use-puzzles-journey/use-puzzle-assigned';\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { getPuzzleCardData } from '../utils';\nimport { useGetHomeworks } from './api/get-homeworks';\nimport HwCardListView from './hw-card-list-view';\nimport type { IHWCardListProps } from './hw-card-list-types';\n\nconst HWCardList: FC<IHWCardListProps> = ({\n userType,\n studentId,\n stream,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n onCardClick,\n homeworkRef,\n startHomePageJourney,\n canStartJourney,\n canStartPuzzleAssignedJourney,\n}) => {\n const {\n get: getHomeworks,\n data: hwDetails,\n isProcessingFailed,\n isProcessing,\n isProcessed,\n isStale,\n } = useGetHomeworks(studentId);\n const { isJourneyActive } = useJourney();\n\n const { puzzleHWCardRef, startJourney: startPuzzleAssignedJourney } = usePuzzleAssignedJourney();\n
|
|
1
|
+
{"version":3,"file":"hw-card-list.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type FC } from 'react';\n\nimport { usePuzzleAssignedJourney } from '../../journey/hooks/use-puzzles-journey/use-puzzle-assigned';\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { getMathFitCardData, getPuzzleCardData } from '../utils';\nimport { useGetHomeworks } from './api/get-homeworks';\nimport HwCardListView from './hw-card-list-view';\nimport type { IHWCardListProps } from './hw-card-list-types';\nimport { useMathFitAssignedStudentJourney } from '../../journey/hooks/use-mathfit-assigned-journey/use-mathfit-assigned-student-journey';\n\nconst HWCardList: FC<IHWCardListProps> = ({\n userType,\n studentId,\n stream,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n onCardClick,\n homeworkRef,\n startHomePageJourney,\n canStartJourney,\n canStartPuzzleAssignedJourney,\n canStartMathFitJourney,\n}) => {\n const {\n get: getHomeworks,\n data: hwDetails,\n isProcessingFailed,\n isProcessing,\n isProcessed,\n isStale,\n } = useGetHomeworks(studentId);\n const { isJourneyActive } = useJourney();\n\n const { puzzleHWCardRef, startJourney: startPuzzleAssignedJourney } = usePuzzleAssignedJourney();\n const { mathFitCardRef, startJourney: startMathFitJourney } = useMathFitAssignedStudentJourney();\n const puzzleCardData = useMemo(() => getPuzzleCardData(hwDetails), [hwDetails]);\n const mathFitCardData = useMemo(() => getMathFitCardData(hwDetails), [hwDetails]);\n\n useEffect(() => {\n if (isProcessed && startHomePageJourney && !isJourneyActive && canStartJourney) {\n startHomePageJourney({ studentId, stream, userType });\n }\n }, [\n canStartJourney,\n isJourneyActive,\n isProcessed,\n startHomePageJourney,\n stream,\n studentId,\n userType,\n ]);\n\n const fetchHomeworks = useCallback(() => {\n getHomeworks(studentId, undefined, { stream });\n }, [getHomeworks, stream, studentId]);\n\n useEffect(() => {\n if (!isProcessing && isStale) {\n fetchHomeworks();\n }\n }, [fetchHomeworks, isProcessing, isStale]);\n\n useEffect(() => {\n fetchHomeworks();\n }, [fetchHomeworks]);\n\n useEffect(() => {\n if (\n canStartPuzzleAssignedJourney &&\n !isJourneyActive &&\n startPuzzleAssignedJourney &&\n puzzleCardData &&\n puzzleCardData.sheets[0]\n ) {\n startPuzzleAssignedJourney(puzzleCardData.sheets[0]);\n }\n }, [canStartPuzzleAssignedJourney, puzzleCardData, isJourneyActive, startPuzzleAssignedJourney]);\n\n useEffect(() => {\n if (\n canStartMathFitJourney &&\n !isJourneyActive &&\n startMathFitJourney &&\n mathFitCardData?.sheets[0]\n ) {\n startMathFitJourney(\n mathFitCardData?.sheets[0],\n mathFitCardData?.state,\n mathFitCardData?.subtext || '',\n );\n }\n }, [\n canStartMathFitJourney,\n isJourneyActive,\n mathFitCardData?.sheets,\n mathFitCardData?.state,\n mathFitCardData?.subtext,\n startMathFitJourney,\n ]);\n\n if (isProcessingFailed) {\n return null;\n }\n\n return (\n <div ref={homeworkRef}>\n <HwCardListView\n isHwProcessing={isProcessing}\n hwDetails={hwDetails}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onTestPreview={onTestPreview}\n onNodeView={onNodeView}\n onTestReview={onTestReview}\n onNodeReview={onNodeReview}\n onNodeUnassign={onNodeUnassign}\n onCardClick={onCardClick}\n userType={userType}\n studentId={studentId}\n puzzleHWCardRef={puzzleHWCardRef}\n mathFitCardRef={mathFitCardRef}\n />\n </div>\n );\n};\n\nexport default memo(HWCardList);\n"],"names":["HWCardList","userType","studentId","stream","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","onCardClick","homeworkRef","startHomePageJourney","canStartJourney","canStartPuzzleAssignedJourney","canStartMathFitJourney","getHomeworks","hwDetails","isProcessingFailed","isProcessing","isProcessed","isStale","useGetHomeworks","isJourneyActive","useJourney","puzzleHWCardRef","startPuzzleAssignedJourney","usePuzzleAssignedJourney","mathFitCardRef","startMathFitJourney","useMathFitAssignedStudentJourney","puzzleCardData","useMemo","getPuzzleCardData","mathFitCardData","getMathFitCardData","useEffect","fetchHomeworks","useCallback","jsx","HwCardListView","hwCardList","memo"],"mappings":"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"}
|
|
@@ -1,57 +1,66 @@
|
|
|
1
|
-
import { TESTS_CREATION_ANALYTICS_EVENTS as
|
|
1
|
+
import { TESTS_CREATION_ANALYTICS_EVENTS as E } from "../milestone/milestone-tests/tests-creation/tests-creation-analytics-events.js";
|
|
2
2
|
import { NODE_TYPE as n } from "../sheets/constants/sheet.js";
|
|
3
3
|
import { HOMEWORK_ANALYTICS_EVENTS as c } from "./homework-analytics-events.js";
|
|
4
|
-
|
|
4
|
+
import { EHWCardListEntityType as l } from "./hw-card-list/hw-card-list-types.js";
|
|
5
|
+
const f = ({
|
|
5
6
|
canResume: t,
|
|
6
|
-
canStart:
|
|
7
|
-
homeworkId:
|
|
7
|
+
canStart: r,
|
|
8
|
+
homeworkId: e,
|
|
8
9
|
isHomeWork: a,
|
|
9
10
|
isStudent: s,
|
|
10
11
|
milestoneId: _,
|
|
11
|
-
nodeType:
|
|
12
|
-
studentId:
|
|
12
|
+
nodeType: i,
|
|
13
|
+
studentId: o,
|
|
13
14
|
userNodeId: d
|
|
14
15
|
}) => {
|
|
15
16
|
if (s) {
|
|
16
17
|
if (a)
|
|
17
|
-
return
|
|
18
|
+
return r || t ? {
|
|
18
19
|
analyticsLabel: c.HOMEWORK_ATTEMPTED,
|
|
19
|
-
analyticsProps: { student_id:
|
|
20
|
+
analyticsProps: { student_id: o, node_type: i, homework_id: e }
|
|
20
21
|
} : {
|
|
21
22
|
analyticsLabel: "homework-student-menu",
|
|
22
|
-
analyticsProps: { student_id:
|
|
23
|
+
analyticsProps: { student_id: o, node_type: i, homework_id: e }
|
|
23
24
|
};
|
|
24
|
-
if (
|
|
25
|
+
if (r || t)
|
|
25
26
|
return {
|
|
26
|
-
analyticsLabel:
|
|
27
|
+
analyticsLabel: i === n.DYNAMIC ? E.CUSTOM_TEST_ATTEMPTED : "node-attempted",
|
|
27
28
|
analyticsProps: {
|
|
28
|
-
student_id:
|
|
29
|
-
node_type:
|
|
29
|
+
student_id: o,
|
|
30
|
+
node_type: i,
|
|
30
31
|
user_node_id: d,
|
|
31
32
|
milestone_id: _,
|
|
32
|
-
can_start:
|
|
33
|
+
can_start: r,
|
|
33
34
|
can_resume: t
|
|
34
35
|
}
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
38
|
return a ? {
|
|
38
39
|
analyticsLabel: "homework-card-teacher",
|
|
39
|
-
analyticsProps: { student_id:
|
|
40
|
+
analyticsProps: { student_id: o, node_type: i }
|
|
40
41
|
} : {
|
|
41
42
|
analyticsLabel: "goals-card-teacher",
|
|
42
|
-
analyticsProps: { student_id:
|
|
43
|
+
analyticsProps: { student_id: o, node_type: i }
|
|
43
44
|
};
|
|
44
|
-
},
|
|
45
|
+
}, u = (t) => {
|
|
45
46
|
if (!t)
|
|
46
47
|
return;
|
|
47
|
-
const { assigned_homeworks:
|
|
48
|
-
return
|
|
48
|
+
const { assigned_homeworks: r } = t;
|
|
49
|
+
return r.find((e) => {
|
|
49
50
|
var a;
|
|
50
|
-
return ((a =
|
|
51
|
+
return ((a = e.sheets[0]) == null ? void 0 : a.node_type) === n.PUZZLE_CARD;
|
|
51
52
|
});
|
|
53
|
+
}, A = (t) => {
|
|
54
|
+
if (!t)
|
|
55
|
+
return;
|
|
56
|
+
const { assigned_homeworks: r } = t;
|
|
57
|
+
return r.find(
|
|
58
|
+
(e) => e.entity_type === l.MATHFIT_TEST
|
|
59
|
+
);
|
|
52
60
|
};
|
|
53
61
|
export {
|
|
54
|
-
|
|
55
|
-
|
|
62
|
+
f as getCardAnalyticProps,
|
|
63
|
+
A as getMathFitCardData,
|
|
64
|
+
u as getPuzzleCardData
|
|
56
65
|
};
|
|
57
66
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/features/homework/utils.ts"],"sourcesContent":["import type { TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { NODE_TYPE } from '../sheets/constants/sheet';\nimport { HOMEWORK_ANALYTICS_EVENTS } from './homework-analytics-events';\nimport type { IHomeworkDetails } from './hw-card-list/api/get-homeworks';\n\ninterface IGetCardAnalyticProps {\n canResume: boolean;\n canStart: boolean;\n homeworkId?: string;\n isHomeWork: boolean;\n isStudent: boolean;\n milestoneId?: string;\n nodeType: TNodeTypes;\n studentId: string;\n userNodeId: string | null;\n}\n\nconst getCardAnalyticProps = ({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n}: IGetCardAnalyticProps) => {\n if (isStudent) {\n if (isHomeWork) {\n if (canStart || canResume) {\n return {\n analyticsLabel: HOMEWORK_ANALYTICS_EVENTS.HOMEWORK_ATTEMPTED,\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n return {\n analyticsLabel: 'homework-student-menu',\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n if (canStart || canResume) {\n return {\n analyticsLabel:\n nodeType === NODE_TYPE.DYNAMIC\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : 'node-attempted',\n analyticsProps: {\n student_id: studentId,\n node_type: nodeType,\n user_node_id: userNodeId,\n milestone_id: milestoneId,\n can_start: canStart,\n can_resume: canResume,\n },\n };\n }\n }\n\n if (isHomeWork) {\n return {\n analyticsLabel: 'homework-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n }\n\n return {\n analyticsLabel: 'goals-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n};\n\nconst getPuzzleCardData = (hwDetails?: IHomeworkDetails) => {\n if (!hwDetails) {\n return undefined;\n }\n\n const { assigned_homeworks: assignedHomework } = hwDetails;\n\n return assignedHomework.find(homework => homework.sheets[0]?.node_type === NODE_TYPE.PUZZLE_CARD);\n};\n\nexport { getCardAnalyticProps, getPuzzleCardData };\n"],"names":["getCardAnalyticProps","canResume","canStart","homeworkId","isHomeWork","isStudent","milestoneId","nodeType","studentId","userNodeId","HOMEWORK_ANALYTICS_EVENTS","NODE_TYPE","TESTS_CREATION_ANALYTICS_EVENTS","getPuzzleCardData","hwDetails","assignedHomework","homework","_a"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/features/homework/utils.ts"],"sourcesContent":["import type { TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { NODE_TYPE } from '../sheets/constants/sheet';\nimport { HOMEWORK_ANALYTICS_EVENTS } from './homework-analytics-events';\nimport type { IHomeworkDetails } from './hw-card-list/api/get-homeworks';\nimport { EHWCardListEntityType } from './hw-card-list/hw-card-list-types';\n\ninterface IGetCardAnalyticProps {\n canResume: boolean;\n canStart: boolean;\n homeworkId?: string;\n isHomeWork: boolean;\n isStudent: boolean;\n milestoneId?: string;\n nodeType: TNodeTypes;\n studentId: string;\n userNodeId: string | null;\n}\n\nconst getCardAnalyticProps = ({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n}: IGetCardAnalyticProps) => {\n if (isStudent) {\n if (isHomeWork) {\n if (canStart || canResume) {\n return {\n analyticsLabel: HOMEWORK_ANALYTICS_EVENTS.HOMEWORK_ATTEMPTED,\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n return {\n analyticsLabel: 'homework-student-menu',\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n if (canStart || canResume) {\n return {\n analyticsLabel:\n nodeType === NODE_TYPE.DYNAMIC\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : 'node-attempted',\n analyticsProps: {\n student_id: studentId,\n node_type: nodeType,\n user_node_id: userNodeId,\n milestone_id: milestoneId,\n can_start: canStart,\n can_resume: canResume,\n },\n };\n }\n }\n\n if (isHomeWork) {\n return {\n analyticsLabel: 'homework-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n }\n\n return {\n analyticsLabel: 'goals-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n};\n\nconst getPuzzleCardData = (hwDetails?: IHomeworkDetails) => {\n if (!hwDetails) {\n return undefined;\n }\n\n const { assigned_homeworks: assignedHomework } = hwDetails;\n\n return assignedHomework.find(homework => homework.sheets[0]?.node_type === NODE_TYPE.PUZZLE_CARD);\n};\n\nconst getMathFitCardData = (hwDetails?: IHomeworkDetails) => {\n if (!hwDetails) {\n return undefined;\n }\n\n const { assigned_homeworks: assignedHomework } = hwDetails;\n\n return assignedHomework.find(\n homework => homework.entity_type === EHWCardListEntityType.MATHFIT_TEST,\n );\n};\n\nexport { getCardAnalyticProps, getPuzzleCardData, getMathFitCardData };\n"],"names":["getCardAnalyticProps","canResume","canStart","homeworkId","isHomeWork","isStudent","milestoneId","nodeType","studentId","userNodeId","HOMEWORK_ANALYTICS_EVENTS","NODE_TYPE","TESTS_CREATION_ANALYTICS_EVENTS","getPuzzleCardData","hwDetails","assignedHomework","homework","_a","getMathFitCardData","EHWCardListEntityType"],"mappings":";;;;AAmBA,MAAMA,IAAuB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AACF,MAA6B;AAC3B,MAAIJ,GAAW;AACb,QAAID;AACF,aAAIF,KAAYD,IACP;AAAA,QACL,gBAAgBS,EAA0B;AAAA,QAC1C,gBAAgB,EAAE,YAAYF,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MAAA,IAInF;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB,EAAE,YAAYK,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MAAA;AAI1F,QAAID,KAAYD;AACP,aAAA;AAAA,QACL,gBACEM,MAAaI,EAAU,UACnBC,EAAgC,wBAChC;AAAA,QACN,gBAAgB;AAAA,UACd,YAAYJ;AAAA,UACZ,WAAWD;AAAA,UACX,cAAcE;AAAA,UACd,cAAcH;AAAA,UACd,WAAWJ;AAAA,UACX,YAAYD;AAAA,QACd;AAAA,MAAA;AAAA,EAGN;AAEA,SAAIG,IACK;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYI,GAAW,WAAWD,EAAS;AAAA,EAAA,IAI1D;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYC,GAAW,WAAWD,EAAS;AAAA,EAAA;AAEjE,GAEMM,IAAoB,CAACC,MAAiC;AAC1D,MAAI,CAACA;AACI;AAGH,QAAA,EAAE,oBAAoBC,EAAqB,IAAAD;AAE1C,SAAAC,EAAiB,KAAK,CAAYC;;AAAA,aAAAC,IAAAD,EAAS,OAAO,CAAC,MAAjB,gBAAAC,EAAoB,eAAcN,EAAU;AAAA,GAAW;AAClG,GAEMO,IAAqB,CAACJ,MAAiC;AAC3D,MAAI,CAACA;AACI;AAGH,QAAA,EAAE,oBAAoBC,EAAqB,IAAAD;AAEjD,SAAOC,EAAiB;AAAA,IACtB,CAAAC,MAAYA,EAAS,gBAAgBG,EAAsB;AAAA,EAAA;AAE/D;"}
|