@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.
@@ -1,18 +1,18 @@
1
- import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { memo as W, useMemo as b, useCallback as X } from "react";
3
- import O from "../../../assets/line-icons/icons/chevron-left.js";
4
- import V from "../../../assets/line-icons/icons/chevron-right.js";
5
- import { NODE_TYPE as Y } from "../../sheets/constants/sheet.js";
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 N from "../homework-card.js";
9
- import { QueueWrapper as P, QueueText as Q, ContentWrapper as z, ScrollButton as L, ScrollContainer as J } from "./hw-card-list-styled.js";
10
- import { getWaitForReviewSheetsCount as Z } from "./hw-card-list-utils.js";
11
- import { useScrollButtons as U } from "./hooks/use-scroll-buttons.js";
12
- const D = ({
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: y,
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 o = b(() => {
28
- const s = (r == null ? void 0 : r.assigned_homeworks) || [], i = (r == null ? void 0 : r.queued_homeworks) || [], t = s.length + i.length, n = Z(r);
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: t,
33
+ totalCount: e,
33
34
  waitForReviewCount: n
34
35
  };
35
36
  }, [r]), {
36
- scrollRef: A,
37
- showLeftButton: v,
38
- showRightButton: B,
39
- handleMouseEnter: I,
40
- handleMouseLeave: R,
41
- handleScrollLeft: T,
42
- handleScrollRight: q
43
- } = U({
44
- totalCount: o.totalCount
45
- }), u = X(
46
- (s, i, t = !1) => {
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: K,
50
- subtext: M,
51
- entity_type: S,
52
- state: j,
53
- score: F,
54
- id: G
55
- } = s, c = K[0], d = (c == null ? void 0 : c.node_type) === Y.DYNAMIC;
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
- t && i === 0 && /* @__PURE__ */ e(
63
- P,
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__ */ e(Q, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
70
+ children: /* @__PURE__ */ o(J, { $renderAs: "ac3", $color: "WHITE", children: "In Queue" })
70
71
  }
71
72
  ),
72
- c && /* @__PURE__ */ e(
73
- N,
73
+ c && /* @__PURE__ */ o(
74
+ P,
74
75
  {
75
- isInQueue: t,
76
+ isInQueue: e,
76
77
  userType: h,
77
78
  header: c.title,
78
- subHeader: M || "",
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: t ? void 0 : H,
88
+ puzzleHWCardRef: e ? void 0 : H,
89
+ mathFitCardRef: e ? void 0 : b,
88
90
  onCardClick: x,
89
- entityType: S,
91
+ entityType: j,
90
92
  entityId: n,
91
- state: j,
92
- score: F,
93
- homeworkId: G
93
+ state: F,
94
+ score: G,
95
+ homeworkId: W
94
96
  }
95
97
  )
96
98
  ]
97
99
  },
98
- `${n}_${i}_${t ? "queued" : "assigned"}`
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
- x,
112
- H
113
+ H,
114
+ b,
115
+ x
113
116
  ]
114
- ), E = b(() => {
115
- if (o.totalCount === 0) return [];
116
- const s = o.assignedHomeworks.map(
117
- (t, n) => u(t, n, !1)
118
- ), i = o.queuedHomeworks.map(
119
- (t, n) => u(t, n, !0)
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
- o.assignedHomeworks,
124
- o.queuedHomeworks,
126
+ t.assignedHomeworks,
127
+ t.queuedHomeworks,
125
128
  u,
126
- o.totalCount
129
+ t.totalCount
127
130
  ]);
128
- return o.totalCount === 0 ? /* @__PURE__ */ l(a, { $flexRowGapX: 1, children: [
129
- /* @__PURE__ */ e(m, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Homework (0)" }),
130
- /* @__PURE__ */ e(m, { $renderAs: "ab2", $color: "BLACK_T_60", children: "No Homework assigned yet" })
131
- ] }) : /* @__PURE__ */ l(z, { $flexRowGapX: 1, $disablePointerEvents: y, children: [
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
- o.waitForReviewCount,
137
+ t.waitForReviewCount,
135
138
  "/",
136
- o.totalCount,
139
+ t.totalCount,
137
140
  ")"
138
141
  ] }),
139
142
  /* @__PURE__ */ l(
140
143
  a,
141
144
  {
142
145
  $position: "relative",
143
- onMouseEnter: I,
144
- onMouseLeave: R,
146
+ onMouseEnter: R,
147
+ onMouseLeave: T,
145
148
  children: [
146
- /* @__PURE__ */ e(
147
- L,
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: T,
155
- $visible: v,
157
+ onClick: q,
158
+ $visible: B,
156
159
  left: "0px",
157
160
  right: "auto",
158
- children: /* @__PURE__ */ e(O, { width: 24, height: 24 })
161
+ children: /* @__PURE__ */ o(V, { width: 24, height: 24 })
159
162
  }
160
163
  ),
161
- /* @__PURE__ */ e(J, { ref: A, children: /* @__PURE__ */ e(a, { $flexDirection: "row", $flexGapX: 1, children: E }) }),
162
- /* @__PURE__ */ e(
163
- L,
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: q,
172
- $visible: B,
174
+ onClick: E,
175
+ $visible: I,
173
176
  left: "auto",
174
177
  right: "0px",
175
- children: /* @__PURE__ */ e(V, { width: 24, height: 24 })
178
+ children: /* @__PURE__ */ o(Y, { width: 24, height: 24 })
176
179
  }
177
180
  )
178
181
  ]
179
182
  }
180
183
  )
