@cuemath/leap 2.8.37-rj-2 → 2.8.37

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.
Files changed (70) hide show
  1. package/dist/assets/lottie/lottie.js +0 -4
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js +11 -20
  4. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js +47 -53
  6. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  7. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +212 -235
  8. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  9. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +11 -12
  10. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  11. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js +7 -8
  12. package/dist/features/circle-games/game-launcher/game-launcher-analytics-events.js.map +1 -1
  13. package/dist/features/circle-games/game-launcher/game-launcher.js +71 -81
  14. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  15. package/dist/features/circle-games/game-launcher/use-game-launcher-journey/constants.js +7 -0
  16. package/dist/features/circle-games/game-launcher/use-game-launcher-journey/constants.js.map +1 -0
  17. package/dist/features/circle-games/game-launcher/use-game-launcher-journey/use-game-launcher-journey.js +213 -0
  18. package/dist/features/circle-games/game-launcher/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -0
  19. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  20. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  21. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  22. package/dist/features/post-game-stats/enums/post-game-stats-enum.js +1 -1
  23. package/dist/features/post-game-stats/enums/post-game-stats-enum.js.map +1 -1
  24. package/dist/features/post-game-stats/points/points.js +10 -15
  25. package/dist/features/post-game-stats/points/points.js.map +1 -1
  26. package/dist/features/post-game-stats/post-game-stats.js +61 -83
  27. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  28. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +148 -142
  29. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  30. package/dist/index.d.ts +3 -35
  31. package/dist/index.js +67 -69
  32. package/dist/index.js.map +1 -1
  33. package/package.json +1 -1
  34. package/dist/assets/line-icons/icons/carat-left.js +0 -26
  35. package/dist/assets/line-icons/icons/carat-left.js.map +0 -1
  36. package/dist/assets/line-icons/icons/carat-right.js +0 -26
  37. package/dist/assets/line-icons/icons/carat-right.js.map +0 -1
  38. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/constants.js +0 -9
  39. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/constants.js.map +0 -1
  40. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +0 -217
  41. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +0 -1
  42. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/constants.js +0 -6
  43. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/constants.js.map +0 -1
  44. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey-styled.js +0 -13
  45. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey-styled.js.map +0 -1
  46. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +0 -197
  47. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +0 -1
  48. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js +0 -17
  49. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js.map +0 -1
  50. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +0 -47
  51. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +0 -1
  52. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js +0 -6
  53. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js.map +0 -1
  54. package/dist/features/post-game-stats/digital-meter/constants.js +0 -16
  55. package/dist/features/post-game-stats/digital-meter/constants.js.map +0 -1
  56. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +0 -87
  57. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +0 -1
  58. package/dist/features/post-game-stats/digital-meter/digital-meter.js +0 -154
  59. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +0 -1
  60. package/dist/features/post-game-stats/digital-meter/helper.js +0 -33
  61. package/dist/features/post-game-stats/digital-meter/helper.js.map +0 -1
  62. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js +0 -29
  63. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js.map +0 -1
  64. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js +0 -20
  65. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +0 -1
  66. package/dist/static/point2.7cec6e24.json +0 -1
  67. package/dist/static/point3.f96fe7aa.json +0 -1
  68. package/dist/static/point4.fe04fb83.json +0 -1
  69. package/dist/static/target-achieved-text.053bd142.json +0 -2830
  70. package/dist/static/target-achieved-text.10db8475.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-circle-home-details-dal.js","sources":["../../../../../../src/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.ts"],"sourcesContent":["import type {\n ICircleHomeDetails,\n TStreakStatus,\n TTableMode,\n} from './use-get-circle-home-dal-types';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { ProjectType } from '../../../games/web-view/enums';\nimport { useGetCircleHomeAPI } from '../../api/get-content-for-today/get-circle-home-api';\n\nexport const useGetCircleHomeDetailsDal = (\n userId: string,\n countryCode: string,\n grade: string,\n): Omit<ReturnType<typeof useGetCircleHomeAPI>, 'data' | 'get'> & {\n data: ICircleHomeDetails | null;\n getCircleHomeDetails: () => void;\n} => {\n const [contentForToday, setContentForToday] = useState<ICircleHomeDetails | null>(null);\n const { data, get: getHomeDetails, isProcessed, ...rest } = useGetCircleHomeAPI();\n\n const getCircleHomeDetails = useCallback(() => {\n getHomeDetails('', {\n user_id: userId,\n country_code: countryCode,\n grade: grade,\n });\n }, [getHomeDetails, userId, countryCode, grade]);\n\n useEffect(() => {\n let circleHomeDetails: ICircleHomeDetails | null = null;\n\n if (isProcessed && data) {\n circleHomeDetails = {\n points: data.points,\n streakDays: data.streak_days,\n streakStatus: data.streak_status as TStreakStatus,\n tournamentRank: data.tournament_rank,\n projects: {\n games: {\n label: data.projects.games.label,\n type: ProjectType.GAME,\n initialProgressValue: 0,\n data: data.projects.games.data.map(game => ({\n id: game.id,\n name: game.name,\n cardLottie: game.card,\n tutorial: game.tutorial,\n variant: game.variant,\n isPlayed: game.played,\n })),\n },\n puzzles: {\n label: data.projects.puzzles.label,\n type: ProjectType.PUZZLE,\n initialProgressValue: 0,\n data: data.projects.puzzles.data.map(puzzle => ({\n id: puzzle.id,\n name: puzzle.name,\n cardLottie: puzzle.card,\n tutorial: puzzle.tutorial,\n variant: puzzle.variant,\n question: puzzle.question,\n isHintSeen: puzzle.is_hint_seen,\n solved: puzzle.solved,\n })),\n },\n },\n timestamps: {\n startTimestamp: data.timestamps.start_timestamp,\n endTimestamp: data.timestamps.end_timestamp,\n current: data.timestamps.current,\n },\n coachmarkProgress: {\n CIRCLE_ACTIVITIES_INTRO_JOURNEY:\n data.coachmark_completion.CIRCLE_ACTIVITIES_INTRO_JOURNEY,\n CIRCLE_LEADERBOARD_INTRO_JOURNEY:\n data.coachmark_completion.CIRCLE_LEADERBOARD_INTRO_JOURNEY,\n CIRCLE_POINTS_REWARD_JOURNEY: data.coachmark_completion.CIRCLE_POINTS_REWARD_JOURNEY,\n CIRCLE_STREAK_UPDATE_JOURNEY: data.coachmark_completion.CIRCLE_STREAK_UPDATE_JOURNEY,\n CIRCLE_TUTORIAL_JOURNEY: data.coachmark_completion.CIRCLE_TUTORIAL_JOURNEY,\n CIRCLE_TABLES_INTRO_JOURNEY: data.coachmark_completion.CIRCLE_TABLES_INTRO_JOURNEY,\n },\n };\n\n if (data.projects.lessons) {\n circleHomeDetails.projects.lessons = {\n label: data.projects.lessons.label,\n type: ProjectType.LESSON,\n initialProgressValue: 0,\n data: data.projects.lessons.data.map(lesson => ({\n id: lesson.id,\n name: lesson.name,\n cardLottie: lesson.card,\n tutorial: lesson.tutorial,\n variant: lesson.variant,\n sessionId: lesson.session_id,\n miniGameIdentifier: lesson.mini_game_identifier,\n targetQuestions: lesson.target_questions,\n status: lesson.status,\n })),\n };\n }\n\n if (data.projects.tables) {\n circleHomeDetails.projects.tables = {\n label: data.projects.tables.label,\n type: ProjectType.LESSON,\n data: {\n infiniteModeHighScore: data.projects.tables.data.infinite_mode_high_score,\n tableList: data.projects.tables.data.table_wise_details.map(table => ({\n tableNumber: table.table_number,\n stars: table.stars as TTableMode[],\n })),\n },\n };\n }\n }\n setContentForToday(circleHomeDetails);\n }, [data, isProcessed]);\n\n return { data: contentForToday, isProcessed, getCircleHomeDetails, ...rest };\n};\n"],"names":["useGetCircleHomeDetailsDal","userId","countryCode","grade","contentForToday","setContentForToday","useState","data","getHomeDetails","isProcessed","rest","useGetCircleHomeAPI","getCircleHomeDetails","useCallback","useEffect","circleHomeDetails","ProjectType","game","puzzle","lesson","table"],"mappings":";;;AAWO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,MAIG;AACH,QAAM,CAACC,GAAiBC,CAAkB,IAAIC,EAAoC,IAAI,GAChF,EAAE,MAAAC,GAAM,KAAKC,GAAgB,aAAAC,GAAa,GAAGC,EAAA,IAASC,KAEtDC,IAAuBC,EAAY,MAAM;AAC7C,IAAAL,EAAe,IAAI;AAAA,MACjB,SAASP;AAAA,MACT,cAAcC;AAAA,MACd,OAAAC;AAAA,IAAA,CACD;AAAA,KACA,CAACK,GAAgBP,GAAQC,GAAaC,CAAK,CAAC;AAE/C,SAAAW,EAAU,MAAM;AACd,QAAIC,IAA+C;AAEnD,IAAIN,KAAeF,MACGQ,IAAA;AAAA,MAClB,QAAQR,EAAK;AAAA,MACb,YAAYA,EAAK;AAAA,MACjB,cAAcA,EAAK;AAAA,MACnB,gBAAgBA,EAAK;AAAA,MACrB,UAAU;AAAA,QACR,OAAO;AAAA,UACL,OAAOA,EAAK,SAAS,MAAM;AAAA,UAC3B,MAAMS,EAAY;AAAA,UAClB,sBAAsB;AAAA,UACtB,MAAMT,EAAK,SAAS,MAAM,KAAK,IAAI,CAASU,OAAA;AAAA,YAC1C,IAAIA,EAAK;AAAA,YACT,MAAMA,EAAK;AAAA,YACX,YAAYA,EAAK;AAAA,YACjB,UAAUA,EAAK;AAAA,YACf,SAASA,EAAK;AAAA,YACd,UAAUA,EAAK;AAAA,UAAA,EACf;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,UACP,OAAOV,EAAK,SAAS,QAAQ;AAAA,UAC7B,MAAMS,EAAY;AAAA,UAClB,sBAAsB;AAAA,UACtB,MAAMT,EAAK,SAAS,QAAQ,KAAK,IAAI,CAAWW,OAAA;AAAA,YAC9C,IAAIA,EAAO;AAAA,YACX,MAAMA,EAAO;AAAA,YACb,YAAYA,EAAO;AAAA,YACnB,UAAUA,EAAO;AAAA,YACjB,SAASA,EAAO;AAAA,YAChB,UAAUA,EAAO;AAAA,YACjB,YAAYA,EAAO;AAAA,YACnB,QAAQA,EAAO;AAAA,UAAA,EACf;AAAA,QACJ;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,gBAAgBX,EAAK,WAAW;AAAA,QAChC,cAAcA,EAAK,WAAW;AAAA,QAC9B,SAASA,EAAK,WAAW;AAAA,MAC3B;AAAA,MACA,mBAAmB;AAAA,QACjB,iCACEA,EAAK,qBAAqB;AAAA,QAC5B,kCACEA,EAAK,qBAAqB;AAAA,QAC5B,8BAA8BA,EAAK,qBAAqB;AAAA,QACxD,8BAA8BA,EAAK,qBAAqB;AAAA,QACxD,yBAAyBA,EAAK,qBAAqB;AAAA,QACnD,6BAA6BA,EAAK,qBAAqB;AAAA,MACzD;AAAA,IAAA,GAGEA,EAAK,SAAS,YAChBQ,EAAkB,SAAS,UAAU;AAAA,MACnC,OAAOR,EAAK,SAAS,QAAQ;AAAA,MAC7B,MAAMS,EAAY;AAAA,MAClB,sBAAsB;AAAA,MACtB,MAAMT,EAAK,SAAS,QAAQ,KAAK,IAAI,CAAWY,OAAA;AAAA,QAC9C,IAAIA,EAAO;AAAA,QACX,MAAMA,EAAO;AAAA,QACb,YAAYA,EAAO;AAAA,QACnB,UAAUA,EAAO;AAAA,QACjB,SAASA,EAAO;AAAA,QAChB,WAAWA,EAAO;AAAA,QAClB,oBAAoBA,EAAO;AAAA,QAC3B,iBAAiBA,EAAO;AAAA,QACxB,QAAQA,EAAO;AAAA,MAAA,EACf;AAAA,IAAA,IAIFZ,EAAK,SAAS,WAChBQ,EAAkB,SAAS,SAAS;AAAA,MAClC,OAAOR,EAAK,SAAS,OAAO;AAAA,MAC5B,MAAMS,EAAY;AAAA,MAClB,MAAM;AAAA,QACJ,uBAAuBT,EAAK,SAAS,OAAO,KAAK;AAAA,QACjD,WAAWA,EAAK,SAAS,OAAO,KAAK,mBAAmB,IAAI,CAAUa,OAAA;AAAA,UACpE,aAAaA,EAAM;AAAA,UACnB,OAAOA,EAAM;AAAA,QAAA,EACb;AAAA,MACJ;AAAA,IAAA,KAINf,EAAmBU,CAAiB;AAAA,EAAA,GACnC,CAACR,GAAME,CAAW,CAAC,GAEf,EAAE,MAAML,GAAiB,aAAAK,GAAa,sBAAAG,GAAsB,GAAGF;AACxE;"}
