@cuemath/leap 2.8.62-rj-0.2 → 2.8.62-rj-0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,45 +1,40 @@
1
- import { jsxs as k, jsx as e } from "react/jsx-runtime";
2
- import { memo as z, forwardRef as B, useMemo as p, useRef as C, useState as D, createRef as E, useEffect as d, useCallback as m, useImperativeHandle as F } from "react";
3
- import R from "../../../../../assets/line-icons/icons/carat-left.js";
4
- import S from "../../../../../assets/line-icons/icons/carat-right.js";
5
- import w from "../../../../ui/buttons/icon-button/icon-button.js";
6
- import A from "../../../../ui/separator/separator.js";
7
- import { Carousel as H, CarouselWrapper as O, CarouselItemContainer as T, ExtendedFlexView as V, Indicator as W } from "./carousel-styled.js";
8
- const _ = ({ items: a, defaultIndex: u = 0, onNext: l, onPrev: s, analyticsPrev: h, analyticsNext: y, onItemsRendered: i }, L) => {
9
- const b = p(() => h, [h]), $ = p(() => y, [y]), I = C(null), f = C(!0), [n, o] = D(u), c = p(() => a.map(() => E()), [a]), g = C(!1);
10
- d(() => {
11
- if (g.current) return;
12
- c.length > 0 && c.every((t) => t.current !== null) && (g.current = !0, i == null || i());
13
- }, [c, i]);
14
- const M = m(() => {
15
- s == null || s(), o((r) => r - 1);
16
- }, [s]), j = m(() => {
17
- l == null || l(), o((r) => r + 1);
18
- }, [l]), x = m((r) => {
19
- o(r);
1
+ import { jsxs as y, jsx as e } from "react/jsx-runtime";
2
+ import { memo as j, forwardRef as x, useMemo as u, useRef as b, useState as z, createRef as B, useCallback as d, useImperativeHandle as D, useEffect as $ } from "react";
3
+ import E from "../../../../../assets/line-icons/icons/carat-left.js";
4
+ import F from "../../../../../assets/line-icons/icons/carat-right.js";
5
+ import R from "../../../../ui/buttons/icon-button/icon-button.js";
6
+ import g from "../../../../ui/separator/separator.js";
7
+ import { Carousel as M, CarouselWrapper as S, CarouselItemContainer as H, ExtendedFlexView as T, Indicator as V } from "./carousel-styled.js";
8
+ const W = ({ items: t, defaultIndex: l = 0, onNext: s, onPrev: c, analyticsPrev: m, analyticsNext: p }, k) => {
9
+ const f = u(() => m, [m]), C = u(() => p, [p]), h = b(null), i = b(!0), [o, n] = z(l), I = u(() => t.map(() => B()), [t]), w = d(() => {
10
+ c == null || c(), n((r) => r - 1);
11
+ }, [c]), A = d(() => {
12
+ s == null || s(), n((r) => r + 1);
13
+ }, [s]), L = d((r) => {
14
+ n(r);
20
15
  }, []);
21
- return F(L, () => ({
22
- nextBtnRef: I,
23
- indicatorRefs: c,
24
- currentIndex: n,
16
+ return D(k, () => ({
17
+ nextBtnRef: h,
18
+ indicatorRefs: I,
19
+ currentIndex: o,
25
20
  goToIndex: (r) => {
26
- o(r);
21
+ n(r);
27
22
  }
28
- })), d(() => {
29
- f.current && (f.current = !1);
30
- }, []), d(() => {
31
- o(u);
32
- }, [u]), /* @__PURE__ */ k(H, { children: [
23
+ })), $(() => {
24
+ i.current && (i.current = !1);
25
+ }, []), $(() => {
26
+ n(l);
27
+ }, [l]), /* @__PURE__ */ y(M, { children: [
33
28
  /* @__PURE__ */ e(
34
- O,
29
+ S,
35
30
  {
36
- $translate: n * 100,
37
- $translateDuration: f.current ? 0 : 300,
38
- children: a.map((r, t) => /* @__PURE__ */ e(T, { children: r }, t))
31
+ $translate: o * 100,
32
+ $translateDuration: i.current ? 0 : 300,
33
+ children: t.map((r, a) => /* @__PURE__ */ e(H, { children: r }, a))
39
34
  }
40
35
  ),
41
- a.length > 1 && /* @__PURE__ */ k(
42
- V,
36
+ t.length > 1 && /* @__PURE__ */ y(
37
+ T,
43
38
  {
44
39
  $flexDirection: "row",
45
40
  $alignItems: "center",
@@ -47,44 +42,44 @@ const _ = ({ items: a, defaultIndex: u = 0, onNext: l, onPrev: s, analyticsPrev:
47
42
  $position: "absolute",
48
43
  children: [
49
44
  /* @__PURE__ */ e(
50
- w,
45
+ R,
51
46
  {
52
47
  renderAs: "secondary",
53
- Icon: R,
54
- onClick: M,
55
- analyticsLabel: b.analyticsLabel,
56
- analyticsProps: b.analyticsProps,
57
- disabled: n === 0
48
+ Icon: E,
49
+ onClick: w,
50
+ analyticsLabel: f.analyticsLabel,
51
+ analyticsProps: f.analyticsProps,
52
+ disabled: o === 0
58
53
  }
59
54
  ),
60
- /* @__PURE__ */ e(A, { width: 48 }),
61
- a.map((r, t) => /* @__PURE__ */ e(
62
- W,
55
+ /* @__PURE__ */ e(g, { width: 48 }),
56
+ t.map((r, a) => /* @__PURE__ */ e(
57
+ V,
63
58
  {
64
- ref: c[t],
65
- $isActive: t === n,
66
- onClick: () => x(t)
59
+ ref: I[a],
60
+ $isActive: a === o,
61
+ onClick: () => L(a)
67
62
  },
68
- t
63
+ a
69
64
  )),
70
- /* @__PURE__ */ e(A, { width: 48 }),
71
- /* @__PURE__ */ e("div", { ref: I, children: /* @__PURE__ */ e(
72
- w,
65
+ /* @__PURE__ */ e(g, { width: 48 }),
66
+ /* @__PURE__ */ e("div", { ref: h, children: /* @__PURE__ */ e(
67
+ R,
73
68
  {
74
69
  renderAs: "secondary",
75
- Icon: S,
76
- onClick: j,
77
- analyticsLabel: $.analyticsLabel,
78
- analyticsProps: $.analyticsProps,
79
- disabled: n === a.length - 1
70
+ Icon: F,
71
+ onClick: A,
72
+ analyticsLabel: C.analyticsLabel,
73
+ analyticsProps: C.analyticsProps,
74
+ disabled: o === t.length - 1
80
75
  }
81
76
  ) })
82
77
  ]
83
78
  }
84
79
  )
85
80
  ] });
86
- }, U = z(B(_));
81
+ }, Q = j(x(W));
87
82
  export {
88
- U as Carousel
83
+ Q as Carousel
89
84
  };
90
85
  //# sourceMappingURL=carousel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/carousel/carousel.tsx"],"sourcesContent":["import type { ICarouselProps, ICarouselRefs } from './carousel-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n forwardRef,\n useImperativeHandle,\n createRef,\n} from 'react';\n\nimport CaratLeftIcon from '../../../../../assets/line-icons/icons/carat-left';\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport Separator from '../../../../ui/separator/separator';\nimport * as Styled from './carousel-styled';\n\nconst CarouselComponent: ForwardRefRenderFunction<ICarouselRefs, ICarouselProps> = (\n { items, defaultIndex = 0, onNext, onPrev, analyticsPrev, analyticsNext, onItemsRendered },\n ref,\n) => {\n const memoizedAnalyticsPrev = useMemo(() => analyticsPrev, [analyticsPrev]);\n const memoizedAnalyticsNext = useMemo(() => analyticsNext, [analyticsNext]);\n\n const nextBtnRef = useRef<HTMLDivElement>(null);\n const isFirstMount = useRef(true);\n const [currIndex, setCurrIndex] = useState(defaultIndex);\n const indicatorRefs = useMemo(() => items.map(() => createRef<HTMLDivElement>()), [items]);\n\n // only fire once\n const hasRenderedOnce = useRef(false);\n\n useEffect(() => {\n if (hasRenderedOnce.current) return;\n\n // we have an array of refs, make sure every one is in the DOM\n const allMounted = indicatorRefs.length > 0 && indicatorRefs.every(r => r.current !== null);\n\n if (allMounted) {\n hasRenderedOnce.current = true;\n onItemsRendered?.();\n }\n }, [indicatorRefs, onItemsRendered]);\n\n const handleCarouselPrev = useCallback(() => {\n onPrev?.();\n setCurrIndex(prev => prev - 1);\n }, [onPrev]);\n\n const handleCarouselNext = useCallback(() => {\n onNext?.();\n setCurrIndex(prev => prev + 1);\n }, [onNext]);\n\n const handleCarouselIndicatorClick = useCallback((index: number) => {\n setCurrIndex(index);\n }, []);\n\n useImperativeHandle(ref, () => ({\n nextBtnRef,\n indicatorRefs,\n currentIndex: currIndex,\n goToIndex: (index: number) => {\n setCurrIndex(index);\n },\n }));\n\n useEffect(() => {\n if (isFirstMount.current) {\n isFirstMount.current = false;\n }\n }, []);\n\n // Change index from parent\n useEffect(() => {\n setCurrIndex(defaultIndex);\n }, [defaultIndex]);\n\n return (\n <Styled.Carousel>\n <Styled.CarouselWrapper\n $translate={currIndex * 100}\n $translateDuration={isFirstMount.current ? 0 : 300}\n >\n {items.map((item, index) => (\n <Styled.CarouselItemContainer key={index}>{item}</Styled.CarouselItemContainer>\n ))}\n </Styled.CarouselWrapper>\n\n {items.length > 1 && (\n <Styled.ExtendedFlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $position=\"absolute\"\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratLeftIcon}\n onClick={handleCarouselPrev}\n analyticsLabel={memoizedAnalyticsPrev.analyticsLabel}\n analyticsProps={memoizedAnalyticsPrev.analyticsProps}\n disabled={currIndex === 0}\n />\n <Separator width={48} />\n {items.map((_, index) => (\n <Styled.Indicator\n ref={indicatorRefs[index]}\n $isActive={index === currIndex}\n key={index}\n onClick={() => handleCarouselIndicatorClick(index)}\n />\n ))}\n <Separator width={48} />\n <div ref={nextBtnRef}>\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={handleCarouselNext}\n analyticsLabel={memoizedAnalyticsNext.analyticsLabel}\n analyticsProps={memoizedAnalyticsNext.analyticsProps}\n disabled={currIndex === items.length - 1}\n />\n </div>\n </Styled.ExtendedFlexView>\n )}\n </Styled.Carousel>\n );\n};\n\nexport const Carousel = memo(forwardRef(CarouselComponent));\n"],"names":["CarouselComponent","items","defaultIndex","onNext","onPrev","analyticsPrev","analyticsNext","onItemsRendered","ref","memoizedAnalyticsPrev","useMemo","memoizedAnalyticsNext","nextBtnRef","useRef","isFirstMount","currIndex","setCurrIndex","useState","indicatorRefs","createRef","hasRenderedOnce","useEffect","r","handleCarouselPrev","useCallback","prev","handleCarouselNext","handleCarouselIndicatorClick","index","useImperativeHandle","jsxs","Styled.Carousel","jsx","Styled.CarouselWrapper","item","Styled.CarouselItemContainer","Styled.ExtendedFlexView","IconButton","CaratLeftIcon","Separator","_","Styled.Indicator","CaratRightIcon","Carousel","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"carousel.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/carousel/carousel.tsx"],"sourcesContent":["import type { ICarouselProps, ICarouselRefs } from './carousel-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n forwardRef,\n useImperativeHandle,\n createRef,\n} from 'react';\n\nimport CaratLeftIcon from '../../../../../assets/line-icons/icons/carat-left';\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport Separator from '../../../../ui/separator/separator';\nimport * as Styled from './carousel-styled';\n\nconst CarouselComponent: ForwardRefRenderFunction<ICarouselRefs, ICarouselProps> = (\n { items, defaultIndex = 0, onNext, onPrev, analyticsPrev, analyticsNext },\n ref,\n) => {\n const memoizedAnalyticsPrev = useMemo(() => analyticsPrev, [analyticsPrev]);\n const memoizedAnalyticsNext = useMemo(() => analyticsNext, [analyticsNext]);\n\n const nextBtnRef = useRef<HTMLDivElement>(null);\n const isFirstMount = useRef(true);\n const [currIndex, setCurrIndex] = useState(defaultIndex);\n\n // Create a stable array of refs for indicators\n const indicatorRefs = useMemo(() => items.map(() => createRef<HTMLDivElement>()), [items]);\n\n const handleCarouselPrev = useCallback(() => {\n onPrev?.();\n setCurrIndex(prev => prev - 1);\n }, [onPrev]);\n\n const handleCarouselNext = useCallback(() => {\n onNext?.();\n setCurrIndex(prev => prev + 1);\n }, [onNext]);\n\n const handleCarouselIndicatorClick = useCallback((index: number) => {\n setCurrIndex(index);\n }, []);\n\n useImperativeHandle(ref, () => ({\n nextBtnRef,\n indicatorRefs,\n currentIndex: currIndex,\n goToIndex: (index: number) => {\n setCurrIndex(index);\n },\n }));\n\n useEffect(() => {\n if (isFirstMount.current) {\n isFirstMount.current = false;\n }\n }, []);\n\n // Change index from parent\n useEffect(() => {\n setCurrIndex(defaultIndex);\n }, [defaultIndex]);\n\n return (\n <Styled.Carousel>\n <Styled.CarouselWrapper\n $translate={currIndex * 100}\n $translateDuration={isFirstMount.current ? 0 : 300}\n >\n {items.map((item, index) => (\n <Styled.CarouselItemContainer key={index}>{item}</Styled.CarouselItemContainer>\n ))}\n </Styled.CarouselWrapper>\n\n {items.length > 1 && (\n <Styled.ExtendedFlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $position=\"absolute\"\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratLeftIcon}\n onClick={handleCarouselPrev}\n analyticsLabel={memoizedAnalyticsPrev.analyticsLabel}\n analyticsProps={memoizedAnalyticsPrev.analyticsProps}\n disabled={currIndex === 0}\n />\n <Separator width={48} />\n {items.map((_, index) => (\n <Styled.Indicator\n ref={indicatorRefs[index]}\n $isActive={index === currIndex}\n key={index}\n onClick={() => handleCarouselIndicatorClick(index)}\n />\n ))}\n <Separator width={48} />\n <div ref={nextBtnRef}>\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={handleCarouselNext}\n analyticsLabel={memoizedAnalyticsNext.analyticsLabel}\n analyticsProps={memoizedAnalyticsNext.analyticsProps}\n disabled={currIndex === items.length - 1}\n />\n </div>\n </Styled.ExtendedFlexView>\n )}\n </Styled.Carousel>\n );\n};\n\nexport const Carousel = memo(forwardRef(CarouselComponent));\n"],"names":["CarouselComponent","items","defaultIndex","onNext","onPrev","analyticsPrev","analyticsNext","ref","memoizedAnalyticsPrev","useMemo","memoizedAnalyticsNext","nextBtnRef","useRef","isFirstMount","currIndex","setCurrIndex","useState","indicatorRefs","createRef","handleCarouselPrev","useCallback","prev","handleCarouselNext","handleCarouselIndicatorClick","index","useImperativeHandle","useEffect","jsxs","Styled.Carousel","jsx","Styled.CarouselWrapper","item","Styled.CarouselItemContainer","Styled.ExtendedFlexView","IconButton","CaratLeftIcon","Separator","_","Styled.Indicator","CaratRightIcon","Carousel","memo","forwardRef"],"mappings":"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"}
@@ -1,67 +1,60 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { memo as x, useRef as D, useCallback as m, useMemo as V } from "react";
3
- import { LOTTIE as Y } from "../../../assets/lottie/lottie.js";
4
- import { JOURNEY_ID_STUDENT as E } from "../../journey/journey-id/journey-id-student.js";
5
- import { useJourney as g } from "../../journey/use-journey/use-journey.js";
6
- import { CircularLoader as B } from "../../ui/loader/circular-loader/circular-loader.js";
7
- import K from "../../ui/lottie-animation/lottie-animation.js";
8
- import { useCircleSounds as H } from "../hooks/use-circle-sounds/use-circle-sounds.js";
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { memo as O, useRef as g, useCallback as n, useMemo as h, useEffect as x } from "react";
3
+ import { LOTTIE as D } from "../../../assets/lottie/lottie.js";
4
+ import { JOURNEY_ID_STUDENT as z } from "../../journey/journey-id/journey-id-student.js";
5
+ import { useJourney as U } from "../../journey/use-journey/use-journey.js";
6
+ import { CircularLoader as Y } from "../../ui/loader/circular-loader/circular-loader.js";
7
+ import B from "../../ui/lottie-animation/lottie-animation.js";
8
+ import { useCircleSounds as K } from "../hooks/use-circle-sounds/use-circle-sounds.js";
9
9
  import { CircleSoundKey as u } from "../hooks/use-circle-sounds/use-circle-sounds-enums.js";
10
- import { GAME_LAUNCHER_SIZE as Z } from "./comps/card-container/constants.js";
11
- import { Carousel as z } from "./comps/carousel/carousel.js";
12
- import { GAME_LAUNCHER_ASSET_PADDING as j } from "./comps/segmented-game-card/constants.js";
13
- import { SegmentedGameCard as a } from "./comps/segmented-game-card/segmented-game-card.js";
10
+ import { GAME_LAUNCHER_SIZE as H } from "./comps/card-container/constants.js";
11
+ import { Carousel as G } from "./comps/carousel/carousel.js";
12
+ import { GAME_LAUNCHER_ASSET_PADDING as Z } from "./comps/segmented-game-card/constants.js";
13
+ import { SegmentedGameCard as E } from "./comps/segmented-game-card/segmented-game-card.js";
14
14
  import { TablesCard as w } from "./comps/tables-card/tables-card.js";
15
- import { GAME_LAUNCHER_ANALYTICS_EVENTS as G } from "./game-launcher-analytics-events.js";
15
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as V } from "./game-launcher-analytics-events.js";
16
16
  import { useGameLauncherJourney as X } from "./hooks/use-game-launcher-journey/use-game-launcher-journey.js";
17
17
  import { useTableLauncherJourney as q } from "./hooks/use-table-launcher-journey/use-table-launcher-journey.js";
18
18
  import { ProjectType as f } from "../games/web-view/enums/project-type-enum.js";
19
- const S = Z + j, pe = x(
20
- ({
21
- onSegmentClick: l,
22
- data: e,
23
- isLoading: c,
24
- isTutorialOnboardingDone: C,
25
- eligibleJourneyIds: i,
26
- defaultIndex: M = 0
27
- }) => {
28
- const t = D(null), { isJourneyActive: _ } = g(), { playSwipSound: L, play: o } = H(), p = m(
29
- (r) => {
30
- o(u.GAME_CARD_CLICK), l(r, f.TABLE);
19
+ const S = H + Z, pe = O(
20
+ ({ onSegmentClick: r, journeyId: m, data: e, isLoading: p, isTutorialOnboardingDone: a, defaultIndex: J = 0 }) => {
21
+ const t = g(null), { isJourneyActive: C } = U(), { playSwipSound: L, play: o } = K(), c = n(
22
+ (l) => {
23
+ o(u.GAME_CARD_CLICK), r(l, f.TABLE);
31
24
  },
32
- [l, o]
33
- ), A = m(
34
- (r) => {
35
- r.status !== "completed" && (o(u.GAME_CARD_CLICK), l(r, f.LESSON));
25
+ [r, o]
26
+ ), _ = n(
27
+ (l) => {
28
+ l.status !== "completed" && (o(u.GAME_CARD_CLICK), r(l, f.LESSON));
36
29
  },
37
- [l, o]
38
- ), T = m(
39
- (r) => {
40
- o(u.GAME_CARD_CLICK), l(r, f.GAME);
30
+ [r, o]
31
+ ), A = n(
32
+ (l) => {
33
+ o(u.GAME_CARD_CLICK), r(l, f.GAME);
41
34
  },
42
- [l, o]
43
- ), R = m(
44
- (r) => {
45
- o(u.GAME_CARD_CLICK), l(r, f.PUZZLE);
35
+ [r, o]
36
+ ), b = n(
37
+ (l) => {
38
+ o(u.GAME_CARD_CLICK), r(l, f.PUZZLE);
46
39
  },
47
- [l, o]
40
+ [r, o]
48
41
  ), {
49
- gameRefs: I,
42
+ gameRefs: T,
50
43
  lessonRefs: y,
51
- puzzleRefs: b,
52
- startJourney: N
44
+ puzzleRefs: R,
45
+ startJourney: I
53
46
  } = X({
54
47
  carouselRefs: t,
55
- onSegmentClick: l
56
- }), { startJourney: P, tableRef: h } = q({
48
+ onSegmentClick: r
49
+ }), { startJourney: P, tableRef: N } = q({
57
50
  carouselRefs: t,
58
- onTableSegmentClick: p
59
- }), O = V(() => {
60
- let r = [];
61
- return e && (e.lessons && (r = [
62
- ...r,
63
- /* @__PURE__ */ n(
64
- a,
51
+ onTableSegmentClick: c
52
+ }), M = h(() => {
53
+ let l = [];
54
+ return e && (e.lessons && (l = [
55
+ ...l,
56
+ /* @__PURE__ */ i(
57
+ E,
65
58
  {
66
59
  ref: y,
67
60
  label: e.lessons.label,
@@ -72,16 +65,16 @@ const S = Z + j, pe = x(
72
65
  card: s.cardLottie,
73
66
  name: s.name,
74
67
  isCompleted: s.status === "completed",
75
- onPress: () => A(s)
68
+ onPress: () => _(s)
76
69
  }))
77
70
  }
78
71
  )
79
- ]), r = [
80
- ...r,
81
- /* @__PURE__ */ n(
82
- a,
72
+ ]), l = [
73
+ ...l,
74
+ /* @__PURE__ */ i(
75
+ E,
83
76
  {
84
- ref: I,
77
+ ref: T,
85
78
  label: e.games.label,
86
79
  value: e.games.data.filter((s) => s.isPlayed).length,
87
80
  maxValue: e.games.data.length,
@@ -90,14 +83,14 @@ const S = Z + j, pe = x(
90
83
  card: s.cardLottie,
91
84
  name: s.name,
92
85
  isCompleted: !1,
93
- onPress: () => T(s)
86
+ onPress: () => A(s)
94
87
  }))
95
88
  }
96
89
  ),
97
- /* @__PURE__ */ n(
98
- a,
90
+ /* @__PURE__ */ i(
91
+ E,
99
92
  {
100
- ref: b,
93
+ ref: R,
101
94
  label: e.puzzles.label,
102
95
  value: e.puzzles.data.filter((s) => s.solved).length,
103
96
  maxValue: e.puzzles.data.length,
@@ -106,88 +99,79 @@ const S = Z + j, pe = x(
106
99
  card: s.cardLottie,
107
100
  name: s.name,
108
101
  isCompleted: s.solved,
109
- onPress: () => R(s)
102
+ onPress: () => b(s)
110
103
  }))
111
104
  }
112
105
  )
113
- ], e.tables && (r = [
114
- ...r,
115
- /* @__PURE__ */ n(
106
+ ], e.tables && (l = [
107
+ ...l,
108
+ /* @__PURE__ */ i(
116
109
  w,
117
110
  {
118
- ref: h,
111
+ ref: N,
119
112
  label: e.tables.label,
120
113
  data: e.tables.data,
121
- onPress: p,
114
+ onPress: c,
122
115
  openModesOfTable: e.tables.openModesOfTable
123
116
  }
124
117
  )
125
- ])), r;
118
+ ])), l;
126
119
  }, [
127
120
  e,
128
- I,
129
- b,
130
- y,
131
- A,
132
121
  T,
133
122
  R,
134
- h,
135
- p
136
- ]), v = V(
123
+ y,
124
+ _,
125
+ A,
126
+ b,
127
+ N,
128
+ c
129
+ ]), v = h(
137
130
  () => [
138
- /* @__PURE__ */ n(
139
- K,
131
+ /* @__PURE__ */ i(
132
+ B,
140
133
  {
141
- src: Y.SLEEPY_BOI,
134
+ src: D.SLEEPY_BOI,
142
135
  width: S,
143
136
  height: S
144
137
  }
145
138
  )
146
139
  ],
147
140
  []
148
- ), J = m(() => {
149
- var s;
150
- const r = (s = t.current) == null ? void 0 : s.indicatorRefs.every(
151
- (U) => U.current !== null
152
- );
153
- if (!(c || !e || _ || !r || i.length === 0)) {
154
- if (e != null && e.puzzles && i.includes(E.CIRCLE_ACTIVITIES_INTRO_JOURNEY)) {
155
- N(
156
- e == null ? void 0 : e.puzzles,
157
- !!(e != null && e.lessons),
158
- E.CIRCLE_ACTIVITIES_INTRO_JOURNEY
159
- );
141
+ );
142
+ return x(() => {
143
+ if (!(p || !e || C)) {
144
+ if (e != null && e.puzzles && m === z.CIRCLE_ACTIVITIES_INTRO_JOURNEY) {
145
+ I(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), m);
160
146
  return;
161
147
  }
162
- e != null && e.tables && i.includes(E.CIRCLE_TABLES_INTRO_JOURNEY) && P(e == null ? void 0 : e.tables, C);
148
+ e != null && e.tables && m === z.CIRCLE_TABLES_INTRO_JOURNEY && P(e == null ? void 0 : e.tables, a);
163
149
  }
164
150
  }, [
165
151
  e,
166
- i,
167
- _,
168
- c,
169
152
  C,
170
- N,
153
+ p,
154
+ a,
155
+ m,
156
+ I,
171
157
  P
172
- ]);
173
- return c ? /* @__PURE__ */ n(B, {}) : e ? /* @__PURE__ */ n(
174
- z,
158
+ ]), p ? /* @__PURE__ */ i(Y, {}) : e ? /* @__PURE__ */ i(
159
+ G,
175
160
  {
176
161
  ref: t,
177
- items: O,
178
- defaultIndex: M,
162
+ items: M,
163
+ defaultIndex: J,
179
164
  onNext: L,
180
165
  onPrev: L,
181
- onItemsRendered: J,
182
166
  analyticsNext: {
183
- analyticsLabel: G.NEXT_ACTIVITY
167
+ analyticsLabel: V.NEXT_ACTIVITY
184
168
  },
185
169
  analyticsPrev: {
186
- analyticsLabel: G.PREV_ACTIVITY
170
+ analyticsLabel: V.PREV_ACTIVITY
187
171
  }
188
172
  }
189
- ) : /* @__PURE__ */ n(
190
- z,
173
+ ) : /* @__PURE__ */ i(
174
+ G,
191
175
  {
192
176
  ref: t,
193
177
  items: v,
@@ -1 +1 @@
1
- {"version":3,"file":"game-launcher.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher.tsx"],"sourcesContent":["import type { ICarouselRefs } from './comps/carousel/carousel-types';\nimport type { ITableDetails } from './comps/tables-card/tables-card-types';\nimport type {\n Game,\n Lesson,\n Puzzle,\n} from './dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IGameLauncherProps } from './game-launcher-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { memo, useCallback, useMemo, useRef } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { JOURNEY_ID_STUDENT } from '../../journey/journey-id/journey-id-student';\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport { ProjectType } from '../games/web-view/enums';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { GAME_LAUNCHER_SIZE } from './comps/card-container/constants';\nimport { Carousel } from './comps/carousel/carousel';\nimport { GAME_LAUNCHER_ASSET_PADDING } from './comps/segmented-game-card/constants';\nimport { SegmentedGameCard } from './comps/segmented-game-card/segmented-game-card';\nimport { TablesCard } from './comps/tables-card/tables-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from './game-launcher-analytics-events';\nimport { useGameLauncherJourney } from './hooks/use-game-launcher-journey/use-game-launcher-journey';\nimport { useTableLauncherJourney } from './hooks/use-table-launcher-journey/use-table-launcher-journey';\n\nconst sleepyBoiDimension = GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING;\n\nexport const GameLauncher: FC<IGameLauncherProps> = memo(\n ({\n onSegmentClick,\n data,\n isLoading,\n isTutorialOnboardingDone,\n eligibleJourneyIds,\n defaultIndex = 0,\n }) => {\n const carouselRefs = useRef<ICarouselRefs>(null);\n\n const { isJourneyActive } = useJourney();\n\n const { playSwipSound, play } = useCircleSounds();\n\n const onTableSegmentClick = useCallback(\n (table: ITableDetails) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(table, ProjectType.TABLE);\n },\n [onSegmentClick, play],\n );\n\n const handleLessonSegmentClick = useCallback(\n (lesson: Lesson) => {\n if (lesson.status !== 'completed') {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(lesson, ProjectType.LESSON);\n }\n },\n [onSegmentClick, play],\n );\n\n const handleGameSegmentClick = useCallback(\n (game: Game) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(game, ProjectType.GAME);\n },\n [onSegmentClick, play],\n );\n\n const handlePuzzleSegmentClick = useCallback(\n (puzzle: Puzzle) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(puzzle, ProjectType.PUZZLE);\n },\n [onSegmentClick, play],\n );\n\n const {\n gameRefs,\n lessonRefs,\n puzzleRefs,\n startJourney: startLessonPuzzleGamesJourney,\n } = useGameLauncherJourney({\n carouselRefs,\n onSegmentClick,\n });\n\n const { startJourney: startTablesJourney, tableRef } = useTableLauncherJourney({\n carouselRefs,\n onTableSegmentClick,\n });\n\n const items = useMemo(() => {\n let itemTypes: ReactNode[] = [];\n\n if (data) {\n if (data.lessons) {\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={lessonRefs}\n label={data.lessons.label}\n value={data.lessons.data.filter(lesson => lesson.status === 'completed').length}\n maxValue={data.lessons.data.length}\n initialValue={data.lessons.initialProgressValue}\n data={data?.lessons.data.map(lesson => ({\n card: lesson.cardLottie,\n name: lesson.name,\n isCompleted: lesson.status === 'completed',\n onPress: () => handleLessonSegmentClick(lesson),\n }))}\n />,\n ];\n }\n\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={gameRefs}\n label={data.games.label}\n value={data.games.data.filter(game => game.isPlayed).length}\n maxValue={data.games.data.length}\n initialValue={data.games.initialProgressValue}\n data={data.games.data.map(game => ({\n card: game.cardLottie,\n name: game.name,\n isCompleted: false,\n onPress: () => handleGameSegmentClick(game),\n }))}\n />,\n <SegmentedGameCard\n ref={puzzleRefs}\n label={data.puzzles.label}\n value={data.puzzles.data.filter(puzzle => puzzle.solved).length}\n maxValue={data.puzzles.data.length}\n initialValue={data.puzzles.initialProgressValue}\n data={data.puzzles.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: puzzle.name,\n isCompleted: puzzle.solved,\n onPress: () => handlePuzzleSegmentClick(puzzle),\n }))}\n />,\n ];\n\n if (data.tables) {\n itemTypes = [\n ...itemTypes,\n <TablesCard\n ref={tableRef}\n label={data.tables.label}\n data={data.tables.data}\n onPress={onTableSegmentClick}\n openModesOfTable={data.tables.openModesOfTable}\n />,\n ];\n }\n }\n\n return itemTypes;\n }, [\n data,\n gameRefs,\n puzzleRefs,\n lessonRefs,\n handleLessonSegmentClick,\n handleGameSegmentClick,\n handlePuzzleSegmentClick,\n tableRef,\n onTableSegmentClick,\n ]);\n\n const sleepyBoiItem = useMemo(\n () => [\n <LottieAnimation\n src={LOTTIE.SLEEPY_BOI}\n width={sleepyBoiDimension}\n height={sleepyBoiDimension}\n />,\n ],\n [],\n );\n\n // Start game launcher journey only when isLoading has become false and data is available\n const startJourneys = useCallback(() => {\n const areAllRefsMounted = carouselRefs.current?.indicatorRefs.every(\n ref => ref.current !== null,\n );\n\n if (\n isLoading ||\n !data ||\n isJourneyActive ||\n !areAllRefsMounted ||\n eligibleJourneyIds.length === 0\n ) {\n return;\n }\n\n if (\n data?.puzzles &&\n eligibleJourneyIds.includes(JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY)\n ) {\n startLessonPuzzleGamesJourney(\n data?.puzzles,\n !!data?.lessons,\n JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY,\n );\n\n return; // CIRCLE_ACTIVITIES_INTRO_JOURNEY has higher priority\n }\n\n if (\n data?.tables &&\n eligibleJourneyIds.includes(JOURNEY_ID_STUDENT.CIRCLE_TABLES_INTRO_JOURNEY)\n ) {\n startTablesJourney(data?.tables, isTutorialOnboardingDone);\n }\n }, [\n data,\n eligibleJourneyIds,\n isJourneyActive,\n isLoading,\n isTutorialOnboardingDone,\n startLessonPuzzleGamesJourney,\n startTablesJourney,\n ]);\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (!data) {\n return (\n <Carousel\n ref={carouselRefs}\n items={sleepyBoiItem}\n analyticsNext={{\n analyticsLabel: '',\n }}\n analyticsPrev={{\n analyticsLabel: '',\n }}\n />\n );\n }\n\n return (\n <Carousel\n ref={carouselRefs}\n items={items}\n defaultIndex={defaultIndex}\n onNext={playSwipSound}\n onPrev={playSwipSound}\n onItemsRendered={startJourneys}\n analyticsNext={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY,\n }}\n analyticsPrev={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY,\n }}\n />\n );\n },\n);\n"],"names":["sleepyBoiDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GameLauncher","memo","onSegmentClick","data","isLoading","isTutorialOnboardingDone","eligibleJourneyIds","defaultIndex","carouselRefs","useRef","isJourneyActive","useJourney","playSwipSound","play","useCircleSounds","onTableSegmentClick","useCallback","table","CircleSoundKey","ProjectType","handleLessonSegmentClick","lesson","handleGameSegmentClick","game","handlePuzzleSegmentClick","puzzle","gameRefs","lessonRefs","puzzleRefs","startLessonPuzzleGamesJourney","useGameLauncherJourney","startTablesJourney","tableRef","useTableLauncherJourney","items","useMemo","itemTypes","jsx","SegmentedGameCard","TablesCard","sleepyBoiItem","LottieAnimation","LOTTIE","startJourneys","areAllRefsMounted","_a","ref","JOURNEY_ID_STUDENT","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,MAAMA,IAAqBC,IAAqBC,GAEnCC,KAAuCC;AAAA,EAClD,CAAC;AAAA,IACC,gBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,WAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,EAAA,MACX;AACE,UAAAC,IAAeC,EAAsB,IAAI,GAEzC,EAAE,iBAAAC,MAAoBC,KAEtB,EAAE,eAAAC,GAAe,MAAAC,EAAK,IAAIC,EAAgB,GAE1CC,IAAsBC;AAAA,MAC1B,CAACC,MAAyB;AACxB,QAAAJ,EAAKK,EAAe,eAAe,GACpBhB,EAAAe,GAAOE,EAAY,KAAK;AAAA,MACzC;AAAA,MACA,CAACjB,GAAgBW,CAAI;AAAA,IAAA,GAGjBO,IAA2BJ;AAAA,MAC/B,CAACK,MAAmB;AACd,QAAAA,EAAO,WAAW,gBACpBR,EAAKK,EAAe,eAAe,GACpBhB,EAAAmB,GAAQF,EAAY,MAAM;AAAA,MAE7C;AAAA,MACA,CAACjB,GAAgBW,CAAI;AAAA,IAAA,GAGjBS,IAAyBN;AAAA,MAC7B,CAACO,MAAe;AACd,QAAAV,EAAKK,EAAe,eAAe,GACpBhB,EAAAqB,GAAMJ,EAAY,IAAI;AAAA,MACvC;AAAA,MACA,CAACjB,GAAgBW,CAAI;AAAA,IAAA,GAGjBW,IAA2BR;AAAA,MAC/B,CAACS,MAAmB;AAClB,QAAAZ,EAAKK,EAAe,eAAe,GACpBhB,EAAAuB,GAAQN,EAAY,MAAM;AAAA,MAC3C;AAAA,MACA,CAACjB,GAAgBW,CAAI;AAAA,IAAA,GAGjB;AAAA,MACJ,UAAAa;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAcC;AAAA,QACZC,EAAuB;AAAA,MACzB,cAAAtB;AAAA,MACA,gBAAAN;AAAA,IAAA,CACD,GAEK,EAAE,cAAc6B,GAAoB,UAAAC,EAAA,IAAaC,EAAwB;AAAA,MAC7E,cAAAzB;AAAA,MACA,qBAAAO;AAAA,IAAA,CACD,GAEKmB,IAAQC,EAAQ,MAAM;AAC1B,UAAIC,IAAyB,CAAA;AAE7B,aAAIjC,MACEA,EAAK,YACKiC,IAAA;AAAA,QACV,GAAGA;AAAA,QACH,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKX;AAAA,YACL,OAAOxB,EAAK,QAAQ;AAAA,YACpB,OAAOA,EAAK,QAAQ,KAAK,OAAO,CAAUkB,MAAAA,EAAO,WAAW,WAAW,EAAE;AAAA,YACzE,UAAUlB,EAAK,QAAQ,KAAK;AAAA,YAC5B,cAAcA,EAAK,QAAQ;AAAA,YAC3B,MAAMA,KAAA,gBAAAA,EAAM,QAAQ,KAAK,IAAI,CAAWkB,OAAA;AAAA,cACtC,MAAMA,EAAO;AAAA,cACb,MAAMA,EAAO;AAAA,cACb,aAAaA,EAAO,WAAW;AAAA,cAC/B,SAAS,MAAMD,EAAyBC,CAAM;AAAA,YAAA;AAAA,UAC9C;AAAA,QACJ;AAAA,MAAA,IAIQe,IAAA;AAAA,QACV,GAAGA;AAAA,QACH,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKZ;AAAA,YACL,OAAOvB,EAAK,MAAM;AAAA,YAClB,OAAOA,EAAK,MAAM,KAAK,OAAO,CAAQoB,MAAAA,EAAK,QAAQ,EAAE;AAAA,YACrD,UAAUpB,EAAK,MAAM,KAAK;AAAA,YAC1B,cAAcA,EAAK,MAAM;AAAA,YACzB,MAAMA,EAAK,MAAM,KAAK,IAAI,CAASoB,OAAA;AAAA,cACjC,MAAMA,EAAK;AAAA,cACX,MAAMA,EAAK;AAAA,cACX,aAAa;AAAA,cACb,SAAS,MAAMD,EAAuBC,CAAI;AAAA,YAAA,EAC1C;AAAA,UAAA;AAAA,QACJ;AAAA,QACA,gBAAAc;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKV;AAAA,YACL,OAAOzB,EAAK,QAAQ;AAAA,YACpB,OAAOA,EAAK,QAAQ,KAAK,OAAO,CAAUsB,MAAAA,EAAO,MAAM,EAAE;AAAA,YACzD,UAAUtB,EAAK,QAAQ,KAAK;AAAA,YAC5B,cAAcA,EAAK,QAAQ;AAAA,YAC3B,MAAMA,EAAK,QAAQ,KAAK,IAAI,CAAWsB,OAAA;AAAA,cACrC,MAAMA,EAAO;AAAA,cACb,MAAMA,EAAO;AAAA,cACb,aAAaA,EAAO;AAAA,cACpB,SAAS,MAAMD,EAAyBC,CAAM;AAAA,YAAA,EAC9C;AAAA,UAAA;AAAA,QACJ;AAAA,MAAA,GAGEtB,EAAK,WACKiC,IAAA;AAAA,QACV,GAAGA;AAAA,QACH,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,KAAKP;AAAA,YACL,OAAO7B,EAAK,OAAO;AAAA,YACnB,MAAMA,EAAK,OAAO;AAAA,YAClB,SAASY;AAAA,YACT,kBAAkBZ,EAAK,OAAO;AAAA,UAAA;AAAA,QAChC;AAAA,MAAA,KAKCiC;AAAA,IAAA,GACN;AAAA,MACDjC;AAAA,MACAuB;AAAA,MACAE;AAAA,MACAD;AAAA,MACAP;AAAA,MACAE;AAAA,MACAE;AAAA,MACAQ;AAAA,MACAjB;AAAA,IAAA,CACD,GAEKyB,IAAgBL;AAAA,MACpB,MAAM;AAAA,QACJ,gBAAAE;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,KAAKC,EAAO;AAAA,YACZ,OAAO7C;AAAA,YACP,QAAQA;AAAA,UAAA;AAAA,QACV;AAAA,MACF;AAAA,MACA,CAAC;AAAA,IAAA,GAIG8C,IAAgB3B,EAAY,MAAM;;AAChC,YAAA4B,KAAoBC,IAAArC,EAAa,YAAb,gBAAAqC,EAAsB,cAAc;AAAA,QAC5D,CAAAC,MAAOA,EAAI,YAAY;AAAA;AAIvB,UAAA,EAAA1C,KACA,CAACD,KACDO,KACA,CAACkC,KACDtC,EAAmB,WAAW,IAKhC;AAAA,YACEH,KAAA,QAAAA,EAAM,WACNG,EAAmB,SAASyC,EAAmB,+BAA+B,GAC9E;AACA,UAAAlB;AAAA,YACE1B,KAAA,gBAAAA,EAAM;AAAA,YACN,CAAC,EAACA,KAAA,QAAAA,EAAM;AAAA,YACR4C,EAAmB;AAAA,UAAA;AAGrB;AAAA,QACF;AAEA,QACE5C,KAAA,QAAAA,EAAM,UACNG,EAAmB,SAASyC,EAAmB,2BAA2B,KAEvDhB,EAAA5B,KAAA,gBAAAA,EAAM,QAAQE,CAAwB;AAAA;AAAA,IAC3D,GACC;AAAA,MACDF;AAAA,MACAG;AAAA,MACAI;AAAA,MACAN;AAAA,MACAC;AAAA,MACAwB;AAAA,MACAE;AAAA,IAAA,CACD;AAED,WAAI3B,sBACM4C,GAAe,CAAA,CAAA,IAGpB7C,IAgBH,gBAAAkC;AAAA,MAACY;AAAA,MAAA;AAAA,QACC,KAAKzC;AAAA,QACL,OAAA0B;AAAA,QACA,cAAA3B;AAAA,QACA,QAAQK;AAAA,QACR,QAAQA;AAAA,QACR,iBAAiB+B;AAAA,QACjB,eAAe;AAAA,UACb,gBAAgBO,EAA+B;AAAA,QACjD;AAAA,QACA,eAAe;AAAA,UACb,gBAAgBA,EAA+B;AAAA,QACjD;AAAA,MAAA;AAAA,IAAA,IA1BA,gBAAAb;AAAA,MAACY;AAAA,MAAA;AAAA,QACC,KAAKzC;AAAA,QACL,OAAOgC;AAAA,QACP,eAAe;AAAA,UACb,gBAAgB;AAAA,QAClB;AAAA,QACA,eAAe;AAAA,UACb,gBAAgB;AAAA,QAClB;AAAA,MAAA;AAAA,IAAA;AAAA,EAqBR;AACF;"}
1
+ {"version":3,"file":"game-launcher.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher.tsx"],"sourcesContent":["import type { ICarouselRefs } from './comps/carousel/carousel-types';\nimport type { ITableDetails } from './comps/tables-card/tables-card-types';\nimport type {\n Game,\n Lesson,\n Puzzle,\n} from './dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IGameLauncherProps } from './game-launcher-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { JOURNEY_ID_STUDENT } from '../../journey/journey-id/journey-id-student';\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport { ProjectType } from '../games/web-view/enums';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { GAME_LAUNCHER_SIZE } from './comps/card-container/constants';\nimport { Carousel } from './comps/carousel/carousel';\nimport { GAME_LAUNCHER_ASSET_PADDING } from './comps/segmented-game-card/constants';\nimport { SegmentedGameCard } from './comps/segmented-game-card/segmented-game-card';\nimport { TablesCard } from './comps/tables-card/tables-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from './game-launcher-analytics-events';\nimport { useGameLauncherJourney } from './hooks/use-game-launcher-journey/use-game-launcher-journey';\nimport { useTableLauncherJourney } from './hooks/use-table-launcher-journey/use-table-launcher-journey';\n\nconst sleepyBoiDimension = GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING;\n\nexport const GameLauncher: FC<IGameLauncherProps> = memo(\n ({ onSegmentClick, journeyId, data, isLoading, isTutorialOnboardingDone, defaultIndex = 0 }) => {\n const carouselRefs = useRef<ICarouselRefs>(null);\n\n const { isJourneyActive } = useJourney();\n\n const { playSwipSound, play } = useCircleSounds();\n\n const onTableSegmentClick = useCallback(\n (table: ITableDetails) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(table, ProjectType.TABLE);\n },\n [onSegmentClick, play],\n );\n\n const handleLessonSegmentClick = useCallback(\n (lesson: Lesson) => {\n if (lesson.status !== 'completed') {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(lesson, ProjectType.LESSON);\n }\n },\n [onSegmentClick, play],\n );\n\n const handleGameSegmentClick = useCallback(\n (game: Game) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(game, ProjectType.GAME);\n },\n [onSegmentClick, play],\n );\n\n const handlePuzzleSegmentClick = useCallback(\n (puzzle: Puzzle) => {\n play(CircleSoundKey.GAME_CARD_CLICK);\n onSegmentClick(puzzle, ProjectType.PUZZLE);\n },\n [onSegmentClick, play],\n );\n\n const {\n gameRefs,\n lessonRefs,\n puzzleRefs,\n startJourney: startLessonPuzzleGamesJourney,\n } = useGameLauncherJourney({\n carouselRefs,\n onSegmentClick,\n });\n\n const { startJourney: startTablesJourney, tableRef } = useTableLauncherJourney({\n carouselRefs,\n onTableSegmentClick,\n });\n\n const items = useMemo(() => {\n let itemTypes: ReactNode[] = [];\n\n if (data) {\n if (data.lessons) {\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={lessonRefs}\n label={data.lessons.label}\n value={data.lessons.data.filter(lesson => lesson.status === 'completed').length}\n maxValue={data.lessons.data.length}\n initialValue={data.lessons.initialProgressValue}\n data={data?.lessons.data.map(lesson => ({\n card: lesson.cardLottie,\n name: lesson.name,\n isCompleted: lesson.status === 'completed',\n onPress: () => handleLessonSegmentClick(lesson),\n }))}\n />,\n ];\n }\n\n itemTypes = [\n ...itemTypes,\n <SegmentedGameCard\n ref={gameRefs}\n label={data.games.label}\n value={data.games.data.filter(game => game.isPlayed).length}\n maxValue={data.games.data.length}\n initialValue={data.games.initialProgressValue}\n data={data.games.data.map(game => ({\n card: game.cardLottie,\n name: game.name,\n isCompleted: false,\n onPress: () => handleGameSegmentClick(game),\n }))}\n />,\n <SegmentedGameCard\n ref={puzzleRefs}\n label={data.puzzles.label}\n value={data.puzzles.data.filter(puzzle => puzzle.solved).length}\n maxValue={data.puzzles.data.length}\n initialValue={data.puzzles.initialProgressValue}\n data={data.puzzles.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: puzzle.name,\n isCompleted: puzzle.solved,\n onPress: () => handlePuzzleSegmentClick(puzzle),\n }))}\n />,\n ];\n\n if (data.tables) {\n itemTypes = [\n ...itemTypes,\n <TablesCard\n ref={tableRef}\n label={data.tables.label}\n data={data.tables.data}\n onPress={onTableSegmentClick}\n openModesOfTable={data.tables.openModesOfTable}\n />,\n ];\n }\n }\n\n return itemTypes;\n }, [\n data,\n gameRefs,\n puzzleRefs,\n lessonRefs,\n handleLessonSegmentClick,\n handleGameSegmentClick,\n handlePuzzleSegmentClick,\n tableRef,\n onTableSegmentClick,\n ]);\n\n const sleepyBoiItem = useMemo(\n () => [\n <LottieAnimation\n src={LOTTIE.SLEEPY_BOI}\n width={sleepyBoiDimension}\n height={sleepyBoiDimension}\n />,\n ],\n [],\n );\n\n // Start game launcher journey only when isLoading has become false and data is available\n useEffect(() => {\n if (isLoading || !data || isJourneyActive) {\n return;\n }\n\n if (data?.puzzles && journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY) {\n startLessonPuzzleGamesJourney(data?.puzzles, !!data?.lessons, journeyId);\n\n return; // CIRCLE_ACTIVITIES_INTRO_JOURNEY has higher priority\n }\n\n if (data?.tables && journeyId === JOURNEY_ID_STUDENT.CIRCLE_TABLES_INTRO_JOURNEY) {\n startTablesJourney(data?.tables, isTutorialOnboardingDone);\n }\n }, [\n data,\n isJourneyActive,\n isLoading,\n isTutorialOnboardingDone,\n journeyId,\n startLessonPuzzleGamesJourney,\n startTablesJourney,\n ]);\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (!data) {\n return (\n <Carousel\n ref={carouselRefs}\n items={sleepyBoiItem}\n analyticsNext={{\n analyticsLabel: '',\n }}\n analyticsPrev={{\n analyticsLabel: '',\n }}\n />\n );\n }\n\n return (\n <Carousel\n ref={carouselRefs}\n items={items}\n defaultIndex={defaultIndex}\n onNext={playSwipSound}\n onPrev={playSwipSound}\n analyticsNext={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY,\n }}\n analyticsPrev={{\n analyticsLabel: GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY,\n }}\n />\n );\n },\n);\n"],"names":["sleepyBoiDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GameLauncher","memo","onSegmentClick","journeyId","data","isLoading","isTutorialOnboardingDone","defaultIndex","carouselRefs","useRef","isJourneyActive","useJourney","playSwipSound","play","useCircleSounds","onTableSegmentClick","useCallback","table","CircleSoundKey","ProjectType","handleLessonSegmentClick","lesson","handleGameSegmentClick","game","handlePuzzleSegmentClick","puzzle","gameRefs","lessonRefs","puzzleRefs","startLessonPuzzleGamesJourney","useGameLauncherJourney","startTablesJourney","tableRef","useTableLauncherJourney","items","useMemo","itemTypes","jsx","SegmentedGameCard","TablesCard","sleepyBoiItem","LottieAnimation","LOTTIE","useEffect","JOURNEY_ID_STUDENT","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1111,7 +1111,6 @@ declare interface IGameLauncherProps {
1111
1111
  defaultIndex?: number;
1112
1112
  journeyId?: TJourneyId;
1113
1113
  isTutorialOnboardingDone?: boolean;
1114
- eligibleJourneyIds: TJourneyId[];
1115
1114
  }
1116
1115
 
1117
1116
  declare interface IGetArrowTooltipConfig {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "2.8.62-rj-0.2",
3
+ "version": "2.8.62-rj-0.3",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"