181
184
  ] });
182
- }, de = W(D);
185
+ }, me = X(ee);
183
186
  export {
184
- de as default
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 C } from "react/jsx-runtime";
2
- import { memo as W, useMemo as b, useEffect as t, useCallback as j } from "react";
3
- import { usePuzzleAssignedJourney as E } from "../../journey/hooks/use-puzzles-journey/use-puzzle-assigned.js";
4
- import { useJourney as F } from "../../journey/use-journey/use-journey.js";
5
- import { getPuzzleCardData as G } from "../utils.js";
6
- import { useGetHomeworks as J } from "./api/get-homeworks.js";
7
- import M from "./hw-card-list-view.js";
8
- const R = ({
9
- userType: f,
10
- studentId: o,
11
- stream: s,
12
- onTestStart: h,
13
- onNodeAttempt: g,
14
- onTestPreview: H,
15
- onNodeView: d,
16
- onTestReview: k,
17
- onNodeReview: P,
18
- onNodeUnassign: v,
19
- onCardClick: D,
20
- homeworkRef: L,
21
- startHomePageJourney: m,
22
- canStartJourney: n,
23
- canStartPuzzleAssignedJourney: p
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: u,
27
- data: c,
28
- isProcessingFailed: x,
29
- isProcessing: l,
30
- isProcessed: w,
31
- isStale: z
32
- } = J(o), { isJourneyActive: i } = F(), { puzzleHWCardRef: A, startJourney: a } = E(), e = b(() => G(c), [c]);
33
- t(() => {
34
- w && m && !i && n && m({ studentId: o, stream: s, userType: f });
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
- n,
37
- i,
38
- w,
39
- m,
40
- s,
38
+ g,
41
39
  o,
42
- f
40
+ k,
41
+ l,
42
+ f,
43
+ e,
44
+ u
43
45
  ]);
44
- const r = j(() => {
45
- u(o, void 0, { stream: s });
46
- }, [u, s, o]);
47
- return t(() => {
48
- !l && z && r();
49
- }, [r, l, z]), t(() => {
50
- r();
51
- }, [r]), t(() => {
52
- p && !i && a && e && e.sheets[0] && a(e.sheets[0]);
53
- }, [p, e, i, a]), x ? null : /* @__PURE__ */ C("div", { ref: L, children: /* @__PURE__ */ C(
54
- M,
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: l,
57
- hwDetails: c,
58
- onTestStart: h,
59
- onNodeAttempt: g,
60
- onTestPreview: H,
61
- onNodeView: d,
62
- onTestReview: k,
63
- onNodeReview: P,
64
- onNodeUnassign: v,
65
- onCardClick: D,
66
- userType: f,
67
- studentId: o,
68
- puzzleHWCardRef: A
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
- }, U = W(R);
87
+ }, D = q(Z);
72
88
  export {
73
- U as default
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\n const puzzleCardData = useMemo(() => getPuzzleCardData(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 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 />\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","getHomeworks","hwDetails","isProcessingFailed","isProcessing","isProcessed","isStale","useGetHomeworks","isJourneyActive","useJourney","puzzleHWCardRef","startPuzzleAssignedJourney","usePuzzleAssignedJourney","puzzleCardData","useMemo","getPuzzleCardData","useEffect","fetchHomeworks","useCallback","jsx","HwCardListView","hwCardList","memo"],"mappings":";;;;;;;AASA,MAAMA,IAAmC,CAAC;AAAA,EACxC,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,+BAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,oBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEC,EAAgBpB,CAAS,GACvB,EAAE,iBAAAqB,MAAoBC,KAEtB,EAAE,iBAAAC,GAAiB,cAAcC,MAA+BC,EAAyB,GAEzFC,IAAiBC,EAAQ,MAAMC,EAAkBb,CAAS,GAAG,CAACA,CAAS,CAAC;AAE9E,EAAAc,EAAU,MAAM;AACd,IAAIX,KAAeP,KAAwB,CAACU,KAAmBT,KAC7DD,EAAqB,EAAE,WAAAX,GAAW,QAAAC,GAAQ,UAAAF,EAAU,CAAA;AAAA,EACtD,GACC;AAAA,IACDa;AAAA,IACAS;AAAA,IACAH;AAAA,IACAP;AAAA,IACAV;AAAA,IACAD;AAAA,IACAD;AAAA,EAAA,CACD;AAEK,QAAA+B,IAAiBC,EAAY,MAAM;AACvC,IAAAjB,EAAad,GAAW,QAAW,EAAE,QAAAC,EAAQ,CAAA;AAAA,EAC5C,GAAA,CAACa,GAAcb,GAAQD,CAAS,CAAC;AAwBpC,SAtBA6B,EAAU,MAAM;AACV,IAAA,CAACZ,KAAgBE,KACJW;EAEhB,GAAA,CAACA,GAAgBb,GAAcE,CAAO,CAAC,GAE1CU,EAAU,MAAM;AACC,IAAAC;EAAA,GACd,CAACA,CAAc,CAAC,GAEnBD,EAAU,MAAM;AAEZ,IAAAhB,KACA,CAACQ,KACDG,KACAE,KACAA,EAAe,OAAO,CAAC,KAEIF,EAAAE,EAAe,OAAO,CAAC,CAAC;AAAA,KAEpD,CAACb,GAA+Ba,GAAgBL,GAAiBG,CAA0B,CAAC,GAE3FR,IACK,OAIP,gBAAAgB,EAAC,OAAI,EAAA,KAAKtB,GACR,UAAA,gBAAAsB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBhB;AAAA,MAChB,WAAAF;AAAA,MACA,aAAAb;AAAA,MACA,eAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,UAAAV;AAAA,MACA,WAAAC;AAAA,MACA,iBAAAuB;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEeW,IAAAC,EAAKrC,CAAU;"}
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 l } from "../milestone/milestone-tests/tests-creation/tests-creation-analytics-events.js";
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
- const y = ({
4
+ import { EHWCardListEntityType as l } from "./hw-card-list/hw-card-list-types.js";
5
+ const f = ({
5
6
  canResume: t,
6
- canStart: e,
7
- homeworkId: o,
7
+ canStart: r,
8
+ homeworkId: e,
8
9
  isHomeWork: a,
9
10
  isStudent: s,
10
11
  milestoneId: _,
11
- nodeType: r,
12
- studentId: i,
12
+ nodeType: i,
13
+ studentId: o,
13
14
  userNodeId: d
14
15
  }) => {
15
16
  if (s) {
16
17
  if (a)
17
- return e || t ? {
18
+ return r || t ? {
18
19
  analyticsLabel: c.HOMEWORK_ATTEMPTED,
19
- analyticsProps: { student_id: i, node_type: r, homework_id: o }
20
+ analyticsProps: { student_id: o, node_type: i, homework_id: e }
20
21
  } : {
21
22
  analyticsLabel: "homework-student-menu",
22
- analyticsProps: { student_id: i, node_type: r, homework_id: o }
23
+ analyticsProps: { student_id: o, node_type: i, homework_id: e }
23
24
  };
24
- if (e || t)
25
+ if (r || t)
25
26
  return {
26
- analyticsLabel: r === n.DYNAMIC ? l.CUSTOM_TEST_ATTEMPTED : "node-attempted",
27
+ analyticsLabel: i === n.DYNAMIC ? E.CUSTOM_TEST_ATTEMPTED : "node-attempted",
27
28
  analyticsProps: {
28
- student_id: i,
29
- node_type: r,
29
+ student_id: o,
30
+ node_type: i,
30
31
  user_node_id: d,
31
32
  milestone_id: _,
32
- can_start: e,
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: i, node_type: r }
40
+ analyticsProps: { student_id: o, node_type: i }
40
41
  } : {
41
42
  analyticsLabel: "goals-card-teacher",
42
- analyticsProps: { student_id: i, node_type: r }
43
+ analyticsProps: { student_id: o, node_type: i }
43
44
  };
44
- }, T = (t) => {
45
+ }, u = (t) => {
45
46
  if (!t)
46
47
  return;
47
- const { assigned_homeworks: e } = t;
48
- return e.find((o) => {
48
+ const { assigned_homeworks: r } = t;
49
+ return r.find((e) => {
49
50
  var a;
50
- return ((a = o.sheets[0]) == null ? void 0 : a.node_type) === n.PUZZLE_CARD;
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
- y as getCardAnalyticProps,
55
- T as getPuzzleCardData
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":";;;AAkBA,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;"}
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;"}