1
+ {"version":3,"file":"use-get-circle-home-details-dal.js","sources":["../../../../../../src/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.ts"],"sourcesContent":["import type {\n ICircleHomeDetails,\n TStreakStatus,\n TTableMode,\n} from './use-get-circle-home-dal-types';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { ProjectType } from '../../../games/web-view/enums';\nimport { useGetCircleHomeAPI } from '../../api/get-content-for-today/get-circle-home-api';\n\nexport const useGetCircleHomeDetailsDal = (\n userId: string,\n countryCode: string,\n grade: string,\n): Omit<ReturnType<typeof useGetCircleHomeAPI>, 'data' | 'get'> & {\n data: ICircleHomeDetails | null;\n getCircleHomeDetails: () => void;\n} => {\n const [contentForToday, setContentForToday] = useState<ICircleHomeDetails | null>(null);\n const { data, get: getHomeDetails, isProcessed, ...rest } = useGetCircleHomeAPI();\n\n const getCircleHomeDetails = useCallback(() => {\n getHomeDetails('', {\n user_id: userId,\n country_code: countryCode,\n grade: grade,\n });\n }, [getHomeDetails, userId, countryCode, grade]);\n\n useEffect(() => {\n let circleHomeDetails: ICircleHomeDetails | null = null;\n\n if (isProcessed && data) {\n circleHomeDetails = {\n points: data.points,\n streakDays: data.streak_days,\n streakStatus: data.streak_status as TStreakStatus,\n tournamentRank: data.tournament_rank,\n projects: {\n games: {\n label: data.projects.games.label,\n type: ProjectType.GAME,\n initialProgressValue: 0,\n data: data.projects.games.data.map(game => ({\n id: game.id,\n name: game.name,\n cardLottie: game.card,\n tutorial: game.tutorial,\n variant: game.variant,\n isPlayed: game.played,\n })),\n },\n puzzles: {\n label: data.projects.puzzles.label,\n type: ProjectType.PUZZLE,\n initialProgressValue: 0,\n data: data.projects.puzzles.data.map(puzzle => ({\n id: puzzle.id,\n name: puzzle.name,\n cardLottie: puzzle.card,\n tutorial: puzzle.tutorial,\n variant: puzzle.variant,\n question: puzzle.question,\n isHintSeen: puzzle.is_hint_seen,\n solved: puzzle.solved,\n })),\n },\n },\n timestamps: {\n startTimestamp: data.timestamps.start_timestamp,\n endTimestamp: data.timestamps.end_timestamp,\n current: data.timestamps.current,\n },\n coachmarkProgress: {\n CIRCLE_ACTIVITIES_INTRO_JOURNEY:\n data.coachmark_completion.CIRCLE_ACTIVITIES_INTRO_JOURNEY,\n CIRCLE_LEADERBOARD_INTRO_JOURNEY:\n data.coachmark_completion.CIRCLE_LEADERBOARD_INTRO_JOURNEY,\n CIRCLE_POINTS_REWARD_JOURNEY: data.coachmark_completion.CIRCLE_POINTS_REWARD_JOURNEY,\n CIRCLE_STREAK_UPDATE_JOURNEY: data.coachmark_completion.CIRCLE_STREAK_UPDATE_JOURNEY,\n CIRCLE_TUTORIAL_JOURNEY: data.coachmark_completion.CIRCLE_TUTORIAL_JOURNEY,\n },\n };\n\n if (data.projects.lessons) {\n circleHomeDetails.projects.lessons = {\n label: data.projects.lessons.label,\n type: ProjectType.LESSON,\n initialProgressValue: 0,\n data: data.projects.lessons.data.map(lesson => ({\n id: lesson.id,\n name: lesson.name,\n cardLottie: lesson.card,\n tutorial: lesson.tutorial,\n variant: lesson.variant,\n sessionId: lesson.session_id,\n miniGameIdentifier: lesson.mini_game_identifier,\n targetQuestions: lesson.target_questions,\n status: lesson.status,\n })),\n };\n }\n\n if (data.projects.tables) {\n circleHomeDetails.projects.tables = {\n label: data.projects.tables.label,\n type: ProjectType.LESSON,\n data: {\n infiniteModeHighScore: data.projects.tables.data.infinite_mode_high_score,\n tableList: data.projects.tables.data.table_wise_details.map(table => ({\n tableNumber: table.table_number,\n stars: table.stars as TTableMode[],\n })),\n },\n };\n }\n }\n setContentForToday(circleHomeDetails);\n }, [data, isProcessed]);\n\n return { data: contentForToday, isProcessed, getCircleHomeDetails, ...rest };\n};\n"],"names":["useGetCircleHomeDetailsDal","userId","countryCode","grade","contentForToday","setContentForToday","useState","data","getHomeDetails","isProcessed","rest","useGetCircleHomeAPI","getCircleHomeDetails","useCallback","useEffect","circleHomeDetails","ProjectType","game","puzzle","lesson","table"],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import { PLUGINS as e } from "../../../node_modules/@cuemath/analytics-v2/dist/constants.js";
2
- var i = /* @__PURE__ */ ((t) => (t.NEXT_ACTIVITY = "next_activity", t.PREV_ACTIVITY = "prev_activity", t.JOURNEY_NEXT_ACTIVITY = "journey_next_activity", t.TABLE_SELECTED = "table_selected", t))(i || {});
3
- const r = {
4
- next_activity: [e.MIXPANEL],
5
- prev_activity: [e.MIXPANEL],
6
- table_selected: [e.MIXPANEL]
1
+ import { PLUGINS as i } from "../../../node_modules/@cuemath/analytics-v2/dist/constants.js";
2
+ var I = /* @__PURE__ */ ((t) => (t.NEXT_ACTIVITY = "next_activity", t.PREV_ACTIVITY = "prev_activity", t.JOURNEY_NEXT_ACTIVITY = "journey_next_activity", t))(I || {});
3
+ const e = {
4
+ next_activity: [i.MIXPANEL],
5
+ prev_activity: [i.MIXPANEL]
7
6
  };
8
7
  export {
9
- i as GAME_LAUNCHER_ANALYTICS_EVENTS,
10
- r as GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS
8
+ I as GAME_LAUNCHER_ANALYTICS_EVENTS,
9
+ e as GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS
11
10
  };
12
11
  //# sourceMappingURL=game-launcher-analytics-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-launcher-analytics-events.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum GAME_LAUNCHER_ANALYTICS_EVENTS {\n NEXT_ACTIVITY = 'next_activity',\n PREV_ACTIVITY = 'prev_activity',\n JOURNEY_NEXT_ACTIVITY = 'journey_next_activity',\n TABLE_SELECTED = 'table_selected',\n}\n\nexport const GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS = {\n [GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY]: [PLUGINS.MIXPANEL],\n [GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY]: [PLUGINS.MIXPANEL],\n [GAME_LAUNCHER_ANALYTICS_EVENTS.TABLE_SELECTED]: [PLUGINS.MIXPANEL],\n};\n"],"names":["GAME_LAUNCHER_ANALYTICS_EVENTS","GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,gBAAgB,iBAChBA,EAAA,gBAAgB,iBAChBA,EAAA,wBAAwB,yBACxBA,EAAA,iBAAiB,kBAJPA,IAAAA,KAAA,CAAA,CAAA;AAOL,MAAMC,IAA2C;AAAA,EACrD,eAA+C,CAACC,EAAQ,QAAQ;AAAA,EAChE,eAA+C,CAACA,EAAQ,QAAQ;AAAA,EAChE,gBAAgD,CAACA,EAAQ,QAAQ;AACpE;"}
1
+ {"version":3,"file":"game-launcher-analytics-events.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum GAME_LAUNCHER_ANALYTICS_EVENTS {\n NEXT_ACTIVITY = 'next_activity',\n PREV_ACTIVITY = 'prev_activity',\n JOURNEY_NEXT_ACTIVITY = 'journey_next_activity',\n}\n\nexport const GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS = {\n [GAME_LAUNCHER_ANALYTICS_EVENTS.NEXT_ACTIVITY]: [PLUGINS.MIXPANEL],\n [GAME_LAUNCHER_ANALYTICS_EVENTS.PREV_ACTIVITY]: [PLUGINS.MIXPANEL],\n};\n"],"names":["GAME_LAUNCHER_ANALYTICS_EVENTS","GAME_LAUNCHER_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,gBAAgB,iBAChBA,EAAA,gBAAgB,iBAChBA,EAAA,wBAAwB,yBAHdA,IAAAA,KAAA,CAAA,CAAA;AAML,MAAMC,IAA2C;AAAA,EACrD,eAA+C,CAACC,EAAQ,QAAQ;AAAA,EAChE,eAA+C,CAACA,EAAQ,QAAQ;AACnE;"}
@@ -1,63 +1,59 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { memo as v, useState as x, useRef as J, useCallback as n, useMemo as N, useEffect as O } 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";
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";
2
+ import { memo as D, useState as T, useCallback as n, useMemo as h, useEffect as B } from "react";
3
+ import { LOTTIE as K } from "../../../assets/lottie/lottie.js";
4
+ import { CircularLoader as U } from "../../ui/loader/circular-loader/circular-loader.js";
5
+ import Y from "../../ui/lottie-animation/lottie-animation.js";
6
+ import { useCircleSounds as H } from "../hooks/use-circle-sounds/use-circle-sounds.js";
7
+ import { CircleSoundKey as t } from "../hooks/use-circle-sounds/use-circle-sounds-enums.js";
8
+ import { GAME_LAUNCHER_SIZE as J } from "./comps/card-container/constants.js";
10
9
  import { Carousel as z } from "./comps/carousel/carousel.js";
11
- import { GAME_LAUNCHER_ASSET_PADDING as Z } 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 w } from "./comps/tables-card/tables-card.js";
14
- import { GAME_LAUNCHER_ANALYTICS_EVENTS as G } 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";
17
- import { ProjectType as f } from "../games/web-view/enums/project-type-enum.js";
18
- const V = H + Z, fe = v(
19
- ({ onSegmentClick: r, onJourneyComplete: c, journeyId: t, data: e, isLoading: S, defaultIndex: g = 0 }) => {
20
- const [E] = x(!0), m = J(null), { playSwipSound: L, play: o } = K(), a = n(
10
+ import { GAME_LAUNCHER_ASSET_PADDING as O } from "./comps/segmented-game-card/constants.js";
11
+ import { SegmentedGameCard as f } from "./comps/segmented-game-card/segmented-game-card.js";
12
+ import { TablesCard as Z } from "./comps/tables-card/tables-card.js";
13
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as x } from "./game-launcher-analytics-events.js";
14
+ import { useGameLauncherJourney as w } from "./use-game-launcher-journey/use-game-launcher-journey.js";
15
+ import { ProjectType as m } from "../games/web-view/enums/project-type-enum.js";
16
+ const G = J + O, ne = D(
17
+ ({ onSegmentClick: r, onJourneyComplete: V, journeyId: u, data: e, isLoading: g, defaultIndex: N = 0 }) => {
18
+ const [R, S] = T(N), [p] = T(!1), { playSwipSound: c, play: o } = H(), {
19
+ gameRefs: a,
20
+ lessonRefs: C,
21
+ puzzleRefs: L,
22
+ startJourney: E,
23
+ carouselNextBtnRef: A,
24
+ isJourneyInProgress: b
25
+ } = w({
26
+ setCarouselIndex: S,
27
+ onSegmentClick: r,
28
+ onJourneyComplete: V
29
+ }), _ = n(
21
30
  (l) => {
22
- o(u.GAME_CARD_CLICK), r(l, f.TABLE);
31
+ o(t.GAME_CARD_CLICK), r(l, m.TABLE);
23
32
  },
24
33
  [r, o]
25
- ), C = n(
34
+ ), P = n(
26
35
  (l) => {
27
- l.status !== "completed" && (o(u.GAME_CARD_CLICK), r(l, f.LESSON));
36
+ l.status !== "completed" && (o(t.GAME_CARD_CLICK), r(l, m.LESSON));
28
37
  },
29
38
  [r, o]
30
- ), _ = n(
39
+ ), y = n(
31
40
  (l) => {
32
- o(u.GAME_CARD_CLICK), r(l, f.GAME);
41
+ o(t.GAME_CARD_CLICK), r(l, m.GAME);
33
42
  },
34
43
  [r, o]
35
- ), b = n(
44
+ ), I = n(
36
45
  (l) => {
37
- o(u.GAME_CARD_CLICK), r(l, f.PUZZLE);
46
+ o(t.GAME_CARD_CLICK), r(l, m.PUZZLE);
38
47
  },
39
48
  [r, o]
40
- ), {
41
- gameRefs: A,
42
- lessonRefs: T,
43
- puzzleRefs: R,
44
- startJourney: I
45
- } = X({
46
- carouselRefs: m,
47
- onSegmentClick: r,
48
- onJourneyComplete: c
49
- }), { startJourney: y, tableRef: P } = q({
50
- carouselRefs: m,
51
- onTableSegmentClick: a,
52
- onJourneyComplete: c
53
- }), D = N(() => {
49
+ ), M = h(() => {
54
50
  let l = [];
55
51
  return e && (e.lessons && (l = [
56
52
  ...l,
57
53
  /* @__PURE__ */ i(
58
- p,
54
+ f,
59
55
  {
60
- ref: T,
56
+ ref: C,
61
57
  label: e.lessons.label,
62
58
  value: e.lessons.data.filter((s) => s.status === "completed").length,
63
59
  maxValue: e.lessons.data.length,
@@ -66,16 +62,16 @@ const V = H + Z, fe = v(
66
62
  card: s.cardLottie,
67
63
  name: s.name,
68
64
  isCompleted: s.status === "completed",
69
- onPress: () => C(s)
65
+ onPress: () => P(s)
70
66
  }))
71
67
  }
72
68
  )
73
69
  ]), l = [
74
70
  ...l,
75
71
  /* @__PURE__ */ i(
76
- p,
72
+ f,
77
73
  {
78
- ref: A,
74
+ ref: a,
79
75
  label: e.games.label,
80
76
  value: e.games.data.filter((s) => s.isPlayed).length,
81
77
  maxValue: e.games.data.length,
@@ -84,14 +80,14 @@ const V = H + Z, fe = v(
84
80
  card: s.cardLottie,
85
81
  name: s.name,
86
82
  isCompleted: !1,
87
- onPress: () => _(s)
83
+ onPress: () => y(s)
88
84
  }))
89
85
  }
90
86
  ),
91
87
  /* @__PURE__ */ i(
92
- p,
88
+ f,
93
89
  {
94
- ref: R,
90
+ ref: L,
95
91
  label: e.puzzles.label,
96
92
  value: e.puzzles.data.filter((s) => s.solved).length,
97
93
  maxValue: e.puzzles.data.length,
@@ -100,72 +96,66 @@ const V = H + Z, fe = v(
100
96
  card: s.cardLottie,
101
97
  name: s.name,
102
98
  isCompleted: s.solved,
103
- onPress: () => b(s)
99
+ onPress: () => I(s)
104
100
  }))
105
101
  }
106
102
  )
107
- ], e.tables && E && (l = [
103
+ ], e.tables && p && (l = [
108
104
  ...l,
109
105
  /* @__PURE__ */ i(
110
- w,
106
+ Z,
111
107
  {
112
- ref: P,
113
108
  label: e.tables.label,
114
109
  data: e.tables.data,
115
- onPress: a
110
+ onPress: _
116
111
  }
117
112
  )
118
113
  ])), l;
119
114
  }, [
120
115
  e,
121
- A,
122
- R,
123
- E,
124
- T,
116
+ a,
125
117
  C,
126
- _,
127
- b,
118
+ L,
128
119
  P,
129
- a
130
- ]), M = N(
120
+ _,
121
+ I,
122
+ y,
123
+ p
124
+ ]), v = h(
131
125
  () => [
132
126
  /* @__PURE__ */ i(
133
- B,
127
+ Y,
134
128
  {
135
- src: U.SLEEPY_BOI,
136
- width: V,
137
- height: V
129
+ src: K.SLEEPY_BOI,
130
+ width: G,
131
+ height: G
138
132
  }
139
133
  )
140
134
  ],
141
135
  []
142
136
  );
