@cuemath/leap 3.0.10 → 3.0.11-akm
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/chapters-list/chapter-item/chapter-item-styled.js +36 -27
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +43 -31
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js +16 -15
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +2 -2
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +30 -30
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +35 -35
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +44 -44
- package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/homework/homework-card.js +146 -131
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/journey/hooks/use-chapter-journey.js +28 -28
- package/dist/features/journey/hooks/use-chapter-journey.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +40 -38
- 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 +53 -50
- 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 +64 -62
- 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 +44 -42
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +39 -37
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +38 -31
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock.js +45 -45
- package/dist/features/post-game-stats/clock/clock.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/package.json +1 -1
@@ -1,18 +1,18 @@
|
|
1
|
-
import { jsx as e, jsxs as l, Fragment as
|
2
|
-
import { memo as
|
1
|
+
import { jsx as e, jsxs as l, Fragment as B } from "react/jsx-runtime";
|
2
|
+
import { memo as D, useCallback as d, useEffect as H } from "react";
|
3
3
|
import { IMAGES as v } from "../../../../assets/images/images.js";
|
4
4
|
import G from "../../../../assets/line-icons/icons/plus.js";
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import
|
9
|
-
import
|
10
|
-
import
|
11
|
-
import
|
5
|
+
import O from "../../../../assets/line-icons/icons/search.js";
|
6
|
+
import X from "../../../sheet-v2/resource-list/resource-list.js";
|
7
|
+
import q from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
8
|
+
import R from "../../../ui/buttons/button/button.js";
|
9
|
+
import z from "../../../ui/buttons/icon-button/icon-button.js";
|
10
|
+
import b from "../../../ui/layout/flex-view.js";
|
11
|
+
import F from "../../../ui/loader/app-loader/app-loader.js";
|
12
12
|
import C from "../../../ui/text/text.js";
|
13
|
-
import { useGetMilestoneResources as
|
14
|
-
import { MilestoneResourcesWrapper as m, SearchButtonWrapper as
|
15
|
-
const
|
13
|
+
import { useGetMilestoneResources as L } from "../../milestone-list-container/api/get-milestone-resources.js";
|
14
|
+
import { MilestoneResourcesWrapper as m, SearchButtonWrapper as U, SearchButtonCover as V, DefaultWrapper as E } from "./resources-list-styled.js";
|
15
|
+
const ce = D((M) => {
|
16
16
|
const {
|
17
17
|
isDraftMilestone: u,
|
18
18
|
isMilestoneActive: t,
|
@@ -26,40 +26,41 @@ const ae = B((M) => {
|
|
26
26
|
onNodeReview: S,
|
27
27
|
onNodeReset: x,
|
28
28
|
onNodeUnassign: W,
|
29
|
-
onNodeReattempt: j
|
29
|
+
onNodeReattempt: j,
|
30
|
+
onNodeAssignAsHomework: k
|
30
31
|
} = M, f = p === "TEACHER", g = !h || !t || t && u, {
|
31
32
|
get: $,
|
32
33
|
isProcessed: n,
|
33
34
|
isProcessing: A,
|
34
35
|
isProcessingFailed: i,
|
35
|
-
isStale:
|
36
|
+
isStale: w,
|
36
37
|
data: a
|
37
|
-
} =
|
38
|
+
} = L(), y = d(() => {
|
38
39
|
r && $(r, void 0, {
|
39
40
|
studentId: o
|
40
41
|
});
|
41
42
|
}, [o, r, $]), c = d(() => {
|
42
|
-
|
43
|
-
}, [
|
44
|
-
|
45
|
-
!A && (!n && !i ||
|
46
|
-
}, [c, n, A, i,
|
47
|
-
const
|
43
|
+
y();
|
44
|
+
}, [y]);
|
45
|
+
H(() => {
|
46
|
+
!A && (!n && !i || w) && c();
|
47
|
+
}, [c, n, A, i, w]);
|
48
|
+
const I = d(() => {
|
48
49
|
if (typeof s != "function")
|
49
50
|
throw new Error("onAssignResources must be a function");
|
50
51
|
if (!r) throw new Error("userMilestoneId is required");
|
51
52
|
s(r);
|
52
|
-
}, [s, r]),
|
53
|
+
}, [s, r]), N = a && a.length > 0;
|
53
54
|
return i ? /* @__PURE__ */ e(
|
54
55
|
m,
|
55
56
|
{
|
56
57
|
$alignItems: "center",
|
57
58
|
$justifyContent: "center",
|
58
59
|
$background: "WHITE",
|
59
|
-
children: /* @__PURE__ */ l(
|
60
|
+
children: /* @__PURE__ */ l(b, { $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
|
60
61
|
/* @__PURE__ */ e(C, { $renderAs: "h6", children: "Oops! Something went wrong. Please try again later." }),
|
61
62
|
/* @__PURE__ */ e(
|
62
|
-
|
63
|
+
R,
|
63
64
|
{
|
64
65
|
widthX: 14,
|
65
66
|
size: "small",
|
@@ -71,9 +72,9 @@ const ae = B((M) => {
|
|
71
72
|
)
|
72
73
|
] })
|
73
74
|
}
|
74
|
-
) : n ? /* @__PURE__ */ e(m, { $justifyContent: "space-between", children:
|
75
|
+
) : n ? /* @__PURE__ */ e(m, { $justifyContent: "space-between", children: N ? /* @__PURE__ */ l(B, { children: [
|
75
76
|
/* @__PURE__ */ e(
|
76
|
-
|
77
|
+
X,
|
77
78
|
{
|
78
79
|
sheets: a,
|
79
80
|
userType: p,
|
@@ -83,32 +84,33 @@ const ae = B((M) => {
|
|
83
84
|
onNodeReattempt: j,
|
84
85
|
onNodeReset: x,
|
85
86
|
onNodeUnassign: W,
|
87
|
+
onNodeAssignAsHomework: k,
|
86
88
|
studentId: o,
|
87
89
|
userMilestoneId: r
|
88
90
|
}
|
89
91
|
),
|
90
92
|
f && h && /* @__PURE__ */ e(
|
91
|
-
|
93
|
+
U,
|
92
94
|
{
|
93
95
|
$flexDirection: "row",
|
94
96
|
$justifyContent: "flex-end",
|
95
97
|
$gapX: 1,
|
96
98
|
$gutterX: 1,
|
97
|
-
children: /* @__PURE__ */ e(
|
98
|
-
|
99
|
+
children: /* @__PURE__ */ e(V, { children: /* @__PURE__ */ e(
|
100
|
+
z,
|
99
101
|
{
|
100
|
-
Icon:
|
102
|
+
Icon: O,
|
101
103
|
renderAs: "secondary",
|
102
104
|
size: "small",
|
103
105
|
analyticsLabel: "Milestone Resource Search",
|
104
|
-
onClick:
|
106
|
+
onClick: I,
|
105
107
|
disabled: !t
|
106
108
|
}
|
107
109
|
) })
|
108
110
|
}
|
109
111
|
)
|
110
112
|
] }) : /* @__PURE__ */ l(
|
111
|
-
|
113
|
+
b,
|
112
114
|
{
|
113
115
|
$width: "100%",
|
114
116
|
$height: "100%",
|
@@ -118,21 +120,21 @@ const ae = B((M) => {
|
|
118
120
|
children: [
|
119
121
|
/* @__PURE__ */ e(E, { $isImageWrapper: !0, children: /* @__PURE__ */ e("img", { src: v.BG_EMPTY_RESOURCES, alt: "Empty resources", width: 420, height: 420 }) }),
|
120
122
|
/* @__PURE__ */ e(E, { children: f ? /* @__PURE__ */ e(
|
121
|
-
|
123
|
+
q,
|
122
124
|
{
|
123
125
|
renderAs: "primary",
|
124
126
|
position: "bottom",
|
125
127
|
hidden: !g,
|
126
128
|
tooltipItem: u ? "Allowed after plan is published" : "Plan is completed",
|
127
129
|
children: /* @__PURE__ */ e(
|
128
|
-
|
130
|
+
R,
|
129
131
|
{
|
130
132
|
renderAs: "primary",
|
131
133
|
label: "Assign Resource",
|
132
134
|
Icon: G,
|
133
135
|
shape: "square",
|
134
136
|
size: "small",
|
135
|
-
onClick:
|
137
|
+
onClick: I,
|
136
138
|
disabled: g
|
137
139
|
}
|
138
140
|
)
|
@@ -140,9 +142,9 @@ const ae = B((M) => {
|
|
140
142
|
) : /* @__PURE__ */ e(C, { $renderAs: "ab2-bold", children: "Wait for the teacher to assign a resource" }) })
|
141
143
|
]
|
142
144
|
}
|
143
|
-
) }) : /* @__PURE__ */ e(m, { $justifyContent: "center", $background: "WHITE", children: /* @__PURE__ */ e(
|
145
|
+
) }) : /* @__PURE__ */ e(m, { $justifyContent: "center", $background: "WHITE", children: /* @__PURE__ */ e(F, { height: "100%" }) });
|
144
146
|
});
|
145
147
|
export {
|
146
|
-
|
148
|
+
ce as default
|
147
149
|
};
|
148
150
|
//# sourceMappingURL=resources-list.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import type { IMilestoneWidgetResourcesProps } from './resources-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheet-v2/resource-list/resource-list';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(props => {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReset,\n onNodeUnassign,\n onNodeReattempt,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan || !isMilestoneActive || (isMilestoneActive && isDraftMilestone);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n const sheetsDataPresent = sheets && sheets.length > 0;\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheetsDataPresent ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\n />\n\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $background=\"WHITE\"\n >\n <Styled.DefaultWrapper $isImageWrapper>\n <img src={IMAGES.BG_EMPTY_RESOURCES} alt=\"Empty resources\" width={420} height={420} />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n});\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReset","onNodeUnassign","onNodeReattempt","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","sheetsDataPresent","jsx","Styled.MilestoneResourcesWrapper","FlexView","Text","Button","jsxs","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import type { IMilestoneWidgetResourcesProps } from './resources-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheet-v2/resource-list/resource-list';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(props => {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReset,\n onNodeUnassign,\n onNodeReattempt,\n onNodeAssignAsHomework,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan || !isMilestoneActive || (isMilestoneActive && isDraftMilestone);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n const sheetsDataPresent = sheets && sheets.length > 0;\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheetsDataPresent ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\n />\n\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $background=\"WHITE\"\n >\n <Styled.DefaultWrapper $isImageWrapper>\n <img src={IMAGES.BG_EMPTY_RESOURCES} alt=\"Empty resources\" width={420} height={420} />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n});\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReset","onNodeUnassign","onNodeReattempt","onNodeAssignAsHomework","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","sheetsDataPresent","jsx","Styled.MilestoneResourcesWrapper","FlexView","Text","Button","jsxs","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
|
@@ -1,17 +1,17 @@
|
|
1
1
|
import { jsxs as u, jsx as e, Fragment as x } from "react/jsx-runtime";
|
2
|
-
import { memo as
|
3
|
-
import { IMAGES as
|
4
|
-
import
|
2
|
+
import { memo as L, useCallback as l, useEffect as X } from "react";
|
3
|
+
import { IMAGES as D } from "../../../../assets/images/images.js";
|
4
|
+
import j from "../../../ui/arrow-tooltip/arrow-tooltip.js";
|
5
5
|
import S from "../../../ui/buttons/button/button.js";
|
6
6
|
import T from "../../../ui/layout/flex-view.js";
|
7
|
-
import
|
7
|
+
import G from "../../../ui/loader/app-loader/app-loader.js";
|
8
8
|
import _ from "../../../ui/separator/separator.js";
|
9
9
|
import N from "../../../ui/text/text.js";
|
10
10
|
import { MILESTONE_WIDGET_MIN_HEIGHT as v } from "../../constants.js";
|
11
|
-
import { useGetTestHelpData as
|
12
|
-
import { TESTS_CREATION_ANALYTICS_EVENTS as
|
13
|
-
import
|
14
|
-
const
|
11
|
+
import { useGetTestHelpData as R } from "../../milestone-list-container/api/get-tests-list.js";
|
12
|
+
import { TESTS_CREATION_ANALYTICS_EVENTS as W } from "../tests-creation/tests-creation-analytics-events.js";
|
13
|
+
import F from "./test-list-view.js";
|
14
|
+
const oe = L((c) => {
|
15
15
|
const {
|
16
16
|
isChaptersAvailable: g,
|
17
17
|
isDraftMilestone: E,
|
@@ -20,37 +20,43 @@ const re = H((c) => {
|
|
20
20
|
studentId: m,
|
21
21
|
userMilestoneId: t,
|
22
22
|
canUpdatePlan: I
|
23
|
-
} = c, {
|
23
|
+
} = c, {
|
24
|
+
onCreateMilestoneTest: o,
|
25
|
+
onTestPreview: i,
|
26
|
+
onTestStart: n,
|
27
|
+
onTestReview: s,
|
28
|
+
onNodeAssignAsHomework: k
|
29
|
+
} = c, {
|
24
30
|
get: A,
|
25
31
|
data: r,
|
26
32
|
isProcessingFailed: p,
|
27
33
|
isProcessed: f,
|
28
|
-
isStale:
|
29
|
-
isProcessing:
|
30
|
-
} =
|
34
|
+
isStale: w,
|
35
|
+
isProcessing: C
|
36
|
+
} = R(), y = !I || !g || !d || d && E, M = d && !g ? "Chapters need to be assigned" : E ? "Allowed after plan is published" : "Plan is completed", h = l(() => {
|
31
37
|
A(t, void 0, {
|
32
38
|
studentId: m
|
33
39
|
});
|
34
40
|
}, [A, m, t]);
|
35
|
-
|
36
|
-
!
|
37
|
-
}, [h, f,
|
41
|
+
X(() => {
|
42
|
+
!C && (!f && !p || w) && h();
|
43
|
+
}, [h, f, C, p, w]);
|
38
44
|
const $ = l(() => {
|
39
|
-
if (typeof
|
40
|
-
|
45
|
+
if (typeof o == "function") {
|
46
|
+
o == null || o(t, ((r == null ? void 0 : r.length) || 0) + 1);
|
41
47
|
return;
|
42
48
|
}
|
43
49
|
throw new Error("No callback provided. If provided it must be a function");
|
44
|
-
}, [
|
50
|
+
}, [o, t, r]), O = l(
|
45
51
|
(a) => {
|
46
|
-
if (typeof
|
47
|
-
|
52
|
+
if (typeof i == "function") {
|
53
|
+
i == null || i(a, t);
|
48
54
|
return;
|
49
55
|
}
|
50
56
|
throw new Error("No callback provided. If provided it must be a function");
|
51
57
|
},
|
52
|
-
[
|
53
|
-
),
|
58
|
+
[i, t]
|
59
|
+
), H = l(
|
54
60
|
(a) => {
|
55
61
|
if (typeof n == "function") {
|
56
62
|
n == null || n(a);
|
@@ -93,12 +99,13 @@ const re = H((c) => {
|
|
93
99
|
]
|
94
100
|
}
|
95
101
|
) : f ? r != null && r.length ? /* @__PURE__ */ e(
|
96
|
-
|
102
|
+
F,
|
97
103
|
{
|
98
104
|
...c,
|
99
|
-
onNodeAttempt:
|
100
|
-
onNodeView:
|
105
|
+
onNodeAttempt: H,
|
106
|
+
onNodeView: O,
|
101
107
|
onNodeReview: P,
|
108
|
+
onNodeAssignAsHomework: k,
|
102
109
|
milestoneId: t,
|
103
110
|
sheets: r,
|
104
111
|
userType: b,
|
@@ -116,16 +123,16 @@ const re = H((c) => {
|
|
116
123
|
$background: "WHITE",
|
117
124
|
$height: v,
|
118
125
|
children: [
|
119
|
-
/* @__PURE__ */ e("img", { src:
|
126
|
+
/* @__PURE__ */ e("img", { src: D.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
|
120
127
|
/* @__PURE__ */ e(_, { heightX: 2 }),
|
121
128
|
b === "TEACHER" ? /* @__PURE__ */ u(x, { children: [
|
122
129
|
/* @__PURE__ */ e(
|
123
|
-
|
130
|
+
j,
|
124
131
|
{
|
125
132
|
renderAs: "primary",
|
126
133
|
position: "bottom",
|
127
134
|
hidden: !y,
|
128
|
-
tooltipItem:
|
135
|
+
tooltipItem: M,
|
129
136
|
children: /* @__PURE__ */ e(
|
130
137
|
S,
|
131
138
|
{
|
@@ -136,7 +143,7 @@ const re = H((c) => {
|
|
136
143
|
label: "Create a Test",
|
137
144
|
onClick: $,
|
138
145
|
disabled: y,
|
139
|
-
analyticsLabel:
|
146
|
+
analyticsLabel: W.CUSTOM_TEST_CREATION_STARTED,
|
140
147
|
analyticsProps: {
|
141
148
|
milestone_id: t
|
142
149
|
}
|
@@ -155,11 +162,11 @@ const re = H((c) => {
|
|
155
162
|
$alignItems: "center",
|
156
163
|
$justifyContent: "center",
|
157
164
|
$background: "WHITE",
|
158
|
-
children: /* @__PURE__ */ e(
|
165
|
+
children: /* @__PURE__ */ e(G, { height: "100%" })
|
159
166
|
}
|
160
167
|
);
|
161
168
|
});
|
162
169
|
export {
|
163
|
-
|
170
|
+
oe as default
|
164
171
|
};
|
165
172
|
//# sourceMappingURL=test-list-container.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"test-list-container.js","sources":["../../../../../src/features/milestone/milestone-tests/test-list-v2/test-list-container.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport type { ITestsListProps } from './types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { MILESTONE_WIDGET_MIN_HEIGHT } from '../../constants';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-list-view';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const { onCreateMilestoneTest, onTestPreview, onTestStart, onTestReview } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnTestPreview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview, userMilestoneId],\n );\n\n const handleOnTestStart = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestStart === 'function') {\n onTestStart?.(sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnTestReview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestReview === 'function') {\n onTestReview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <FlexView\n $flexGapX={1.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height=\"100%\"\n $background=\"WHITE\"\n >\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <TestSheetsList\n {...props}\n onNodeAttempt={handleOnTestStart}\n onNodeView={handleOnTestPreview}\n onNodeReview={handleOnTestReview}\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n );\n }\n\n return (\n <FlexView\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <AppLoader height=\"100%\" />\n </FlexView>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestStart","onTestReview","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnTestPreview","sheetData","handleOnTestStart","handleOnTestReview","jsxs","FlexView","jsx","Text","Button","TestSheetsList","MILESTONE_WIDGET_MIN_HEIGHT","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"test-list-container.js","sources":["../../../../../src/features/milestone/milestone-tests/test-list-v2/test-list-container.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport type { ITestsListProps } from './types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { MILESTONE_WIDGET_MIN_HEIGHT } from '../../constants';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-list-view';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const {\n onCreateMilestoneTest,\n onTestPreview,\n onTestStart,\n onTestReview,\n onNodeAssignAsHomework,\n } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnTestPreview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview, userMilestoneId],\n );\n\n const handleOnTestStart = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestStart === 'function') {\n onTestStart?.(sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnTestReview = useCallback(\n (sheetData: INodeDataProps) => {\n if (typeof onTestReview === 'function') {\n onTestReview?.(sheetData, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <FlexView\n $flexGapX={1.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height=\"100%\"\n $background=\"WHITE\"\n >\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <TestSheetsList\n {...props}\n onNodeAttempt={handleOnTestStart}\n onNodeView={handleOnTestPreview}\n onNodeReview={handleOnTestReview}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n );\n }\n\n return (\n <FlexView\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $height={MILESTONE_WIDGET_MIN_HEIGHT}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <AppLoader height=\"100%\" />\n </FlexView>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestStart","onTestReview","onNodeAssignAsHomework","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnTestPreview","sheetData","handleOnTestStart","handleOnTestReview","jsxs","FlexView","jsx","Text","Button","TestSheetsList","MILESTONE_WIDGET_MIN_HEIGHT","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
|
@@ -1,75 +1,75 @@
|
|
1
|
-
import { jsxs as K, jsx as
|
2
|
-
import
|
3
|
-
import { memo as g, useState as h, useRef as o, useCallback as
|
4
|
-
import { LOTTIE as
|
1
|
+
import { jsxs as K, jsx as T } from "react/jsx-runtime";
|
2
|
+
import k from "lottie-web";
|
3
|
+
import { memo as g, useState as h, useRef as o, useCallback as f, useEffect as j } from "react";
|
4
|
+
import { LOTTIE as R } from "../../../assets/lottie/lottie.js";
|
5
5
|
import { useCircleSounds as x } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
|
6
|
-
import { CircleSoundKey as
|
7
|
-
import { delay as
|
6
|
+
import { CircleSoundKey as D } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
|
7
|
+
import { delay as v } from "../../utils/utils.js";
|
8
8
|
import { Clock as U, ClockLottie as $, ClockTimeSpentLottie as w, TextWrapper as X } from "./clock-styled.js";
|
9
9
|
import { getClockTimeSpentFramesToPlay as Y } from "./clock-util.js";
|
10
10
|
import { CLOCK_TIME_SPENT_FPS as H, CLOCK as N, CLOCK_INFRAME_LOTTIE_TO_PLAY as W, TIME_LOTTIE_TO_PLAY_IN as b, TEXT_DISAPPEAR_DURATION as q, TEXT_APPEAR_DURATION as z, TIME_SHOWN_HOLD_TIME as B, TEXT_DISAPPEAR_DELAY as G } from "./constants.js";
|
11
|
-
const
|
12
|
-
const { play: c } = x(), [
|
13
|
-
var
|
14
|
-
const r = Y(
|
15
|
-
r && (
|
16
|
-
}, [
|
17
|
-
var r,
|
18
|
-
await
|
19
|
-
var
|
20
|
-
c(
|
11
|
+
const ie = g(({ show: m, onComplete: i, timeInMs: p, helperText: L }) => {
|
12
|
+
const { play: c } = x(), [E, F] = h(!1), l = o(!1), u = o(0), d = o(null), _ = o(null), a = o(), n = o(), S = f(() => {
|
13
|
+
var e, t;
|
14
|
+
const r = Y(p);
|
15
|
+
r && (u.current = r, (e = n.current) == null || e.setSpeed(r / H), (t = n.current) == null || t.playSegments([0, r], !0), l.current = !0);
|
16
|
+
}, [p]), A = f(async () => {
|
17
|
+
var r, e;
|
18
|
+
await v(B), (r = n.current) == null || r.playSegments([u.current, 0], !0), await v(G), F(!0), l.current && ((e = n.current) == null || e.addEventListener("complete", () => {
|
19
|
+
var t, s;
|
20
|
+
(t = n.current) == null || t.removeEventListener("complete"), c(D.CLOCK_OUT), (s = a.current) == null || s.playSegments(N.OUT_FRAMES, !0);
|
21
21
|
}));
|
22
|
-
}, [
|
22
|
+
}, [u, c]), O = f(() => {
|
23
23
|
i == null || i();
|
24
24
|
}, [i]);
|
25
25
|
return j(() => {
|
26
|
-
if (
|
26
|
+
if (m)
|
27
27
|
return (async () => {
|
28
|
-
var
|
29
|
-
const [
|
30
|
-
fetch(
|
31
|
-
fetch(
|
32
|
-
]), [
|
33
|
-
|
34
|
-
|
28
|
+
var C, y, P;
|
29
|
+
const [e, t] = await Promise.all([
|
30
|
+
fetch(R.TOTAL_TIME),
|
31
|
+
fetch(R.TOTAL_TIME_SPENT)
|
32
|
+
]), [s, M] = await Promise.all([
|
33
|
+
e.json(),
|
34
|
+
t.json()
|
35
35
|
]);
|
36
|
-
a.current =
|
36
|
+
a.current = k.loadAnimation({
|
37
37
|
container: d.current,
|
38
|
-
animationData:
|
38
|
+
animationData: s,
|
39
39
|
autoplay: !1,
|
40
40
|
loop: !1,
|
41
41
|
renderer: "canvas"
|
42
|
-
}), n.current =
|
43
|
-
container:
|
44
|
-
animationData:
|
42
|
+
}), n.current = k.loadAnimation({
|
43
|
+
container: _.current,
|
44
|
+
animationData: M,
|
45
45
|
autoplay: !1,
|
46
46
|
loop: !1,
|
47
47
|
renderer: "canvas"
|
48
|
-
}), c(
|
49
|
-
|
50
|
-
}), (
|
51
|
-
var
|
52
|
-
(
|
48
|
+
}), c(D.CLOCK_IN), (C = a.current) == null || C.playSegments(N.IN_FRAMES, !0), (y = a.current) == null || y.addEventListener("complete", () => {
|
49
|
+
l.current ? O() : S();
|
50
|
+
}), (P = n.current) == null || P.addEventListener("complete", () => {
|
51
|
+
var I;
|
52
|
+
(I = n.current) == null || I.removeEventListener("complete"), A();
|
53
53
|
});
|
54
54
|
})(), () => {
|
55
|
-
var
|
56
|
-
(
|
55
|
+
var e, t;
|
56
|
+
(e = a.current) == null || e.destroy(), (t = n.current) == null || t.destroy();
|
57
57
|
};
|
58
|
-
}, [
|
59
|
-
/* @__PURE__ */
|
60
|
-
/* @__PURE__ */
|
61
|
-
|
58
|
+
}, [m, S, O, A, c]), m ? /* @__PURE__ */ K(U, { children: [
|
59
|
+
/* @__PURE__ */ T($, { ref: d }),
|
60
|
+
/* @__PURE__ */ T(w, { ref: _ }),
|
61
|
+
L && /* @__PURE__ */ T(
|
62
62
|
X,
|
63
63
|
{
|
64
64
|
$delay: W + b,
|
65
|
-
$animationType:
|
66
|
-
$duration:
|
67
|
-
children:
|
65
|
+
$animationType: E ? "fadeout" : "fadein",
|
66
|
+
$duration: E ? q : z,
|
67
|
+
children: L
|
68
68
|
}
|
69
69
|
)
|
70
70
|
] }) : null;
|
71
71
|
});
|
72
72
|
export {
|
73
|
-
|
73
|
+
ie as Clock
|
74
74
|
};
|
75
75
|
//# sourceMappingURL=clock.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"clock.js","sources":["../../../../src/features/post-game-stats/clock/clock.tsx"],"sourcesContent":["import type { IClockProps } from './clock-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { delay } from '../../utils/utils';\nimport * as Styled from './clock-styled';\nimport { getClockTimeSpentFramesToPlay } from './clock-util';\nimport {\n CLOCK,\n CLOCK_TIME_SPENT_FPS,\n TIME_SHOWN_HOLD_TIME,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n CLOCK_INFRAME_LOTTIE_TO_PLAY,\n TIME_LOTTIE_TO_PLAY_IN,\n} from './constants';\n\nexport const Clock: FC<IClockProps> = memo(({ show, onComplete, timeInMs, helperText }) => {\n const { play } = useCircleSounds();\n const [fadeOut, setFadeOut] = useState(false);\n const isClockTimeSpentShown = useRef(false);\n const framesToPlay = useRef(0);\n\n const clockLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockTimeSpentLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockLottieAnimationRef = useRef<AnimationItem>();\n const clockTimeSpentLottieAnimationRef = useRef<AnimationItem>();\n\n const setClockTimeSpentFrames = useCallback(() => {\n const frames = getClockTimeSpentFramesToPlay(timeInMs);\n\n if (frames) {\n framesToPlay.current = frames;\n // Speed adjustment\n clockTimeSpentLottieAnimationRef.current?.setSpeed(frames / CLOCK_TIME_SPENT_FPS);\n clockTimeSpentLottieAnimationRef.current?.playSegments([0, frames], true);\n isClockTimeSpentShown.current = true;\n }\n }, [timeInMs]);\n\n const onClockTimeSpentExitAnimationFinished = useCallback(async () => {\n await delay(TIME_SHOWN_HOLD_TIME);\n\n // Reverse play time spent animation\n clockTimeSpentLottieAnimationRef.current?.playSegments([framesToPlay.current, 0], true);\n\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeOut(true);\n\n if (isClockTimeSpentShown.current) {\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n play(CircleSoundKey.CLOCK_OUT);\n clockLottieAnimationRef.current?.playSegments(CLOCK.OUT_FRAMES, true);\n });\n }\n }, [framesToPlay, play]);\n\n const onAnimationEnd = useCallback(() => {\n onComplete?.();\n }, [onComplete]);\n\n // Play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimations = async () => {\n const [timeLottiePath, timeSpentLottiePath] = await Promise.all([\n fetch(LOTTIE.TOTAL_TIME),\n fetch(LOTTIE.TOTAL_TIME_SPENT),\n ]);\n const [timeLottieData, timeSpentLottieData] = await Promise.all([\n timeLottiePath.json(),\n timeSpentLottiePath.json(),\n ]);\n\n // Clock Lottie\n clockLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockLottieContainerRef.current as Element,\n animationData: timeLottieData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Clock Time Spent Lottie\n clockTimeSpentLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockTimeSpentLottieContainerRef.current as Element,\n animationData: timeSpentLottieData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Play clock in animation sounds and lottie\n play(CircleSoundKey.CLOCK_IN);\n clockLottieAnimationRef.current?.playSegments(CLOCK.IN_FRAMES, true);\n\n clockLottieAnimationRef.current?.addEventListener('complete', () => {\n if (!isClockTimeSpentShown.current) {\n setClockTimeSpentFrames();\n } else {\n onAnimationEnd();\n }\n });\n\n // Setup event listener for time spent animation\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n clockTimeSpentLottieAnimationRef.current?.removeEventListener('complete');\n onClockTimeSpentExitAnimationFinished();\n });\n };\n\n loadAnimations();\n\n return () => {\n clockLottieAnimationRef.current?.destroy();\n clockTimeSpentLottieAnimationRef.current?.destroy();\n };\n }\n }, [show, setClockTimeSpentFrames, onAnimationEnd, onClockTimeSpentExitAnimationFinished, play]);\n\n if (show) {\n return (\n <Styled.Clock>\n <Styled.ClockLottie ref={clockLottieContainerRef} />\n <Styled.ClockTimeSpentLottie ref={clockTimeSpentLottieContainerRef} />\n {helperText && (\n <Styled.TextWrapper\n $delay={CLOCK_INFRAME_LOTTIE_TO_PLAY + TIME_LOTTIE_TO_PLAY_IN}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Clock>\n );\n }\n\n return null;\n});\n"],"names":["Clock","memo","show","onComplete","timeInMs","helperText","play","useCircleSounds","fadeOut","setFadeOut","useState","isClockTimeSpentShown","useRef","framesToPlay","clockLottieContainerRef","clockTimeSpentLottieContainerRef","clockLottieAnimationRef","clockTimeSpentLottieAnimationRef","setClockTimeSpentFrames","useCallback","frames","getClockTimeSpentFramesToPlay","_a","CLOCK_TIME_SPENT_FPS","_b","onClockTimeSpentExitAnimationFinished","delay","TIME_SHOWN_HOLD_TIME","TEXT_DISAPPEAR_DELAY","CircleSoundKey","CLOCK","onAnimationEnd","useEffect","timeLottiePath","timeSpentLottiePath","LOTTIE","timeLottieData","timeSpentLottieData","Lottie","_c","jsxs","Styled.Clock","jsx","Styled.ClockLottie","Styled.ClockTimeSpentLottie","Styled.TextWrapper","CLOCK_INFRAME_LOTTIE_TO_PLAY","TIME_LOTTIE_TO_PLAY_IN","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":";;;;;;;;;;AAwBa,MAAAA,KAAyBC,EAAK,CAAC,EAAE,MAAAC,GAAM,YAAAC,GAAY,UAAAC,GAAU,YAAAC,QAAiB;AACnF,QAAA,EAAE,MAAAC,MAASC,KACX,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK,GACtCC,IAAwBC,EAAO,EAAK,GACpCC,IAAeD,EAAO,CAAC,GAEvBE,IAA0BF,EAAuB,IAAI,GACrDG,IAAmCH,EAAuB,IAAI,GAC9DI,IAA0BJ,KAC1BK,IAAmCL,KAEnCM,IAA0BC,EAAY,MAAM;;AAC1C,UAAAC,IAASC,EAA8BjB,CAAQ;AAErD,IAAIgB,MACFP,EAAa,UAAUO,IAEUE,IAAAL,EAAA,YAAA,QAAAK,EAAS,SAASF,IAASG,KAC5DC,IAAAP,EAAiC,YAAjC,QAAAO,EAA0C,aAAa,CAAC,GAAGJ,CAAM,GAAG,KACpET,EAAsB,UAAU;AAAA,EAClC,GACC,CAACP,CAAQ,CAAC,GAEPqB,IAAwCN,EAAY,YAAY;;AACpE,UAAMO,EAAMC,CAAoB,IAGhCL,IAAAL,EAAiC,YAAjC,QAAAK,EAA0C,aAAa,CAACT,EAAa,SAAS,CAAC,GAAG,KAElF,MAAMa,EAAME,CAAoB,GAChCnB,EAAW,EAAI,GAEXE,EAAsB,aACSa,IAAAP,EAAA,YAAA,QAAAO,EAAS,iBAAiB,YAAY,MAAM;;
|
1
|
+
{"version":3,"file":"clock.js","sources":["../../../../src/features/post-game-stats/clock/clock.tsx"],"sourcesContent":["import type { IClockProps } from './clock-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { delay } from '../../utils/utils';\nimport * as Styled from './clock-styled';\nimport { getClockTimeSpentFramesToPlay } from './clock-util';\nimport {\n CLOCK,\n CLOCK_TIME_SPENT_FPS,\n TIME_SHOWN_HOLD_TIME,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n CLOCK_INFRAME_LOTTIE_TO_PLAY,\n TIME_LOTTIE_TO_PLAY_IN,\n} from './constants';\n\nexport const Clock: FC<IClockProps> = memo(({ show, onComplete, timeInMs, helperText }) => {\n const { play } = useCircleSounds();\n const [fadeOut, setFadeOut] = useState(false);\n const isClockTimeSpentShown = useRef(false);\n const framesToPlay = useRef(0);\n\n const clockLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockTimeSpentLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockLottieAnimationRef = useRef<AnimationItem>();\n const clockTimeSpentLottieAnimationRef = useRef<AnimationItem>();\n\n const setClockTimeSpentFrames = useCallback(() => {\n const frames = getClockTimeSpentFramesToPlay(timeInMs);\n\n if (frames) {\n framesToPlay.current = frames;\n // Speed adjustment\n clockTimeSpentLottieAnimationRef.current?.setSpeed(frames / CLOCK_TIME_SPENT_FPS);\n clockTimeSpentLottieAnimationRef.current?.playSegments([0, frames], true);\n isClockTimeSpentShown.current = true;\n }\n }, [timeInMs]);\n\n const onClockTimeSpentExitAnimationFinished = useCallback(async () => {\n await delay(TIME_SHOWN_HOLD_TIME);\n\n // Reverse play time spent animation\n clockTimeSpentLottieAnimationRef.current?.playSegments([framesToPlay.current, 0], true);\n\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeOut(true);\n\n if (isClockTimeSpentShown.current) {\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n clockTimeSpentLottieAnimationRef.current?.removeEventListener('complete');\n play(CircleSoundKey.CLOCK_OUT);\n clockLottieAnimationRef.current?.playSegments(CLOCK.OUT_FRAMES, true);\n });\n }\n }, [framesToPlay, play]);\n\n const onAnimationEnd = useCallback(() => {\n onComplete?.();\n }, [onComplete]);\n\n // Play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimations = async () => {\n const [timeLottiePath, timeSpentLottiePath] = await Promise.all([\n fetch(LOTTIE.TOTAL_TIME),\n fetch(LOTTIE.TOTAL_TIME_SPENT),\n ]);\n const [timeLottieData, timeSpentLottieData] = await Promise.all([\n timeLottiePath.json(),\n timeSpentLottiePath.json(),\n ]);\n\n // Clock Lottie\n clockLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockLottieContainerRef.current as Element,\n animationData: timeLottieData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Clock Time Spent Lottie\n clockTimeSpentLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockTimeSpentLottieContainerRef.current as Element,\n animationData: timeSpentLottieData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Play clock in animation sounds and lottie\n play(CircleSoundKey.CLOCK_IN);\n clockLottieAnimationRef.current?.playSegments(CLOCK.IN_FRAMES, true);\n\n clockLottieAnimationRef.current?.addEventListener('complete', () => {\n if (!isClockTimeSpentShown.current) {\n setClockTimeSpentFrames();\n } else {\n onAnimationEnd();\n }\n });\n\n // Setup event listener for time spent animation\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n clockTimeSpentLottieAnimationRef.current?.removeEventListener('complete');\n onClockTimeSpentExitAnimationFinished();\n });\n };\n\n loadAnimations();\n\n return () => {\n clockLottieAnimationRef.current?.destroy();\n clockTimeSpentLottieAnimationRef.current?.destroy();\n };\n }\n }, [show, setClockTimeSpentFrames, onAnimationEnd, onClockTimeSpentExitAnimationFinished, play]);\n\n if (show) {\n return (\n <Styled.Clock>\n <Styled.ClockLottie ref={clockLottieContainerRef} />\n <Styled.ClockTimeSpentLottie ref={clockTimeSpentLottieContainerRef} />\n {helperText && (\n <Styled.TextWrapper\n $delay={CLOCK_INFRAME_LOTTIE_TO_PLAY + TIME_LOTTIE_TO_PLAY_IN}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Clock>\n );\n }\n\n return null;\n});\n"],"names":["Clock","memo","show","onComplete","timeInMs","helperText","play","useCircleSounds","fadeOut","setFadeOut","useState","isClockTimeSpentShown","useRef","framesToPlay","clockLottieContainerRef","clockTimeSpentLottieContainerRef","clockLottieAnimationRef","clockTimeSpentLottieAnimationRef","setClockTimeSpentFrames","useCallback","frames","getClockTimeSpentFramesToPlay","_a","CLOCK_TIME_SPENT_FPS","_b","onClockTimeSpentExitAnimationFinished","delay","TIME_SHOWN_HOLD_TIME","TEXT_DISAPPEAR_DELAY","CircleSoundKey","CLOCK","onAnimationEnd","useEffect","timeLottiePath","timeSpentLottiePath","LOTTIE","timeLottieData","timeSpentLottieData","Lottie","_c","jsxs","Styled.Clock","jsx","Styled.ClockLottie","Styled.ClockTimeSpentLottie","Styled.TextWrapper","CLOCK_INFRAME_LOTTIE_TO_PLAY","TIME_LOTTIE_TO_PLAY_IN","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -2207,7 +2207,7 @@ declare interface INodeCardCallbacks {
|
|
2207
2207
|
onNodeView?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
2208
2208
|
onNodeReview?: (nodeData: INodeDataProps, milestoneId?: string, homeworkId?: string) => void;
|
2209
2209
|
onNodeReattempt?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
2210
|
-
|
2210
|
+
onNodeAssignAsHomework?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
2211
2211
|
onNodeMarkAsDone?: (nodeData: INodeDataProps) => void;
|
2212
2212
|
onNodeReset?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
2213
2213
|
onNodeUnassign?: (nodeData: INodeDataProps, milestoneId?: string) => void;
|
@@ -2230,6 +2230,7 @@ export declare interface INodeDataProps {
|
|
2230
2230
|
learnosity_activity_ref: string;
|
2231
2231
|
marked_as_completed: boolean;
|
2232
2232
|
node_id: string;
|
2233
|
+
id: string;
|
2233
2234
|
node_type: TNodeTypes_2;
|
2234
2235
|
sheet_statement: string;
|
2235
2236
|
permissions: INodePermissions;
|
@@ -3054,6 +3055,7 @@ declare interface ITestsListProps {
|
|
3054
3055
|
isChaptersAvailable?: boolean;
|
3055
3056
|
canUpdatePlan?: boolean;
|
3056
3057
|
onNodeReattempt?: (sheetData: INodeDataProps, milestoneId?: string) => void;
|
3058
|
+
onNodeAssignAsHomework?: (sheetData: INodeDataProps, milestoneId?: string) => void;
|
3057
3059
|
onTestPreview?: (sheetData: INodeDataProps, milestoneId: string) => void;
|
3058
3060
|
onTestStart?: (sheetData: INodeDataProps) => void;
|
3059
3061
|
onTestReview?: (sheetData: INodeDataProps, milestoneId: string) => void;
|