@cuemath/leap 2.8.61-rj-19 → 2.8.61-rj-21

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,69 +1,70 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { memo as O, useRef as x, useCallback as m, useMemo as N, useEffect as D } from "react";
3
- import { LOTTIE as U } from "../../../assets/lottie/lottie.js";
4
- import { JOURNEY_ID_STUDENT as h } from "../../journey/journey-id/journey-id-student.js";
5
- import { CircularLoader as Y } from "../../ui/loader/circular-loader/circular-loader.js";
6
- import B from "../../ui/lottie-animation/lottie-animation.js";
7
- import { useCircleSounds as K } from "../hooks/use-circle-sounds/use-circle-sounds.js";
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { memo as x, useRef as D, useCallback as m, useMemo as h, useEffect as U } from "react";
3
+ import { LOTTIE as Y } from "../../../assets/lottie/lottie.js";
4
+ import { JOURNEY_ID_STUDENT as G } from "../../journey/journey-id/journey-id-student.js";
5
+ import { CircularLoader as B } from "../../ui/loader/circular-loader/circular-loader.js";
6
+ import K from "../../ui/lottie-animation/lottie-animation.js";
7
+ import { useCircleSounds as H } from "../hooks/use-circle-sounds/use-circle-sounds.js";
8
8
  import { CircleSoundKey as u } from "../hooks/use-circle-sounds/use-circle-sounds-enums.js";
9
- import { GAME_LAUNCHER_SIZE as H } from "./comps/card-container/constants.js";
10
- import { Carousel as G } from "./comps/carousel/carousel.js";
11
- import { GAME_LAUNCHER_ASSET_PADDING as Z } from "./comps/segmented-game-card/constants.js";
12
- import { SegmentedGameCard as a } from "./comps/segmented-game-card/segmented-game-card.js";
13
- import { TablesCard as w } from "./comps/tables-card/tables-card.js";
14
- import { GAME_LAUNCHER_ANALYTICS_EVENTS as z } from "./game-launcher-analytics-events.js";
15
- import { useGameLauncherJourney as X } from "./hooks/use-game-launcher-journey/use-game-launcher-journey.js";
16
- import { useTableLauncherJourney as q } from "./hooks/use-table-launcher-journey/use-table-launcher-journey.js";
9
+ import { GAME_LAUNCHER_SIZE as Z } from "./comps/card-container/constants.js";
10
+ import { Carousel as z } from "./comps/carousel/carousel.js";
11
+ import { GAME_LAUNCHER_ASSET_PADDING as w } from "./comps/segmented-game-card/constants.js";
12
+ import { SegmentedGameCard as p } from "./comps/segmented-game-card/segmented-game-card.js";
13
+ import { TablesCard as X } from "./comps/tables-card/tables-card.js";
14
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as V } from "./game-launcher-analytics-events.js";
15
+ import { useGameLauncherJourney as q } from "./hooks/use-game-launcher-journey/use-game-launcher-journey.js";
16
+ import { useTableLauncherJourney as F } from "./hooks/use-table-launcher-journey/use-table-launcher-journey.js";
17
17
  import { ProjectType as f } from "../games/web-view/enums/project-type-enum.js";
