@cuemath/leap 3.0.22-aa13 → 3.0.22-aa15
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/cue-canvas/sidebar/homework/homework.js +7 -7
- package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +53 -53
- package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -1
- package/package.json +1 -1
@@ -7,19 +7,19 @@ import b from "../../../ui/text/text.js";
|
|
7
7
|
import { StyledWrapper as w, HWWrapper as W } from "../../cue-cavas-styled.js";
|
8
8
|
import { useCueCanvasActions as H } from "../../hooks/use-cue-canvas-actions.js";
|
9
9
|
import $ from "./homework-menu.js";
|
10
|
-
const v = (
|
11
|
-
const { activeSidebar: e, setActiveSidebar: n, hwRequests:
|
12
|
-
|
10
|
+
const v = (m) => {
|
11
|
+
const { activeSidebar: e, setActiveSidebar: n, hwRequests: s } = m, { activeInstance: r } = H(), c = d(null), { menuVisible: i, onMenuClick: t } = h(
|
12
|
+
c,
|
13
13
|
void 0,
|
14
14
|
!0,
|
15
15
|
void 0
|
16
|
-
),
|
16
|
+
), l = f(() => {
|
17
17
|
e === "tile" && (r == null || r.toggleTiles(!1)), n(e === "homework" ? void 0 : "homework"), t();
|
18
18
|
}, [e, r, t, n]);
|
19
19
|
return k(() => {
|
20
20
|
(e === "tile" || e === "puzzle") && i && t();
|
21
|
-
}, [e, i, t]), /* @__PURE__ */ a(C, { $position: "relative",
|
22
|
-
/* @__PURE__ */ o(p, { onClick:
|
21
|
+
}, [e, i, t]), /* @__PURE__ */ a(C, { $position: "relative", children: [
|
22
|
+
/* @__PURE__ */ o(p, { onClick: l, label: "homework help", children: /* @__PURE__ */ o(w, { $active: e === "homework", children: /* @__PURE__ */ o(
|
23
23
|
W,
|
24
24
|
{
|
25
25
|
$background: e === "homework" ? "BLACK" : "WHITE",
|
@@ -30,7 +30,7 @@ const v = (s) => {
|
|
30
30
|
children: /* @__PURE__ */ o(b, { $color: e === "homework" ? "WHITE" : "BLACK", $renderAs: "ub3-bold", children: "HW" })
|
31
31
|
}
|
32
32
|
) }) }),
|
33
|
-
i && /* @__PURE__ */ o($, { onSelect:
|
33
|
+
i && /* @__PURE__ */ o($, { onSelect: l, hwRequests: s })
|
34
34
|
] });
|
35
35
|
}, j = u(v);
|
36
36
|
export {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"homework.js","sources":["../../../../../src/features/cue-canvas/sidebar/homework/homework.tsx"],"sourcesContent":["import type { IHomeWorkRequestsContainerProps } from './homework-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { StyledWrapper, HWWrapper } from '../../cue-cavas-styled';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\nimport HomeWorkMenu from './homework-menu';\n\nconst HomeWorkRequestsContainer: FC<IHomeWorkRequestsContainerProps> = props => {\n const { activeSidebar, setActiveSidebar, hwRequests } = props;\n const { activeInstance: cueCanvas } = useCueCanvasActions();\n const homeWorkMenuRef = useRef(null);\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n homeWorkMenuRef,\n undefined,\n true,\n undefined,\n );\n\n const handleClick = useCallback(() => {\n if (activeSidebar === 'tile') {\n cueCanvas?.toggleTiles(false);\n }\n setActiveSidebar(activeSidebar === 'homework' ? undefined : 'homework');\n onMenuClick();\n }, [activeSidebar, cueCanvas, onMenuClick, setActiveSidebar]);\n\n useEffect(() => {\n if ((activeSidebar === 'tile' || activeSidebar === 'puzzle') && menuVisible) {\n onMenuClick();\n }\n }, [activeSidebar, menuVisible, onMenuClick]);\n\n return (\n <FlexView $position=\"relative\"
|
1
|
+
{"version":3,"file":"homework.js","sources":["../../../../../src/features/cue-canvas/sidebar/homework/homework.tsx"],"sourcesContent":["import type { IHomeWorkRequestsContainerProps } from './homework-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { StyledWrapper, HWWrapper } from '../../cue-cavas-styled';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\nimport HomeWorkMenu from './homework-menu';\n\nconst HomeWorkRequestsContainer: FC<IHomeWorkRequestsContainerProps> = props => {\n const { activeSidebar, setActiveSidebar, hwRequests } = props;\n const { activeInstance: cueCanvas } = useCueCanvasActions();\n const homeWorkMenuRef = useRef(null);\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n homeWorkMenuRef,\n undefined,\n true,\n undefined,\n );\n\n const handleClick = useCallback(() => {\n if (activeSidebar === 'tile') {\n cueCanvas?.toggleTiles(false);\n }\n setActiveSidebar(activeSidebar === 'homework' ? undefined : 'homework');\n onMenuClick();\n }, [activeSidebar, cueCanvas, onMenuClick, setActiveSidebar]);\n\n useEffect(() => {\n if ((activeSidebar === 'tile' || activeSidebar === 'puzzle') && menuVisible) {\n onMenuClick();\n }\n }, [activeSidebar, menuVisible, onMenuClick]);\n\n return (\n <FlexView $position=\"relative\">\n <Clickable onClick={handleClick} label=\"homework help\">\n <StyledWrapper $active={activeSidebar === 'homework'}>\n <HWWrapper\n $background={activeSidebar === 'homework' ? 'BLACK' : 'WHITE'}\n $borderColor={activeSidebar === 'homework' ? 'WHITE' : 'BLACK'}\n $borderRadius={4}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <Text $color={activeSidebar === 'homework' ? 'WHITE' : 'BLACK'} $renderAs=\"ub3-bold\">\n HW\n </Text>\n </HWWrapper>\n </StyledWrapper>\n </Clickable>\n {menuVisible && <HomeWorkMenu onSelect={handleClick} hwRequests={hwRequests} />}\n </FlexView>\n );\n};\n\nexport default memo(HomeWorkRequestsContainer);\n"],"names":["HomeWorkRequestsContainer","props","activeSidebar","setActiveSidebar","hwRequests","cueCanvas","useCueCanvasActions","homeWorkMenuRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","handleClick","useCallback","useEffect","jsxs","FlexView","jsx","Clickable","StyledWrapper","HWWrapper","Text","HomeWorkMenu","Homework","memo"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAiE,CAASC,MAAA;AAC9E,QAAM,EAAE,eAAAC,GAAe,kBAAAC,GAAkB,YAAAC,EAAA,IAAeH,GAClD,EAAE,gBAAgBI,EAAU,IAAIC,EAAoB,GACpDC,IAAkBC,EAAO,IAAI,GAE7B,EAAE,aAAAC,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAGIK,IAAcC,EAAY,MAAM;AACpC,IAAIX,MAAkB,WACpBG,KAAA,QAAAA,EAAW,YAAY,MAERF,EAAAD,MAAkB,aAAa,SAAY,UAAU,GAC1DQ;KACX,CAACR,GAAeG,GAAWK,GAAaP,CAAgB,CAAC;AAE5D,SAAAW,EAAU,MAAM;AACd,KAAKZ,MAAkB,UAAUA,MAAkB,aAAaO,KAClDC;EAEb,GAAA,CAACR,GAAeO,GAAaC,CAAW,CAAC,GAG1C,gBAAAK,EAACC,GAAS,EAAA,WAAU,YAClB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,SAASN,GAAa,OAAM,iBACrC,UAAC,gBAAAK,EAAAE,GAAA,EAAc,SAASjB,MAAkB,YACxC,UAAA,gBAAAe;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,aAAalB,MAAkB,aAAa,UAAU;AAAA,QACtD,cAAcA,MAAkB,aAAa,UAAU;AAAA,QACvD,eAAe;AAAA,QACf,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAEhB,UAAA,gBAAAe,EAACI,KAAK,QAAQnB,MAAkB,aAAa,UAAU,SAAS,WAAU,YAAW,UAErF,KAAA,CAAA;AAAA,MAAA;AAAA,OAEJ,EACF,CAAA;AAAA,IACCO,KAAe,gBAAAQ,EAACK,GAAa,EAAA,UAAUV,GAAa,YAAAR,GAAwB;AAAA,EAC/E,EAAA,CAAA;AAEJ,GAEemB,IAAAC,EAAKxB,CAAyB;"}
|
@@ -1,51 +1,51 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import { ILLUSTRATIONS as
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import { Loader as
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
2
|
+
import { memo as G, useEffect as O, useCallback as R } from "react";
|
3
|
+
import W from "styled-components";
|
4
|
+
import { ILLUSTRATIONS as H } from "../../../../assets/illustrations/illustrations.js";
|
5
|
+
import w from "../../../../assets/line-icons/icons/back.js";
|
6
|
+
import S from "../../../../assets/line-icons/icons/cross.js";
|
7
|
+
import P from "../../../ui/buttons/button/button.js";
|
8
|
+
import { Loader as B } from "../../../ui/buttons/button/button-styled.js";
|
9
9
|
import l from "../../../ui/buttons/clickable/clickable.js";
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import { useCueCanvasActions as
|
13
|
-
import { useGetActivity as
|
10
|
+
import t from "../../../ui/layout/flex-view.js";
|
11
|
+
import A from "../../../ui/text/text.js";
|
12
|
+
import { useCueCanvasActions as J } from "../../hooks/use-cue-canvas-actions.js";
|
13
|
+
import { useGetActivity as M } from "./api/get-puzzles.js";
|
14
14
|
import { MenuContainer as C } from "./puzzles-styled.js";
|
15
|
-
import { serializeData as
|
16
|
-
const
|
15
|
+
import { serializeData as N, getTags as o } from "./utils.js";
|
16
|
+
const V = W.iframe`
|
17
17
|
width: 100%;
|
18
18
|
height: 100%;
|
19
|
-
`,
|
20
|
-
const { launchPuzzleData: I, onMenuVisibilityChange: c, toggleMenu: m } =
|
21
|
-
get:
|
22
|
-
data:
|
23
|
-
isProcessed:
|
24
|
-
} =
|
25
|
-
|
26
|
-
|
27
|
-
}, [
|
19
|
+
`, se = G((T) => {
|
20
|
+
const { launchPuzzleData: I, onMenuVisibilityChange: c, toggleMenu: m } = T, { node_id: f } = I || {}, { activeInstance: r, setHomeworkId: d, setActiveTool: p } = J(), {
|
21
|
+
get: u,
|
22
|
+
data: g,
|
23
|
+
isProcessed: k
|
24
|
+
} = M();
|
25
|
+
O(() => {
|
26
|
+
u(f);
|
27
|
+
}, [u, f]);
|
28
28
|
const {
|
29
|
-
activity_tiles:
|
30
|
-
activity_topics:
|
31
|
-
activity_types:
|
32
|
-
grades:
|
33
|
-
worksheet:
|
34
|
-
} =
|
35
|
-
const a = n && await (await fetch(n)).json(),
|
36
|
-
...
|
29
|
+
activity_tiles: $,
|
30
|
+
activity_topics: h,
|
31
|
+
activity_types: y,
|
32
|
+
grades: b,
|
33
|
+
worksheet: x
|
34
|
+
} = g || {}, { instructions_ref: v, learnosity_activity_ref: n } = x || {}, X = R(async () => {
|
35
|
+
const a = n && await (await fetch(n)).json(), E = {
|
36
|
+
...N(a)
|
37
37
|
};
|
38
|
-
m(),
|
39
|
-
}, [
|
40
|
-
if (!
|
41
|
-
return /* @__PURE__ */
|
42
|
-
/* @__PURE__ */ t
|
43
|
-
/* @__PURE__ */ t
|
38
|
+
m(), r == null || r.replaceCanvas(E), d(void 0), p("move");
|
39
|
+
}, [r, n, p, d, m]);
|
40
|
+
if (!g || !k)
|
41
|
+
return /* @__PURE__ */ i(C, { children: [
|
42
|
+
/* @__PURE__ */ e(t, { $gutterX: 1.5, $gapX: 1.5, children: /* @__PURE__ */ e(l, { onClick: c, label: "back", children: /* @__PURE__ */ e(w, { color: "WHITE" }) }) }),
|
43
|
+
/* @__PURE__ */ e(t, { $alignItems: "center", $justifyContent: "center", $height: "100%", children: /* @__PURE__ */ e(B, { src: H.LOADER, alt: "Loader", $size: "small" }) })
|
44
44
|
] });
|
45
|
-
const
|
46
|
-
return /* @__PURE__ */
|
47
|
-
/* @__PURE__ */
|
48
|
-
|
45
|
+
const D = b ? o(b, "grades") : [], _ = h ? o(h) : [], j = y ? o(y) : [], L = $ ? o($) : [], z = [..._, ...D, ...j, ...L];
|
46
|
+
return /* @__PURE__ */ i(C, { children: [
|
47
|
+
/* @__PURE__ */ i(
|
48
|
+
t,
|
49
49
|
{
|
50
50
|
$justifyContent: "space-between",
|
51
51
|
$alignItems: "center",
|
@@ -53,32 +53,32 @@ const N = R.iframe`
|
|
53
53
|
$gutterX: 1,
|
54
54
|
$gapX: 0.5,
|
55
55
|
children: [
|
56
|
-
/* @__PURE__ */
|
57
|
-
/* @__PURE__ */
|
58
|
-
/* @__PURE__ */
|
59
|
-
|
56
|
+
/* @__PURE__ */ e(l, { onClick: c, label: "back", children: /* @__PURE__ */ e(w, { color: "WHITE" }) }),
|
57
|
+
/* @__PURE__ */ i(t, { $flexDirection: "row", $alignItems: "center", $flexColumnGapX: 1, children: [
|
58
|
+
/* @__PURE__ */ e(
|
59
|
+
P,
|
60
60
|
{
|
61
61
|
size: "small",
|
62
62
|
renderAs: "primary",
|
63
63
|
widthX: 12,
|
64
64
|
label: "Launch",
|
65
|
-
onClick:
|
65
|
+
onClick: X
|
66
66
|
}
|
67
67
|
),
|
68
|
-
/* @__PURE__ */
|
68
|
+
/* @__PURE__ */ e(l, { onClick: c, label: "close filter menu", children: /* @__PURE__ */ e(S, { color: "WHITE" }) })
|
69
69
|
] })
|
70
70
|
]
|
71
71
|
}
|
72
72
|
),
|
73
|
-
/* @__PURE__ */
|
74
|
-
/* @__PURE__ */
|
75
|
-
/* @__PURE__ */ t
|
73
|
+
/* @__PURE__ */ i(t, { $flexDirection: "row", $flexColumnGapX: 1, $gapX: 1, $gutterX: 1, children: [
|
74
|
+
/* @__PURE__ */ e(A, { $renderAs: "ab1", $color: "GREY_2", children: "Tags:" }),
|
75
|
+
/* @__PURE__ */ e(t, { $flexDirection: "row", $flexColumnGapX: 1, $flexRowGapX: 0.5, $flexWrap: !0, children: z.map((a, s) => /* @__PURE__ */ e(t, { $background: "WHITE", $borderRadius: 16, $gapX: 0.25, $gutterX: 1, children: /* @__PURE__ */ e(A, { $renderAs: "ub2", children: a }, s) }, s)) })
|
76
76
|
] }),
|
77
|
-
|
77
|
+
v && /* @__PURE__ */ e(V, { id: "launch_activity_iframe", src: v })
|
78
78
|
] });
|
79
79
|
});
|
80
80
|
export {
|
81
|
-
|
82
|
-
|
81
|
+
V as Iframe,
|
82
|
+
se as default
|
83
83
|
};
|
84
84
|
//# sourceMappingURL=launch-puzzle.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"launch-puzzle.js","sources":["../../../../../src/features/cue-canvas/sidebar/puzzles/launch-puzzle.tsx"],"sourcesContent":["import type { IPuzzlesResultData } from './api/get-puzzles';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport BackIcon from '../../../../assets/line-icons/icons/back';\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport Button from '../../../ui/buttons/button/button';\nimport { Loader } from '../../../ui/buttons/button/button-styled';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\nimport { useGetActivity } from './api/get-puzzles';\nimport * as Styled from './puzzles-styled';\nimport { getTags, serializeData } from './utils';\n\nexport const Iframe = styled.iframe`\n width: 100%;\n height: 100%;\n`;\n\ninterface ILaunchPuzzleProps {\n launchPuzzleData: IPuzzlesResultData;\n onMenuVisibilityChange: () => void;\n toggleMenu: () => void;\n}\n\nconst LaunchPuzzle: FC<ILaunchPuzzleProps> = memo(props => {\n const { launchPuzzleData, onMenuVisibilityChange, toggleMenu } = props;\n const { node_id: nodeId } = launchPuzzleData || {};\n const { activeInstance: cueCanvas, setHomeworkId } = useCueCanvasActions();\n\n const {\n get: getWbActivity,\n data: wbActivityData,\n isProcessed: wbActivityDataProcessed,\n } = useGetActivity();\n\n useEffect(() => {\n getWbActivity(nodeId);\n }, [getWbActivity, nodeId]);\n const {\n activity_tiles: activityTiles,\n activity_topics: activityTopics,\n activity_types: activityTypes,\n grades: grades,\n worksheet,\n } = wbActivityData || {};\n const { instructions_ref: iframeSrc, learnosity_activity_ref: learnnosityActivityRef } =\n worksheet || {};\n\n const onLaunchActivityClick = useCallback(async () => {\n const jsonOBJ = learnnosityActivityRef && (await (await fetch(learnnosityActivityRef)).json());\n\n const newJSONObj = serializeData(jsonOBJ);\n const actionData = {\n ...newJSONObj,\n };\n\n toggleMenu();\n\n cueCanvas?.replaceCanvas(actionData);\n setHomeworkId(undefined);\n }, [cueCanvas, learnnosityActivityRef, setHomeworkId, toggleMenu]);\n\n if (!wbActivityData || !wbActivityDataProcessed) {\n return (\n <Styled.MenuContainer>\n <FlexView $gutterX={1.5} $gapX={1.5}>\n <Clickable onClick={onMenuVisibilityChange} label=\"back\">\n <BackIcon color=\"WHITE\" />\n </Clickable>\n </FlexView>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size=\"small\" />\n </FlexView>\n </Styled.MenuContainer>\n );\n }\n\n const getGradesArr = grades ? getTags(grades, 'grades') : [];\n const getTopicsArr = activityTopics ? getTags(activityTopics) : [];\n const getTypesArr = activityTypes ? getTags(activityTypes) : [];\n const getTilesArr = activityTiles ? getTags(activityTiles) : [];\n\n const tagData: string[] = [...getTopicsArr, ...getGradesArr, ...getTypesArr, ...getTilesArr];\n\n return (\n <Styled.MenuContainer>\n <FlexView\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexDirection=\"row\"\n $gutterX={1}\n $gapX={0.5}\n >\n <Clickable onClick={onMenuVisibilityChange} label=\"back\">\n <BackIcon color=\"WHITE\" />\n </Clickable>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={1}>\n <Button\n size=\"small\"\n renderAs=\"primary\"\n widthX={12}\n label=\"Launch\"\n onClick={onLaunchActivityClick}\n />\n <Clickable onClick={onMenuVisibilityChange} label=\"close filter menu\">\n <CrossIcon color=\"WHITE\" />\n </Clickable>\n </FlexView>\n </FlexView>\n <FlexView $flexDirection=\"row\" $flexColumnGapX={1} $gapX={1} $gutterX={1}>\n <Text $renderAs=\"ab1\" $color=\"GREY_2\">\n Tags:\n </Text>\n <FlexView $flexDirection=\"row\" $flexColumnGapX={1} $flexRowGapX={0.5} $flexWrap>\n {tagData.map((tag, index) => (\n <FlexView $background=\"WHITE\" $borderRadius={16} $gapX={0.25} $gutterX={1} key={index}>\n <Text $renderAs=\"ub2\" key={index}>\n {tag}\n </Text>\n </FlexView>\n ))}\n </FlexView>\n </FlexView>\n {iframeSrc && <Iframe id=\"launch_activity_iframe\" src={iframeSrc} />}\n </Styled.MenuContainer>\n );\n});\n\nexport default LaunchPuzzle;\n"],"names":["Iframe","styled","LaunchPuzzle","memo","props","launchPuzzleData","onMenuVisibilityChange","toggleMenu","nodeId","cueCanvas","setHomeworkId","useCueCanvasActions","getWbActivity","wbActivityData","wbActivityDataProcessed","useGetActivity","useEffect","activityTiles","activityTopics","activityTypes","grades","worksheet","iframeSrc","learnnosityActivityRef","onLaunchActivityClick","useCallback","jsonOBJ","actionData","serializeData","jsxs","Styled.MenuContainer","jsx","FlexView","Clickable","BackIcon","Loader","ILLUSTRATIONS","getGradesArr","getTags","getTopicsArr","getTypesArr","getTilesArr","tagData","Button","CrossIcon","Text","tag","index"],"mappings":";;;;;;;;;;;;;;;AAmBO,MAAMA,IAASC,EAAO;AAAA;AAAA;AAAA,GAWvBC,KAAuCC,EAAK,CAASC,MAAA;AACzD,QAAM,EAAE,kBAAAC,GAAkB,wBAAAC,GAAwB,YAAAC,EAAA,IAAeH,GAC3D,EAAE,SAASI,MAAWH,KAAoB,CAAA,GAC1C,EAAE,gBAAgBI,GAAW,eAAAC,
|
1
|
+
{"version":3,"file":"launch-puzzle.js","sources":["../../../../../src/features/cue-canvas/sidebar/puzzles/launch-puzzle.tsx"],"sourcesContent":["import type { IPuzzlesResultData } from './api/get-puzzles';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport BackIcon from '../../../../assets/line-icons/icons/back';\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport Button from '../../../ui/buttons/button/button';\nimport { Loader } from '../../../ui/buttons/button/button-styled';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useCueCanvasActions } from '../../hooks/use-cue-canvas-actions';\nimport { useGetActivity } from './api/get-puzzles';\nimport * as Styled from './puzzles-styled';\nimport { getTags, serializeData } from './utils';\n\nexport const Iframe = styled.iframe`\n width: 100%;\n height: 100%;\n`;\n\ninterface ILaunchPuzzleProps {\n launchPuzzleData: IPuzzlesResultData;\n onMenuVisibilityChange: () => void;\n toggleMenu: () => void;\n}\n\nconst LaunchPuzzle: FC<ILaunchPuzzleProps> = memo(props => {\n const { launchPuzzleData, onMenuVisibilityChange, toggleMenu } = props;\n const { node_id: nodeId } = launchPuzzleData || {};\n const { activeInstance: cueCanvas, setHomeworkId, setActiveTool } = useCueCanvasActions();\n\n const {\n get: getWbActivity,\n data: wbActivityData,\n isProcessed: wbActivityDataProcessed,\n } = useGetActivity();\n\n useEffect(() => {\n getWbActivity(nodeId);\n }, [getWbActivity, nodeId]);\n const {\n activity_tiles: activityTiles,\n activity_topics: activityTopics,\n activity_types: activityTypes,\n grades: grades,\n worksheet,\n } = wbActivityData || {};\n const { instructions_ref: iframeSrc, learnosity_activity_ref: learnnosityActivityRef } =\n worksheet || {};\n\n const onLaunchActivityClick = useCallback(async () => {\n const jsonOBJ = learnnosityActivityRef && (await (await fetch(learnnosityActivityRef)).json());\n\n const newJSONObj = serializeData(jsonOBJ);\n const actionData = {\n ...newJSONObj,\n };\n\n toggleMenu();\n\n cueCanvas?.replaceCanvas(actionData);\n setHomeworkId(undefined);\n setActiveTool('move');\n }, [cueCanvas, learnnosityActivityRef, setActiveTool, setHomeworkId, toggleMenu]);\n\n if (!wbActivityData || !wbActivityDataProcessed) {\n return (\n <Styled.MenuContainer>\n <FlexView $gutterX={1.5} $gapX={1.5}>\n <Clickable onClick={onMenuVisibilityChange} label=\"back\">\n <BackIcon color=\"WHITE\" />\n </Clickable>\n </FlexView>\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size=\"small\" />\n </FlexView>\n </Styled.MenuContainer>\n );\n }\n\n const getGradesArr = grades ? getTags(grades, 'grades') : [];\n const getTopicsArr = activityTopics ? getTags(activityTopics) : [];\n const getTypesArr = activityTypes ? getTags(activityTypes) : [];\n const getTilesArr = activityTiles ? getTags(activityTiles) : [];\n\n const tagData: string[] = [...getTopicsArr, ...getGradesArr, ...getTypesArr, ...getTilesArr];\n\n return (\n <Styled.MenuContainer>\n <FlexView\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexDirection=\"row\"\n $gutterX={1}\n $gapX={0.5}\n >\n <Clickable onClick={onMenuVisibilityChange} label=\"back\">\n <BackIcon color=\"WHITE\" />\n </Clickable>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={1}>\n <Button\n size=\"small\"\n renderAs=\"primary\"\n widthX={12}\n label=\"Launch\"\n onClick={onLaunchActivityClick}\n />\n <Clickable onClick={onMenuVisibilityChange} label=\"close filter menu\">\n <CrossIcon color=\"WHITE\" />\n </Clickable>\n </FlexView>\n </FlexView>\n <FlexView $flexDirection=\"row\" $flexColumnGapX={1} $gapX={1} $gutterX={1}>\n <Text $renderAs=\"ab1\" $color=\"GREY_2\">\n Tags:\n </Text>\n <FlexView $flexDirection=\"row\" $flexColumnGapX={1} $flexRowGapX={0.5} $flexWrap>\n {tagData.map((tag, index) => (\n <FlexView $background=\"WHITE\" $borderRadius={16} $gapX={0.25} $gutterX={1} key={index}>\n <Text $renderAs=\"ub2\" key={index}>\n {tag}\n </Text>\n </FlexView>\n ))}\n </FlexView>\n </FlexView>\n {iframeSrc && <Iframe id=\"launch_activity_iframe\" src={iframeSrc} />}\n </Styled.MenuContainer>\n );\n});\n\nexport default LaunchPuzzle;\n"],"names":["Iframe","styled","LaunchPuzzle","memo","props","launchPuzzleData","onMenuVisibilityChange","toggleMenu","nodeId","cueCanvas","setHomeworkId","setActiveTool","useCueCanvasActions","getWbActivity","wbActivityData","wbActivityDataProcessed","useGetActivity","useEffect","activityTiles","activityTopics","activityTypes","grades","worksheet","iframeSrc","learnnosityActivityRef","onLaunchActivityClick","useCallback","jsonOBJ","actionData","serializeData","jsxs","Styled.MenuContainer","jsx","FlexView","Clickable","BackIcon","Loader","ILLUSTRATIONS","getGradesArr","getTags","getTopicsArr","getTypesArr","getTilesArr","tagData","Button","CrossIcon","Text","tag","index"],"mappings":"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"}
|