@cuemath/leap 3.5.51-as12 → 3.5.51-as13
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/node-card-types.js +5 -0
- package/dist/features/chapters-v2/comps/node-card/node-card-types.js.map +1 -0
- package/dist/features/homework/homework-card-view.js +37 -37
- package/dist/features/homework/homework-card-view.js.map +1 -1
- package/dist/features/homework/homework-card.js +152 -151
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
- package/dist/features/homework/hw-card-list/hw-card-list-types.js +2 -2
- 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 +20 -20
- 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 +2 -2
- package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/features/math-fit/math-fit/math-fit.js +4 -4
- package/dist/features/math-fit/math-fit/math-fit.js.map +1 -1
- package/dist/features/math-fit/math-fit-overview/math-fit-overview-types.js.map +1 -1
- package/dist/features/math-fit/math-fit-overview/math-fit-overview.js +5 -5
- package/dist/features/math-fit/math-fit-overview/math-fit-overview.js.map +1 -1
- package/dist/features/math-fit/math-fit-report/math-fit-report.js +1 -1
- package/dist/features/math-fit/math-fit-report/math-fit-report.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +6 -6
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +24 -24
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +22 -22
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +8 -8
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +2 -2
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/sheet-v2/resource-list/resource-list.js +9 -10
- package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
- package/dist/index.d.ts +25 -12
- package/dist/index.js +366 -364
- package/dist/index.js.map +1 -1
- package/dist/types/models/worksheet.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-card-types.js","sources":["../../../../../src/features/chapters-v2/comps/node-card/node-card-types.ts"],"sourcesContent":["import type { EWorksheetActivity, IWorksheetModel } from '../../../../types/models/worksheet';\nimport type {\n NODE_TYPE,\n PYTHON_NODE_TYPES,\n SAT_NODE_TYPE,\n SHEET_ATTEMPT_LOCATION,\n} from '../../../sheets/constants/sheet';\nimport type { THueNames, TUserTypes } from '../../../ui/types';\nimport type { BLOCK_TYPE } from '../../constants/block-constants';\nimport type { NODE_CARD_COURSE_TYPES, NODE_CARD_STATES } from '../../constants/node-constants';\n\ntype TSheetAttemptLocation = keyof typeof SHEET_ATTEMPT_LOCATION;\n\ntype TSheetStates = keyof typeof NODE_CARD_STATES;\nexport type TNodeTypes =\n | keyof typeof NODE_TYPE\n | keyof typeof PYTHON_NODE_TYPES\n | keyof typeof SAT_NODE_TYPE;\nexport type TCourseType = keyof typeof NODE_CARD_COURSE_TYPES;\n\nexport enum ECardType {\n MATHFIT = 'MATHFIT',\n}\n\ninterface INodePermissions {\n can_change_attempt_location: boolean;\n can_mark_familiar: boolean;\n can_reattempt: boolean;\n can_reset: boolean;\n can_resume: boolean;\n can_review: boolean;\n can_assign_as_homework: boolean;\n can_start: boolean;\n can_teacher_review: boolean;\n can_unassign: boolean;\n can_unlock: boolean;\n can_un_skip: boolean;\n can_skip: boolean;\n}\n\nexport interface TNodeDataTestItemsDataProps {\n chapter_name: string;\n goal_name: string;\n ref: string;\n}\n\ninterface INodeDataProps {\n accuracy: number | null;\n attempt_location: TSheetAttemptLocation;\n block_id: string;\n card_header: string;\n chapter_id: string | null;\n chapter_name?: string;\n complete_status: boolean;\n course_type: TCourseType;\n desmos_calculator_enabled: boolean;\n due_date_ts: number | null;\n id: string;\n image_hue: THueNames;\n image_url: string | null;\n activity_type: EWorksheetActivity | null;\n is_optional: boolean;\n is_timed: boolean;\n is_worksheet_v3: boolean | null;\n items?: TNodeDataTestItemsDataProps[];\n learnosity_activity_ref: string;\n marked_as_completed: boolean;\n node_id: string;\n node_type: TNodeTypes;\n permissions: INodePermissions;\n sheet_statement: string;\n sheet_time: number | null;\n state: TSheetStates;\n subtext: string | null;\n title: string;\n total_questions: number | null;\n unlocked_on_ts: number | null;\n user_attempt_id: string | null;\n user_chapter_id: string | null;\n user_block_id: string | null;\n user_milestone_id?: string;\n user_node_id: string | null;\n worksheet_id: string;\n is_turing: boolean;\n student_instructions_ref: string | null;\n instructions_ref: string | null;\n worksheet?: IWorksheetModel | null;\n}\n\ninterface INodeCardTagsProps {\n state: TSheetStates;\n accuracy?: number | null;\n nodeType: TNodeTypes;\n dueDateTs?: number | null;\n isStudent?: boolean;\n isMilestone?: boolean;\n isMathFitCard?: boolean;\n}\n\ninterface INodeCardCallbacks {\n onNodeAttempt?: (\n nodeData: INodeDataProps,\n milestoneId?: string,\n homeworkId?: string,\n isSatMockTestBlock?: boolean,\n ) => void;\n onNodeView?: (nodeData: INodeDataProps, milestoneId?: string) => void;\n onNodeReview?: (\n nodeData: INodeDataProps,\n milestoneId?: string,\n homeworkId?: string,\n isSatMockTestBlock?: boolean,\n ) => void;\n onNodeReattempt?: (nodeData: INodeDataProps, milestoneId?: string) => void;\n onNodeAssignAsHomework?: (nodeData: INodeDataProps, milestoneId?: string) => void;\n onNodeMarkAsDone?: (nodeData: INodeDataProps) => void;\n onNodeReset?: (nodeData: INodeDataProps, milestoneId?: string) => void;\n onNodeUnassign?: (nodeData: INodeDataProps, milestoneId?: string, homeworkId?: string) => void;\n onNodeUnlock?: (nodeData: INodeDataProps, milestoneId?: string) => void;\n onNodeSkipUnSkip?: (nodeData: INodeDataProps, milestoneId?: string) => void;\n onCardClick?: ({ entityId, type }: { entityId: string; type: ECardType }) => void;\n}\n\ninterface INodeCardProps extends INodeCardCallbacks {\n userType: TUserTypes;\n nodeData: INodeDataProps;\n imageHue: THueNames;\n blockType?: keyof typeof BLOCK_TYPE;\n isSkipped?: boolean;\n isStudent?: boolean;\n}\n\nexport type {\n TSheetStates,\n INodeDataProps,\n INodePermissions,\n INodeCardProps,\n INodeCardCallbacks,\n INodeCardTagsProps,\n};\n"],"names":["ECardType"],"mappings":"AAoBY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WADAA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import { memo as M, useMemo as U, useState as F, useRef as b, useCallback as w, useLayoutEffect as G } from "react";
|
|
3
3
|
import j from "../../assets/line-icons/icons/closed-eye.js";
|
|
4
|
-
import
|
|
4
|
+
import y from "../chapters-v2/comps/node-card/node-card-tags.js";
|
|
5
5
|
import { getNodeTypeBasedBgImage as K } from "../chapters-v2/utils/index.js";
|
|
6
6
|
import { getNodeCardBasedIcon as V } from "../chapters-v2/utils/node-card-utils.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import Z from "../math-fit/math-fit-card/math-fit-card.js";
|
|
8
|
+
import Y from "../puzzles/comps/puzzle-card.js";
|
|
9
9
|
import u from "../ui/arrow-tooltip/arrow-tooltip.js";
|
|
10
10
|
import c from "../ui/layout/flex-view.js";
|
|
11
11
|
import q from "../ui/lottie-animation/lottie-animation.js";
|
|
12
12
|
import J from "./card-title.js";
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
13
|
+
import { EHWCardListEntityType as Q } from "./hw-card-list/hw-card-list-types.js";
|
|
14
|
+
import A from "./node-progress.js";
|
|
15
15
|
import { PuzzleCardWrapper as ee, CardWrapper as re, IconWrapper as te, BannerImageWrapper as oe, BannerImage as ie, HeaderText as ne, SubHeaderText as de } from "./styles.js";
|
|
16
16
|
const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
17
|
-
header:
|
|
18
|
-
isInQueue:
|
|
17
|
+
header: E,
|
|
18
|
+
isInQueue: k,
|
|
19
19
|
nodeData: i,
|
|
20
20
|
studentContainerRef: h,
|
|
21
|
-
subHeader:
|
|
21
|
+
subHeader: C,
|
|
22
22
|
userType: n,
|
|
23
23
|
isMilestone: d = !1,
|
|
24
|
-
puzzleHWCardRef:
|
|
24
|
+
puzzleHWCardRef: x,
|
|
25
25
|
entityType: N,
|
|
26
26
|
state: r,
|
|
27
|
-
score:
|
|
27
|
+
score: O
|
|
28
28
|
}) => {
|
|
29
29
|
const {
|
|
30
30
|
node_type: t,
|
|
@@ -32,11 +32,11 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
32
32
|
due_date_ts: o,
|
|
33
33
|
image_url: g,
|
|
34
34
|
image_hue: a,
|
|
35
|
-
card_header:
|
|
35
|
+
card_header: z = "",
|
|
36
36
|
unlocked_on_ts: m,
|
|
37
|
-
course_type:
|
|
38
|
-
title:
|
|
39
|
-
} = i,
|
|
37
|
+
course_type: D,
|
|
38
|
+
title: H
|
|
39
|
+
} = i, L = t === "PUZZLE_CARD", f = N === Q.MATHFIT_TEST, $ = n === "STUDENT" && r === "LOCKED", _ = r === "LOCKED" || n === "TEACHER" && r !== "COMPLETED" && r !== "EXPIRED", S = U(() => r === "LOCKED" ? f ? "Take test after class" : "Not available to student" : "Sheet is not completed yet", [r, f]), [v, X] = F(!1), p = b(null), R = K(t), T = b(null), { lottie: B } = V(t), P = w(() => {
|
|
40
40
|
var l;
|
|
41
41
|
(l = T.current) == null || l.play();
|
|
42
42
|
}, []), W = w(() => {
|
|
@@ -44,15 +44,15 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
44
44
|
(l = T.current) == null || l.stop();
|
|
45
45
|
}, []);
|
|
46
46
|
return G(() => {
|
|
47
|
-
p.current && p.current.scrollHeight > p.current.clientHeight &&
|
|
48
|
-
}, []),
|
|
47
|
+
p.current && p.current.scrollHeight > p.current.clientHeight && X(!0);
|
|
48
|
+
}, []), L ? /* @__PURE__ */ e(
|
|
49
49
|
u,
|
|
50
50
|
{
|
|
51
51
|
renderAs: "primary",
|
|
52
52
|
tooltipItem: "Solve puzzle after class",
|
|
53
53
|
position: "bottom",
|
|
54
54
|
hidden: !$,
|
|
55
|
-
children: /* @__PURE__ */ e("div", { ref:
|
|
55
|
+
children: /* @__PURE__ */ e("div", { ref: x, children: /* @__PURE__ */ s(
|
|
56
56
|
ee,
|
|
57
57
|
{
|
|
58
58
|
ref: h,
|
|
@@ -61,18 +61,18 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
61
61
|
$disabled: $,
|
|
62
62
|
children: [
|
|
63
63
|
/* @__PURE__ */ e(
|
|
64
|
-
|
|
64
|
+
Y,
|
|
65
65
|
{
|
|
66
66
|
imageHue: a,
|
|
67
67
|
imageUrl: g ?? "",
|
|
68
|
-
title:
|
|
68
|
+
title: H,
|
|
69
69
|
width: 126,
|
|
70
70
|
height: 159,
|
|
71
71
|
disabled: $
|
|
72
72
|
}
|
|
73
73
|
),
|
|
74
74
|
/* @__PURE__ */ e(
|
|
75
|
-
|
|
75
|
+
y,
|
|
76
76
|
{
|
|
77
77
|
nodeType: t,
|
|
78
78
|
state: r,
|
|
@@ -83,7 +83,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
83
83
|
}
|
|
84
84
|
),
|
|
85
85
|
!d && o && m && /* @__PURE__ */ e(
|
|
86
|
-
|
|
86
|
+
A,
|
|
87
87
|
{
|
|
88
88
|
dueDate: o * 1e3,
|
|
89
89
|
unlockedOn: m * 1e3,
|
|
@@ -98,20 +98,20 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
98
98
|
u,
|
|
99
99
|
{
|
|
100
100
|
renderAs: "primary",
|
|
101
|
-
tooltipItem:
|
|
101
|
+
tooltipItem: S,
|
|
102
102
|
position: "bottom",
|
|
103
|
-
hidden: !
|
|
103
|
+
hidden: !_,
|
|
104
104
|
children: /* @__PURE__ */ e(
|
|
105
|
-
|
|
105
|
+
Z,
|
|
106
106
|
{
|
|
107
|
-
score:
|
|
107
|
+
score: O,
|
|
108
108
|
dueDateTs: i.due_date_ts,
|
|
109
109
|
nodeType: "DYNAMIC",
|
|
110
110
|
state: r,
|
|
111
|
-
subHeader:
|
|
111
|
+
subHeader: C,
|
|
112
112
|
unlockedOnTs: i == null ? void 0 : i.unlocked_on_ts,
|
|
113
113
|
userType: n,
|
|
114
|
-
isMathFitDisabled:
|
|
114
|
+
isMathFitDisabled: _,
|
|
115
115
|
isMilestone: d,
|
|
116
116
|
studentContainerRef: h
|
|
117
117
|
}
|
|
@@ -124,7 +124,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
124
124
|
$widthX: 12.38,
|
|
125
125
|
$position: "relative",
|
|
126
126
|
$background: `${a || "ORANGE"}_2`,
|
|
127
|
-
onMouseEnter:
|
|
127
|
+
onMouseEnter: P,
|
|
128
128
|
onMouseLeave: W,
|
|
129
129
|
children: [
|
|
130
130
|
/* @__PURE__ */ s(
|
|
@@ -134,7 +134,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
134
134
|
$alignItems: "center",
|
|
135
135
|
$width: "100%",
|
|
136
136
|
$heightX: 3.5,
|
|
137
|
-
$bgImage:
|
|
137
|
+
$bgImage: R,
|
|
138
138
|
$gutterX: 0.78125,
|
|
139
139
|
$flexGap: 8.5,
|
|
140
140
|
$position: "relative",
|
|
@@ -149,11 +149,11 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
149
149
|
$position: "relative",
|
|
150
150
|
$alignItems: "center",
|
|
151
151
|
$justifyContent: "center",
|
|
152
|
-
children: /* @__PURE__ */ e(q, { src:
|
|
152
|
+
children: /* @__PURE__ */ e(q, { src: B, ref: T, settings: ae })
|
|
153
153
|
}
|
|
154
154
|
),
|
|
155
|
-
/* @__PURE__ */ e(J, { cardHeader:
|
|
156
|
-
|
|
155
|
+
/* @__PURE__ */ e(J, { cardHeader: z, nodeType: t, courseType: D }),
|
|
156
|
+
k && /* @__PURE__ */ e(
|
|
157
157
|
u,
|
|
158
158
|
{
|
|
159
159
|
renderAs: "primary",
|
|
@@ -168,7 +168,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
168
168
|
}
|
|
169
169
|
),
|
|
170
170
|
/* @__PURE__ */ e(
|
|
171
|
-
|
|
171
|
+
y,
|
|
172
172
|
{
|
|
173
173
|
nodeType: t,
|
|
174
174
|
state: r,
|
|
@@ -179,7 +179,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
179
179
|
}
|
|
180
180
|
),
|
|
181
181
|
!d && o && m && /* @__PURE__ */ e(
|
|
182
|
-
|
|
182
|
+
A,
|
|
183
183
|
{
|
|
184
184
|
dueDate: o * 1e3,
|
|
185
185
|
unlockedOn: m * 1e3,
|
|
@@ -192,12 +192,12 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
192
192
|
{
|
|
193
193
|
renderAs: "primary",
|
|
194
194
|
position: "bottom",
|
|
195
|
-
tooltipItem:
|
|
195
|
+
tooltipItem: E,
|
|
196
196
|
width: 300,
|
|
197
197
|
hidden: !v,
|
|
198
198
|
parentWidth: "auto",
|
|
199
199
|
zIndex: 6,
|
|
200
|
-
children: /* @__PURE__ */ e(c, { $heightX: 2.5, children: /* @__PURE__ */ e(ne, { ref: p, $renderAs: "ab3", children:
|
|
200
|
+
children: /* @__PURE__ */ e(c, { $heightX: 2.5, children: /* @__PURE__ */ e(ne, { ref: p, $renderAs: "ab3", children: E }) })
|
|
201
201
|
}
|
|
202
202
|
),
|
|
203
203
|
/* @__PURE__ */ s(
|
|
@@ -208,7 +208,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
|
|
|
208
208
|
$alignItems: "center",
|
|
209
209
|
$justifyContent: "space-between",
|
|
210
210
|
children: [
|
|
211
|
-
/* @__PURE__ */ e(de, { $renderAs: "ub3", $color: "BLACK_T_60", children:
|
|
211
|
+
/* @__PURE__ */ e(de, { $renderAs: "ub3", $color: "BLACK_T_60", children: C }),
|
|
212
212
|
/* @__PURE__ */ e(c, { $width: 32 })
|
|
213
213
|
]
|
|
214
214
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import { memo, useCallback, useLayoutEffect, useMemo, useRef, useState, type FC } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport type { INodeDataProps, TSheetStates } from '../chapters-v2/comps/node-card/node-card-types';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport MathFitCard from '../math-fit/math-fit-card/math-fit-card';\nimport PuzzleCard from '../puzzles/comps/puzzle-card';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport CardTitle from './card-title';\nimport { HW_CARD_LIST_ENTITY_TYPE } from './hw-card-list/hw-card-list-types';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n isMilestone?: boolean;\n puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n entityType?: HW_CARD_LIST_ENTITY_TYPE;\n state: TSheetStates;\n score: number | null;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n isMilestone = false,\n puzzleHWCardRef,\n entityType,\n state,\n score,\n}) => {\n const {\n node_type: nodeType,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n title,\n } = nodeData;\n const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isMathFitCard = entityType === HW_CARD_LIST_ENTITY_TYPE.MATHFIT_TEST;\n const isPuzzleDisabled = userType === 'STUDENT' && state === 'LOCKED';\n const isMathFitDisabled =\n state === 'LOCKED' || (userType === 'TEACHER' && state !== 'COMPLETED' && state !== 'EXPIRED');\n\n const tooltipText = useMemo(() => {\n if (state === 'LOCKED') {\n if (isMathFitCard) return 'Take test after class';\n\n return 'Not available to student';\n }\n\n return 'Sheet is not completed yet';\n }, [state, isMathFitCard]);\n\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n if (isPuzzleCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Solve puzzle after class\"\n position=\"bottom\"\n hidden={!isPuzzleDisabled}\n >\n <div ref={puzzleHWCardRef}>\n <Styled.PuzzleCardWrapper\n ref={studentContainerRef}\n $position=\"relative\"\n $background={`${imageHue}_2`}\n $disabled={isPuzzleDisabled}\n >\n <PuzzleCard\n imageHue={imageHue}\n imageUrl={imageUrl ?? ''}\n title={title}\n width={126}\n height={159}\n disabled={isPuzzleDisabled}\n />\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_5`}\n />\n )}\n </Styled.PuzzleCardWrapper>\n </div>\n </ArrowTooltip>\n );\n }\n\n // MathFit Assessment Card\n if (isMathFitCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={tooltipText}\n position=\"bottom\"\n hidden={!isMathFitDisabled}\n >\n <MathFitCard\n score={score}\n dueDateTs={nodeData.due_date_ts}\n nodeType=\"DYNAMIC\"\n state={state}\n subHeader={subHeader}\n unlockedOnTs={nodeData?.unlocked_on_ts}\n userType={userType}\n isMathFitDisabled={isMathFitDisabled}\n isMilestone={isMilestone}\n studentContainerRef={studentContainerRef}\n />\n </ArrowTooltip>\n );\n }\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","isMilestone","puzzleHWCardRef","entityType","state","score","nodeType","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","unlockedOnTs","courseType","title","isPuzzleCard","isMathFitCard","HW_CARD_LIST_ENTITY_TYPE","isPuzzleDisabled","isMathFitDisabled","tooltipText","useMemo","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsx","ArrowTooltip","jsxs","Styled.PuzzleCardWrapper","PuzzleCard","NodeCardTags","NodeProgress","MathFitCard","FlexView","Styled.CardWrapper","Styled.IconWrapper","LottieAnimation","CardTitle","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","Styled.HeaderText","Styled.SubHeaderText","HomeworkCardView","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import { memo, useCallback, useLayoutEffect, useMemo, useRef, useState, type FC } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport type { INodeDataProps, TSheetStates } from '../chapters-v2/comps/node-card/node-card-types';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport MathFitCard from '../math-fit/math-fit-card/math-fit-card';\nimport PuzzleCard from '../puzzles/comps/puzzle-card';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport CardTitle from './card-title';\nimport { EHWCardListEntityType } from './hw-card-list/hw-card-list-types';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n isMilestone?: boolean;\n puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n entityType?: EHWCardListEntityType;\n state: TSheetStates;\n score: number | null;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n isMilestone = false,\n puzzleHWCardRef,\n entityType,\n state,\n score,\n}) => {\n const {\n node_type: nodeType,\n accuracy,\n due_date_ts: dueDateTs,\n image_url: imageUrl,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n title,\n } = nodeData;\n const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isMathFitCard = entityType === EHWCardListEntityType.MATHFIT_TEST;\n const isPuzzleDisabled = userType === 'STUDENT' && state === 'LOCKED';\n const isMathFitDisabled =\n state === 'LOCKED' || (userType === 'TEACHER' && state !== 'COMPLETED' && state !== 'EXPIRED');\n\n const tooltipText = useMemo(() => {\n if (state === 'LOCKED') {\n if (isMathFitCard) return 'Take test after class';\n\n return 'Not available to student';\n }\n\n return 'Sheet is not completed yet';\n }, [state, isMathFitCard]);\n\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n if (isPuzzleCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Solve puzzle after class\"\n position=\"bottom\"\n hidden={!isPuzzleDisabled}\n >\n <div ref={puzzleHWCardRef}>\n <Styled.PuzzleCardWrapper\n ref={studentContainerRef}\n $position=\"relative\"\n $background={`${imageHue}_2`}\n $disabled={isPuzzleDisabled}\n >\n <PuzzleCard\n imageHue={imageHue}\n imageUrl={imageUrl ?? ''}\n title={title}\n width={126}\n height={159}\n disabled={isPuzzleDisabled}\n />\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_5`}\n />\n )}\n </Styled.PuzzleCardWrapper>\n </div>\n </ArrowTooltip>\n );\n }\n\n // MathFit Assessment Card\n if (isMathFitCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={tooltipText}\n position=\"bottom\"\n hidden={!isMathFitDisabled}\n >\n <MathFitCard\n score={score}\n dueDateTs={nodeData.due_date_ts}\n nodeType=\"DYNAMIC\"\n state={state}\n subHeader={subHeader}\n unlockedOnTs={nodeData?.unlocked_on_ts}\n userType={userType}\n isMathFitDisabled={isMathFitDisabled}\n isMilestone={isMilestone}\n studentContainerRef={studentContainerRef}\n />\n </ArrowTooltip>\n );\n }\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","isMilestone","puzzleHWCardRef","entityType","state","score","nodeType","accuracy","dueDateTs","imageUrl","imageHue","cardHeader","unlockedOnTs","courseType","title","isPuzzleCard","isMathFitCard","EHWCardListEntityType","isPuzzleDisabled","isMathFitDisabled","tooltipText","useMemo","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsx","ArrowTooltip","jsxs","Styled.PuzzleCardWrapper","PuzzleCard","NodeCardTags","NodeProgress","MathFitCard","FlexView","Styled.CardWrapper","Styled.IconWrapper","LottieAnimation","CardTitle","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","Styled.HeaderText","Styled.SubHeaderText","HomeworkCardView","memo"],"mappings":"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"}
|