143
- return O(() => {
144
- if (e != null && e.puzzles && t === h.CIRCLE_ACTIVITIES_INTRO_JOURNEY) {
145
- I(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), t);
146
- return;
147
- }
148
- e != null && e.tables && t === h.CIRCLE_TABLES_INTRO_JOURNEY && y(e == null ? void 0 : e.tables);
149
- }, [e, t, I, y]), S ? /* @__PURE__ */ i(Y, {}) : e ? /* @__PURE__ */ i(
137
+ return B(() => {
138
+ e != null && e.puzzles && u && b && E(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), u);
139
+ }, [e == null ? void 0 : e.lessons, e == null ? void 0 : e.puzzles, b, u, E]), g ? /* @__PURE__ */ i(U, {}) : e ? /* @__PURE__ */ i(
150
140
  z,
151
141
  {
152
- ref: m,
153
- items: D,
154
- defaultIndex: g,
155
- onNext: L,
156
- onPrev: L,
142
+ ref: A,
143
+ items: M,
144
+ defaultIndex: R,
145
+ onNext: c,
146
+ onPrev: c,
157
147
  analyticsNext: {
158
- analyticsLabel: G.NEXT_ACTIVITY
148
+ analyticsLabel: x.NEXT_ACTIVITY
159
149
  },
160
150
  analyticsPrev: {
161
- analyticsLabel: G.PREV_ACTIVITY
151
+ analyticsLabel: x.PREV_ACTIVITY
162
152
  }
163
153
  }
164
154
  ) : /* @__PURE__ */ i(
165
155
  z,
166
156
  {
167
- ref: m,
168
- items: M,
157
+ ref: A,
158
+ items: v,
169
159
  analyticsNext: {
170
160
  analyticsLabel: ""
171
161
  },
@@ -177,6 +167,6 @@ const V = H + Z, fe = v(
177
167
  }
178
168
  );
179
169
  export {
180
- fe as GameLauncher
170
+ ne as GameLauncher
181
171
  };
182
172
  //# 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, useState } 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 ({ onSegmentClick, onJourneyComplete, journeyId, data, isLoading, defaultIndex = 0 }) => {\n const [enableTables] = useState(true);\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 onJourneyComplete,\n });\n\n const { startJourney: startTablesJourney, tableRef } = useTableLauncherJourney({\n carouselRefs,\n onTableSegmentClick,\n onJourneyComplete,\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 && enableTables) {\n itemTypes = [\n ...itemTypes,\n <TablesCard\n ref={tableRef}\n label={data.tables.label}\n data={data.tables.data}\n onPress={onTableSegmentClick}\n />,\n ];\n }\n }\n\n return itemTypes;\n }, [\n data,\n gameRefs,\n puzzleRefs,\n enableTables,\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 when the data for puzzles is available\n useEffect(() => {\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);\n }\n }, [data, journeyId, startLessonPuzzleGamesJourney, startTablesJourney]);\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","onJourneyComplete","journeyId","data","isLoading","defaultIndex","enableTables","useState","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","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 { 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, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\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 './use-game-launcher-journey/use-game-launcher-journey';\n\nconst sleepyBoiDimension = GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING;\n\nexport const GameLauncher: FC<IGameLauncherProps> = memo(\n ({ onSegmentClick, onJourneyComplete, journeyId, data, isLoading, defaultIndex = 0 }) => {\n const [currentIndex, setCurrentIndex] = useState(defaultIndex);\n const [enableTables] = useState(false);\n\n const { playSwipSound, play } = useCircleSounds();\n const {\n gameRefs,\n lessonRefs,\n puzzleRefs,\n startJourney,\n carouselNextBtnRef,\n isJourneyInProgress,\n } = useGameLauncherJourney({\n setCarouselIndex: setCurrentIndex,\n onSegmentClick,\n onJourneyComplete,\n });\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 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 && enableTables) {\n itemTypes = [\n ...itemTypes,\n <TablesCard\n label={data.tables.label}\n data={data.tables.data}\n onPress={onTableSegmentClick}\n />,\n ];\n }\n }\n\n return itemTypes;\n }, [\n data,\n gameRefs,\n lessonRefs,\n puzzleRefs,\n handleLessonSegmentClick,\n onTableSegmentClick,\n handlePuzzleSegmentClick,\n handleGameSegmentClick,\n enableTables,\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 when the data for puzzles is available\n useEffect(() => {\n if (data?.puzzles && journeyId && isJourneyInProgress) {\n startJourney(data?.puzzles, !!data?.lessons, journeyId);\n }\n }, [data?.lessons, data?.puzzles, isJourneyInProgress, journeyId, startJourney]);\n\n if (isLoading) {\n return <CircularLoader />;\n }\n\n if (!data) {\n return (\n <Carousel\n ref={carouselNextBtnRef}\n items={sleepyBoiItem}\n analyticsNext={{\n analyticsLabel: '',\n }}\n analyticsPrev={{\n analyticsLabel: '',\n }}\n />\n );\n }\n\n return (\n <Carousel\n ref={carouselNextBtnRef}\n items={items}\n defaultIndex={currentIndex}\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","onJourneyComplete","journeyId","data","isLoading","defaultIndex","currentIndex","setCurrentIndex","useState","enableTables","playSwipSound","play","useCircleSounds","gameRefs","lessonRefs","puzzleRefs","startJourney","carouselNextBtnRef","isJourneyInProgress","useGameLauncherJourney","onTableSegmentClick","useCallback","table","CircleSoundKey","ProjectType","handleLessonSegmentClick","lesson","handleGameSegmentClick","game","handlePuzzleSegmentClick","puzzle","items","useMemo","itemTypes","jsx","SegmentedGameCard","TablesCard","sleepyBoiItem","LottieAnimation","LOTTIE","useEffect","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ const _ = 500, E = 1500, S = 3e3;
2
+ export {
3
+ _ as GO_TO_NEXT_SLIDE_AFTER_MS,
4
+ E as SHOW_LABEL_HIGHLIGHT_AFTER_MS,
5
+ S as SHOW_NUDGE_AFTER_MS
6
+ };
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../../src/features/circle-games/game-launcher/use-game-launcher-journey/constants.ts"],"sourcesContent":["export const GO_TO_NEXT_SLIDE_AFTER_MS = 500;\nexport const SHOW_LABEL_HIGHLIGHT_AFTER_MS = 1500;\nexport const SHOW_NUDGE_AFTER_MS = 3000;\nexport const FIRST_COACHMARK_AFTER_MS = 200;\n"],"names":["GO_TO_NEXT_SLIDE_AFTER_MS","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS"],"mappings":"AAAO,MAAMA,IAA4B,KAC5BC,IAAgC,MAChCC,IAAsB;"}
@@ -0,0 +1,213 @@
1
+ import { jsx as e, Fragment as R } from "react/jsx-runtime";
2
+ import { useRef as u, useCallback as T, useMemo as ne } from "react";
3
+ import Q from "../../../../assets/line-icons/icons/next.js";
4
+ import { PLATFORM_EVENTS_STUDENT as j } from "../../../analytics-events/platform-events-student.js";
5
+ import { IndicatorType as s } from "../../../journey/use-journey/constants.js";
6
+ import { useJourney as ie } from "../../../journey/use-journey/use-journey.js";
7
+ import z from "../../../ui/buttons/icon-button/icon-button.js";
8
+ import { useUIContext as oe } from "../../../ui/context/context.js";
9
+ import I from "../../../ui/layout/flex-view.js";
10
+ import d from "../../../ui/text/text.js";
11
+ import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as E } from "../../enum/circle-onboarding-steps.js";
12
+ import { useCircleSounds as le } from "../../hooks/use-circle-sounds/use-circle-sounds.js";
13
+ import { SegmentedGameCard as ce } from "../comps/segmented-game-card/segmented-game-card.js";
14
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as ee } from "../game-launcher-analytics-events.js";
15
+ import { GO_TO_NEXT_SLIDE_AFTER_MS as ae, SHOW_LABEL_HIGHLIGHT_AFTER_MS as se, SHOW_NUDGE_AFTER_MS as de } from "./constants.js";
16
+ import { ProjectType as he } from "../../games/web-view/enums/project-type-enum.js";
17
+ const Se = ({
18
+ onSegmentClick: L,
19
+ setCarouselIndex: O,
20
+ onJourneyComplete: b
21
+ }) => {
22
+ const c = u(null), i = u(null), r = u(null), a = u(null), C = u(!1), { playButtonSound: P } = le(), { nextCoachmark: o, setJourney: N } = ie(), { onEvent: f } = oe(), S = T(
23
+ (t) => {
24
+ f(j.ONBOARDING_STEP_VIEWED, {
25
+ step: t
26
+ });
27
+ },
28
+ [f]
29
+ ), y = T(
30
+ (t) => {
31
+ f(j.ONBOARDING_STEP_COMPLETED, {
32
+ step: t
33
+ });
34
+ },
35
+ [f]
36
+ ), h = T(
37
+ (t, l, n, g, p = !1) => {
38
+ p || (P(), O((_) => _ + 1), o(g, !1, ae)), S(t);
39
+ const A = setTimeout(() => {
40
+ clearTimeout(A), l.startLabelAnimation(n);
41
+ }, se);
42
+ o(g, !0, de);
43
+ },
44
+ [o, P, O, S]
45
+ ), H = T(
46
+ (t, l) => {
47
+ L(t, he.PUZZLE), y(E.PUZZLE_ACTIVITY), o(l), b(l);
48
+ },
49
+ [o, b, L, y]
50
+ ), G = T(
51
+ (t, l, n) => {
52
+ var w, Y, v, U, V, B, D, x, M, W, X, $, J, F, Z, K, q;
53
+ if (C.current || !((w = c == null ? void 0 : c.current) != null && w.nextBtnRef.current) || !((Y = r == null ? void 0 : r.current) != null && Y.segmentedCardWrapperRef.current) || !((v = i == null ? void 0 : i.current) != null && v.labelRef.current) || !((U = r == null ? void 0 : r.current) != null && U.labelRef.current) || !t)
54
+ return;
55
+ C.current = !0;
56
+ const g = ((D = (B = (V = a.current) == null ? void 0 : V.labelRef) == null ? void 0 : B.current) == null ? void 0 : D.getBoundingClientRect()) || {
57
+ height: 0,
58
+ width: 0
59
+ }, p = ((W = (M = (x = i.current) == null ? void 0 : x.labelRef) == null ? void 0 : M.current) == null ? void 0 : W.getBoundingClientRect()) || {
60
+ height: 0,
61
+ width: 0
62
+ }, A = ((J = ($ = (X = r.current) == null ? void 0 : X.labelRef) == null ? void 0 : $.current) == null ? void 0 : J.getBoundingClientRect()) || {
63
+ height: 0,
64
+ width: 0
65
+ }, _ = ((K = (Z = (F = r.current) == null ? void 0 : F.segmentedCardWrapperRef) == null ? void 0 : Z.current) == null ? void 0 : K.getBoundingClientRect()) || {
66
+ height: 0,
67
+ width: 0
68
+ };
69
+ let k = [];
70
+ l && a.current && (k = [
71
+ {
72
+ originalElementToHighlightRef: a.current.labelRef,
73
+ isActive: !1,
74
+ type: s.TOOLTIP,
75
+ elementToHighlight: /* @__PURE__ */ e(R, {}),
76
+ indicator: {
77
+ position: "right",
78
+ backgroundColor: "BLUE_4",
79
+ width: 264,
80
+ tooltipItem: /* @__PURE__ */ e(I, { children: /* @__PURE__ */ e(d, { $renderAs: "ab2-bold", children: "Get faster & stay ahead in school. Practice 3 new skills everyday." }) }),
81
+ tooltipXCoOrdinates: g.width + 50,
82
+ tooltipYCoOrdinates: g.height / 2
83
+ }
84
+ },
85
+ {
86
+ originalElementToHighlightRef: (q = c.current) == null ? void 0 : q.nextBtnRef,
87
+ isActive: !1,
88
+ type: s.NUDGE,
89
+ elementToHighlight: /* @__PURE__ */ e(
90
+ z,
91
+ {
92
+ renderAs: "secondary",
93
+ Icon: Q,
94
+ onClick: () => h(
95
+ E.GAMES_ACTIVITY,
96
+ i.current,
97
+ "ORANGE_4",
98
+ n
99
+ ),
100
+ analyticsLabel: ee.JOURNEY_NEXT_ACTIVITY
101
+ }
102
+ ),
103
+ indicator: {
104
+ nudge: "click",
105
+ content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
106
+ nudgePointerX: 0,
107
+ nudgePointerY: 0
108
+ }
109
+ }
110
+ ]);
111
+ const te = [
112
+ {
113
+ originalElementToHighlightRef: i.current.labelRef,
114
+ isActive: !1,
115
+ type: s.TOOLTIP,
116
+ elementToHighlight: /* @__PURE__ */ e(R, {}),
117
+ indicator: {
118
+ position: "right",
119
+ backgroundColor: "ORANGE_4",
120
+ width: 264,
121
+ tooltipItem: /* @__PURE__ */ e(I, { children: /* @__PURE__ */ e(d, { $renderAs: "ab2-bold", children: "Train to think deeper & plan ahead. Play 3 new games everyday." }) }),
122
+ tooltipXCoOrdinates: p.width + 50,
123
+ tooltipYCoOrdinates: p.height / 2
124
+ }
125
+ },
126
+ {
127
+ originalElementToHighlightRef: c.current.nextBtnRef,
128
+ isActive: !1,
129
+ type: s.NUDGE,
130
+ elementToHighlight: /* @__PURE__ */ e(
131
+ z,
132
+ {
133
+ renderAs: "secondary",
134
+ Icon: Q,
135
+ onClick: () => h(
136
+ E.PUZZLE_ACTIVITY,
137
+ r.current,
138
+ "PURPLE_4",
139
+ n
140
+ ),
141
+ analyticsLabel: ee.JOURNEY_NEXT_ACTIVITY
142
+ }
143
+ ),
144
+ indicator: {
145
+ nudge: "click",
146
+ content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to proceed" }),
147
+ nudgePointerX: 0,
148
+ nudgePointerY: 0
149
+ }
150
+ }
151
+ ], re = [
152
+ {
153
+ originalElementToHighlightRef: r.current.labelRef,
154
+ isActive: !1,
155
+ type: s.TOOLTIP,
156
+ elementToHighlight: /* @__PURE__ */ e(R, {}),
157
+ indicator: {
158
+ position: "right",
159
+ backgroundColor: "PURPLE_4",
160
+ width: 264,
161
+ tooltipItem: /* @__PURE__ */ e(I, { children: /* @__PURE__ */ e(d, { $renderAs: "ab2-bold", children: "Think in new ways & stay sharp. Solve 3 new puzzles everyday." }) }),
162
+ tooltipXCoOrdinates: A.width + 50,
163
+ tooltipYCoOrdinates: A.height / 2
164
+ }
165
+ },
166
+ {
167
+ originalElementToHighlightRef: r.current.segmentedCardWrapperRef,
168
+ isActive: !1,
169
+ type: s.NUDGE,
170
+ elementToHighlight: /* @__PURE__ */ e(
171
+ ce,
172
+ {
173
+ label: "",
174
+ value: t.data.filter((m) => m.solved).length,
175
+ maxValue: t.data.length,
176
+ initialValue: t.initialProgressValue,
177
+ data: t.data.map((m) => ({
178
+ card: m.cardLottie,
179
+ name: "",
180
+ // We dont want to show the name of the puzzle in onboarding
181
+ isCompleted: m.solved,
182
+ onPress: () => H(m, n)
183
+ }))
184
+ }
185
+ ),
186
+ indicator: {
187
+ nudge: "click",
188
+ content: /* @__PURE__ */ e(d, { $renderAs: "ab1", $color: "WHITE", children: "Click to solve a puzzle" }),
189
+ nudgePointerX: _.width * 0.6,
190
+ nudgePointerY: _.height * 0.4
191
+ }
192
+ }
193
+ ];
194
+ N(n, [...k, ...te, ...re]), o(n), l && a.current ? h(E.SKILL_ACTIVITY, a.current, "BLUE_4", n, !0) : h(E.GAMES_ACTIVITY, i.current, "ORANGE_4", n, !0);
195
+ },
196
+ [H, h, o, N]
197
+ );
198
+ return ne(
199
+ () => ({
200
+ gameRefs: i,
201
+ puzzleRefs: r,
202
+ lessonRefs: a,
203
+ carouselNextBtnRef: c,
204
+ isJourneyInProgress: C,
205
+ startJourney: G
206
+ }),
207
+ [G]
208
+ );
209
+ };
210
+ export {
211
+ Se as useGameLauncherJourney
212
+ };
213
+ //# sourceMappingURL=use-game-launcher-journey.js.map