18
- const V = H + Z, fe = O(
18
+ const S = Z + w, ce = x(
19
19
  ({
20
- onSegmentClick: r,
20
+ onSegmentClick: l,
21
21
  journeyId: i,
22
- isError: S,
22
+ isError: g,
23
23
  data: e,
24
24
  isLoading: c,
25
25
  isTutorialOnboardingDone: E,
26
- defaultIndex: g = 0
26
+ defaultIndex: M = 0
27
27
  }) => {
28
- const t = x(null), { playSwipSound: C, play: o } = K(), p = m(
29
- (l) => {
30
- o(u.GAME_CARD_CLICK), r(l, f.TABLE);
28
+ var N;
29
+ const n = D(null), { playSwipSound: C, play: o } = H(), a = m(
30
+ (r) => {
31
+ o(u.GAME_CARD_CLICK), l(r, f.TABLE);
31
32
  },
32
- [r, o]
33
+ [l, o]
33
34
  ), L = m(
34
- (l) => {
35
- l.status !== "completed" && (o(u.GAME_CARD_CLICK), r(l, f.LESSON));
35
+ (r) => {
36
+ r.status !== "completed" && (o(u.GAME_CARD_CLICK), l(r, f.LESSON));
36
37
  },
37
- [r, o]
38
+ [l, o]
38
39
  ), _ = m(
39
- (l) => {
40
- o(u.GAME_CARD_CLICK), r(l, f.GAME);
40
+ (r) => {
41
+ o(u.GAME_CARD_CLICK), l(r, f.GAME);
41
42
  },
42
- [r, o]
43
+ [l, o]
43
44
  ), A = m(
44
- (l) => {
45
- o(u.GAME_CARD_CLICK), r(l, f.PUZZLE);
45
+ (r) => {
46
+ o(u.GAME_CARD_CLICK), l(r, f.PUZZLE);
46
47
  },
47
- [r, o]
48
+ [l, o]
48
49
  ), {
49
50
  gameRefs: b,
50
- lessonRefs: T,
51
- puzzleRefs: R,
51
+ lessonRefs: R,
52
+ puzzleRefs: T,
52
53
  startJourney: y
53
- } = X({
54
- carouselRefs: t,
55
- onSegmentClick: r
56
- }), { startJourney: I, tableRef: P } = q({
57
- carouselRefs: t,
58
- onTableSegmentClick: p
59
- }), M = N(() => {
60
- let l = [];
61
- return e && (e.lessons && (l = [
62
- ...l,
63
- /* @__PURE__ */ n(
64
- a,
54
+ } = q({
55
+ carouselRefs: n,
56
+ onSegmentClick: l
57
+ }), { startJourney: I, tableRef: P } = F({
58
+ carouselRefs: n,
59
+ onTableSegmentClick: a
60
+ }), J = h(() => {
61
+ let r = [];
62
+ return e && (e.lessons && (r = [
63
+ ...r,
64
+ /* @__PURE__ */ t(
65
+ p,
65
66
  {
66
- ref: T,
67
+ ref: R,
67
68
  label: e.lessons.label,
68
69
  value: e.lessons.data.filter((s) => s.status === "completed").length,
69
70
  maxValue: e.lessons.data.length,
@@ -76,10 +77,10 @@ const V = H + Z, fe = O(
76
77
  }))
77
78
  }
78
79
  )
79
- ]), l = [
80
- ...l,
81
- /* @__PURE__ */ n(
82
- a,
80
+ ]), r = [
81
+ ...r,
82
+ /* @__PURE__ */ t(
83
+ p,
83
84
  {
84
85
  ref: b,
85
86
  label: e.games.label,
@@ -94,10 +95,10 @@ const V = H + Z, fe = O(
94
95
  }))
95
96
  }
96
97
  ),
97
- /* @__PURE__ */ n(
98
- a,
98
+ /* @__PURE__ */ t(
99
+ p,
99
100
  {
100
- ref: R,
101
+ ref: T,
101
102
  label: e.puzzles.label,
102
103
  value: e.puzzles.data.filter((s) => s.solved).length,
103
104
  maxValue: e.puzzles.data.length,
@@ -110,67 +111,66 @@ const V = H + Z, fe = O(
110
111
  }))
111
112
  }
112
113
  )
113
- ], e.tables && (l = [
114
- ...l,
115
- /* @__PURE__ */ n(
116
- w,
114
+ ], e.tables && (r = [
115
+ ...r,
116
+ /* @__PURE__ */ t(
117
+ X,
117
118
  {
118
119
  ref: P,
119
120
  label: e.tables.label,
120
121
  data: e.tables.data,
121
- onPress: p,
122
+ onPress: a,
122
123
  openModesOfTable: e.tables.openModesOfTable
123
124
  }
124
125
  )
125
- ])), l;
126
+ ])), r;
126
127
  }, [
127
128
  e,
128
129
  b,
129
- R,
130
130
  T,
131
+ R,
131
132
  L,
132
133
  _,
133
134
  A,
134
135
  P,
135
- p
136
- ]), J = N(
136
+ a
137
+ ]), v = h(
137
138
  () => [
138
- /* @__PURE__ */ n(
139
- B,
139
+ /* @__PURE__ */ t(
140
+ K,
140
141
  {
141
- src: U.SLEEPY_BOI,
142
- width: V,
143
- height: V
142
+ src: Y.SLEEPY_BOI,
143
+ width: S,
144
+ height: S
144
145
  }
145
146
  )
146
147
  ],
147
148
  []
148
149
  );
149
- return D(() => {
150
+ return U(() => {
150
151
  var s;
151
- const l = (s = t.current) == null ? void 0 : s.indicatorRefs.every(
152
- (v) => v.current !== null
153
- );
154
- if (c || !e || !l) {
155
- console.log("Game Launcher", t.current);
152
+ const r = (((s = n.current) == null ? void 0 : s.indicatorRefs) || []).every((O) => O.current);
153
+ if (c || !e || !r) {
154
+ console.log("Game Launcher", n.current);
156
155
  return;
157
156
  }
158
- if (console.log("Start Journey", l, t.current), e != null && e.puzzles && i === h.CIRCLE_ACTIVITIES_INTRO_JOURNEY) {
157
+ if (console.log("Start Journey", r, n.current), e != null && e.puzzles && i === G.CIRCLE_ACTIVITIES_INTRO_JOURNEY) {
159
158
  y(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), i);
160
159
  return;
161
160
  }
162
- e != null && e.tables && i === h.CIRCLE_TABLES_INTRO_JOURNEY && I(e == null ? void 0 : e.tables, E);
161
+ e != null && e.tables && i === G.CIRCLE_TABLES_INTRO_JOURNEY && I(e == null ? void 0 : e.tables, E);
163
162
  }, [
164
163
  e,
165
164
  c,
166
165
  E,
167
166
  i,
168
167
  y,
169
- I
170
- ]), c ? /* @__PURE__ */ n(Y, {}) : S ? /* @__PURE__ */ n(
171
- G,
168
+ I,
169
+ (N = n.current) == null ? void 0 : N.indicatorRefs
170
+ ]), c ? /* @__PURE__ */ t(B, {}) : g ? /* @__PURE__ */ t(
171
+ z,
172
172
  {
173
- items: J,
173
+ items: v,
174
174
  analyticsNext: {
175
175
  analyticsLabel: ""
176
176
  },
@@ -178,25 +178,25 @@ const V = H + Z, fe = O(
178
178
  analyticsLabel: ""
179
179
  }
180
180
  }
181
- ) : /* @__PURE__ */ n(
182
- G,
181
+ ) : /* @__PURE__ */ t(
182
+ z,
183
183
  {
184
- ref: t,
185
- items: M,
186
- defaultIndex: g,
184
+ ref: n,
185
+ items: J,
186
+ defaultIndex: M,
187
187
  onNext: C,
188
188
  onPrev: C,
189
189
  analyticsNext: {
190
- analyticsLabel: z.NEXT_ACTIVITY
190
+ analyticsLabel: V.NEXT_ACTIVITY
191
191
  },
192
192
  analyticsPrev: {
193
- analyticsLabel: z.PREV_ACTIVITY
193
+ analyticsLabel: V.PREV_ACTIVITY
194
194
  }
195
195
  }
196
196
  );
197
197
  }
198
198
  );
199
199
  export {
200
- fe as GameLauncher
200
+ ce as GameLauncher
201
201
  };
202
202
  //# sourceMappingURL=game-launcher.js.map
@@ -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, useEffect, useMemo, useRef } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { JOURNEY_ID_STUDENT } from '../../journey/journey-id/journey-id-student';\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 journeyId,\n isError,\n data,\n isLoading,\n isTutorialOnboardingDone,\n defaultIndex = 0,\n }) => {\n const carouselRefs = useRef<ICarouselRefs>(null);\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 const areAllCarouselPaginationRefsRendered = carouselRefs.current?.indicatorRefs.every(\n ref => ref.current !== null,\n );\n\n if (isLoading || !data || !areAllCarouselPaginationRefsRendered) {\n console.log('Game Launcher', carouselRefs.current);\n\n return;\n }\n\n console.log('Start Journey', areAllCarouselPaginationRefsRendered, carouselRefs.current);\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 isLoading,\n isTutorialOnboardingDone,\n journeyId,\n startLessonPuzzleGamesJourney,\n startTablesJourney,\n ]);\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (isError) {\n return (\n <Carousel\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","isError","data","isLoading","isTutorialOnboardingDone","defaultIndex","carouselRefs","useRef","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","areAllCarouselPaginationRefsRendered","_a","ref","JOURNEY_ID_STUDENT","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}
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 { 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 journeyId,\n isError,\n data,\n isLoading,\n isTutorialOnboardingDone,\n defaultIndex = 0,\n }) => {\n const carouselRefs = useRef<ICarouselRefs>(null);\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 const areAllCarouselPaginationRefsRendered = (\n carouselRefs.current?.indicatorRefs || []\n ).every(ref => ref.current);\n\n if (isLoading || !data || !areAllCarouselPaginationRefsRendered) {\n console.log('Game Launcher', carouselRefs.current);\n\n return;\n }\n\n console.log('Start Journey', areAllCarouselPaginationRefsRendered, carouselRefs.current);\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 isLoading,\n isTutorialOnboardingDone,\n journeyId,\n startLessonPuzzleGamesJourney,\n startTablesJourney,\n carouselRefs.current?.indicatorRefs,\n ]);\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (isError) {\n return (\n <Carousel\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","isError","data","isLoading","isTutorialOnboardingDone","defaultIndex","carouselRefs","useRef","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","areAllCarouselPaginationRefsRendered","_a","ref","JOURNEY_ID_STUDENT","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "2.8.61-rj-19",
3
+ "version": "2.8.61-rj-21",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"