@cuemath/leap 2.8.25 → 2.8.27

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 (238) hide show
  1. package/dist/assets/lottie/lottie.js +61 -0
  2. package/dist/assets/lottie/lottie.js.map +1 -0
  3. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +81 -79
  4. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/game-launcher.js +61 -65
  6. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  7. package/dist/features/circle-games/leaderboard/comps/banner/banner.js +35 -53
  8. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  9. package/dist/features/circle-games/leaderboard/leaderboard.js +56 -55
  10. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  11. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +40 -41
  12. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  13. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js +4 -8
  14. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js.map +1 -1
  15. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js +6 -23
  16. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
  17. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js +40 -35
  18. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  19. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +2 -2
  20. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js +8 -23
  21. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
  22. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js +11 -11
  23. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  24. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js +37 -43
  25. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  26. package/dist/features/post-game-stats/accuracy/accuracy.js +38 -34
  27. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  28. package/dist/features/post-game-stats/clock/clock.js +43 -39
  29. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  30. package/dist/features/post-game-stats/points/points.js +43 -44
  31. package/dist/features/post-game-stats/points/points.js.map +1 -1
  32. package/dist/features/post-game-stats/streak/streak.js +30 -28
  33. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  34. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js +56 -54
  35. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  36. package/dist/features/trial-session/comps/parent-app/parent-app.js +25 -20
  37. package/dist/features/trial-session/comps/parent-app/parent-app.js.map +1 -1
  38. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +4 -4
  39. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  40. package/dist/features/trial-session/comps/session-insights/session-insights.js +40 -39
  41. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  42. package/dist/features/trial-session/trial-session-view.js +95 -79
  43. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  44. package/dist/features/ui/loader/circular-loader/circular-loader.js +16 -20
  45. package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
  46. package/dist/features/ui/lottie-animation/helper.js +13 -0
  47. package/dist/features/ui/lottie-animation/helper.js.map +1 -0
  48. package/dist/features/ui/lottie-animation/lottie-animation.js +37 -0
  49. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -0
  50. package/dist/features/ui/nudge/nudge-styled.js +4 -8
  51. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  52. package/dist/features/ui/nudge/nudge.js +13 -30
  53. package/dist/features/ui/nudge/nudge.js.map +1 -1
  54. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +22 -20
  55. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  56. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +25 -48
  57. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  58. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js +12 -26
  59. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  60. package/dist/index.d.ts +58 -0
  61. package/dist/index.js +466 -464
  62. package/dist/index.js.map +1 -1
  63. package/dist/static/accuracy-meter.99585cba.json +4218 -0
  64. package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
  65. package/dist/static/beginner1x.489908a7.json +3508 -0
  66. package/dist/static/bronze-1.da4e4b5f.json +4176 -0
  67. package/dist/static/bronze-2.97f9c639.json +4433 -0
  68. package/dist/static/bronze-3.6a433ebd.json +4786 -0
  69. package/dist/static/circular-loader.a5a1a0a6.json +238 -0
  70. package/dist/static/clock-30min.eae818b8.json +1197 -0
  71. package/dist/static/clock-45min.df8adf51.json +1197 -0
  72. package/dist/static/clock-60min.2b48d875.json +1197 -0
  73. package/dist/static/clock-90min.3e557ed7.json +1407 -0
  74. package/dist/static/color-1.45101b9a.json +4545 -0
  75. package/dist/static/color-2.ccdc7d0a.json +4828 -0
  76. package/dist/static/color-3.5e8e1422.json +5273 -0
  77. package/dist/static/difficult.6846c064.json +2755 -0
  78. package/dist/static/easy-rescheduling-lottie.28026af9.json +9301 -0
  79. package/dist/static/easy.68242ddd.json +2658 -0
  80. package/dist/static/elite-circle.3df58972.json +6876 -0
  81. package/dist/static/error-lottie.b3507a4b.json +5255 -0
  82. package/dist/static/familiar1x.7c9c7f15.json +3046 -0
  83. package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
  84. package/dist/static/five-min-clock.6be5cc41.json +721 -0
  85. package/dist/static/gold-1.ab2489fe.json +4176 -0
  86. package/dist/static/gold-2.34045826.json +4441 -0
  87. package/dist/static/gold-3.d704698b.json +4810 -0
  88. package/dist/static/levelup-rings.b1055283.json +549 -0
  89. package/dist/static/medium.94c3829b.json +2289 -0
  90. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  91. package/dist/static/point1.b53831de.json +2942 -0
  92. package/dist/static/point10.7b5e536d.json +3179 -0
  93. package/dist/static/point100.1df16f82.json +3196 -0
  94. package/dist/static/point15.fea00c32.json +3179 -0
  95. package/dist/static/point20.c88d776d.json +3178 -0
  96. package/dist/static/point25.a18c346a.json +3178 -0
  97. package/dist/static/point30.c5224b0b.json +3202 -0
  98. package/dist/static/point35.fad343dd.json +3058 -0
  99. package/dist/static/point40.10a16f72.json +3082 -0
  100. package/dist/static/point45.2ad7561f.json +3082 -0
  101. package/dist/static/point5.da40ed1f.json +2948 -0
  102. package/dist/static/point50.5718cb3d.json +3046 -0
  103. package/dist/static/point60.17380d9f.json +3076 -0
  104. package/dist/static/proficient1x.fa6e7b80.json +3430 -0
  105. package/dist/static/silver-1.0396328a.json +4168 -0
  106. package/dist/static/silver-2.bf50615f.json +4433 -0
  107. package/dist/static/silver-3.13d66b84.json +4810 -0
  108. package/dist/static/sleepy-boi.031a1165.json +1008 -0
  109. package/dist/static/spinner-white.639e0d87.json +122 -0
  110. package/dist/static/splash-screen.bbf567ce.json +2411 -0
  111. package/dist/static/stay-connected-lottie.111439b3.json +3547 -0
  112. package/dist/static/teacher-validation.7577ecdc.json +245 -0
  113. package/dist/static/total-streak.d5ce7669.json +842 -0
  114. package/dist/static/total-time-spent.434005d3.json +200 -0
  115. package/dist/static/total-time.d979cbb9.json +24383 -0
  116. package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
  117. package/dist/static/track-progress-lottie.422108cf.json +2972 -0
  118. package/package.json +1 -1
  119. package/dist/assets/lotties/circle/100pts.json.js +0 -7957
  120. package/dist/assets/lotties/circle/100pts.json.js.map +0 -1
  121. package/dist/assets/lotties/circle/10pts.json.js +0 -7753
  122. package/dist/assets/lotties/circle/10pts.json.js.map +0 -1
  123. package/dist/assets/lotties/circle/15pts.json.js +0 -7879
  124. package/dist/assets/lotties/circle/15pts.json.js.map +0 -1
  125. package/dist/assets/lotties/circle/1pts.json.js +0 -7257
  126. package/dist/assets/lotties/circle/1pts.json.js.map +0 -1
  127. package/dist/assets/lotties/circle/20pts.json.js +0 -7845
  128. package/dist/assets/lotties/circle/20pts.json.js.map +0 -1
  129. package/dist/assets/lotties/circle/25pts.json.js +0 -7971
  130. package/dist/assets/lotties/circle/25pts.json.js.map +0 -1
  131. package/dist/assets/lotties/circle/30pts.json.js +0 -7941
  132. package/dist/assets/lotties/circle/30pts.json.js.map +0 -1
  133. package/dist/assets/lotties/circle/35pts.json.js +0 -7881
  134. package/dist/assets/lotties/circle/35pts.json.js.map +0 -1
  135. package/dist/assets/lotties/circle/40pts.json.js +0 -7725
  136. package/dist/assets/lotties/circle/40pts.json.js.map +0 -1
  137. package/dist/assets/lotties/circle/45pts.json.js +0 -7851
  138. package/dist/assets/lotties/circle/45pts.json.js.map +0 -1
  139. package/dist/assets/lotties/circle/50pts.json.js +0 -7707
  140. package/dist/assets/lotties/circle/50pts.json.js.map +0 -1
  141. package/dist/assets/lotties/circle/5pts.json.js +0 -7420
  142. package/dist/assets/lotties/circle/5pts.json.js.map +0 -1
  143. package/dist/assets/lotties/circle/60pts.json.js +0 -7701
  144. package/dist/assets/lotties/circle/60pts.json.js.map +0 -1
  145. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js +0 -6811
  146. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js.map +0 -1
  147. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js +0 -1503
  148. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js.map +0 -1
  149. package/dist/assets/lotties/circle/circular-loader.json.js +0 -635
  150. package/dist/assets/lotties/circle/circular-loader.json.js.map +0 -1
  151. package/dist/assets/lotties/circle/elite-circle-lottie.json.js +0 -12079
  152. package/dist/assets/lotties/circle/elite-circle-lottie.json.js.map +0 -1
  153. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js +0 -1412
  154. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js.map +0 -1
  155. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js +0 -2632
  156. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js.map +0 -1
  157. package/dist/assets/lotties/circle/spinner-white.json.js +0 -316
  158. package/dist/assets/lotties/circle/spinner-white.json.js.map +0 -1
  159. package/dist/assets/lotties/circle/splash-screen.json.js +0 -5864
  160. package/dist/assets/lotties/circle/splash-screen.json.js.map +0 -1
  161. package/dist/assets/lotties/circle/total-streak-lottie.json.js +0 -2103
  162. package/dist/assets/lotties/circle/total-streak-lottie.json.js.map +0 -1
  163. package/dist/assets/lotties/circle/total-time-lottie.json.js +0 -33016
  164. package/dist/assets/lotties/circle/total-time-lottie.json.js.map +0 -1
  165. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js +0 -260
  166. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js.map +0 -1
  167. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js +0 -1563
  168. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js.map +0 -1
  169. package/dist/assets/lotties/common/nudge-tap.json.js +0 -3597
  170. package/dist/assets/lotties/common/nudge-tap.json.js.map +0 -1
  171. package/dist/assets/lotties/error-lottie.json.js +0 -12755
  172. package/dist/assets/lotties/error-lottie.json.js.map +0 -1
  173. package/dist/assets/lotties/perfect-hits/bronze-1.json.js +0 -10871
  174. package/dist/assets/lotties/perfect-hits/bronze-1.json.js.map +0 -1
  175. package/dist/assets/lotties/perfect-hits/bronze-2.json.js +0 -11389
  176. package/dist/assets/lotties/perfect-hits/bronze-2.json.js.map +0 -1
  177. package/dist/assets/lotties/perfect-hits/bronze-3.json.js +0 -12169
  178. package/dist/assets/lotties/perfect-hits/bronze-3.json.js.map +0 -1
  179. package/dist/assets/lotties/perfect-hits/color-1.json.js +0 -12348
  180. package/dist/assets/lotties/perfect-hits/color-1.json.js.map +0 -1
  181. package/dist/assets/lotties/perfect-hits/color-2.json.js +0 -12941
  182. package/dist/assets/lotties/perfect-hits/color-2.json.js.map +0 -1
  183. package/dist/assets/lotties/perfect-hits/color-3.json.js +0 -14034
  184. package/dist/assets/lotties/perfect-hits/color-3.json.js.map +0 -1
  185. package/dist/assets/lotties/perfect-hits/gold-1.json.js +0 -10871
  186. package/dist/assets/lotties/perfect-hits/gold-1.json.js.map +0 -1
  187. package/dist/assets/lotties/perfect-hits/gold-2.json.js +0 -11389
  188. package/dist/assets/lotties/perfect-hits/gold-2.json.js.map +0 -1
  189. package/dist/assets/lotties/perfect-hits/gold-3.json.js +0 -12169
  190. package/dist/assets/lotties/perfect-hits/gold-3.json.js.map +0 -1
  191. package/dist/assets/lotties/perfect-hits/silver-1.json.js +0 -10871
  192. package/dist/assets/lotties/perfect-hits/silver-1.json.js.map +0 -1
  193. package/dist/assets/lotties/perfect-hits/silver-2.json.js +0 -11389
  194. package/dist/assets/lotties/perfect-hits/silver-2.json.js.map +0 -1
  195. package/dist/assets/lotties/perfect-hits/silver-3.json.js +0 -12169
  196. package/dist/assets/lotties/perfect-hits/silver-3.json.js.map +0 -1
  197. package/dist/assets/lotties/teacher-validation.json.js +0 -649
  198. package/dist/assets/lotties/teacher-validation.json.js.map +0 -1
  199. package/dist/assets/lotties/tests-creation/clock_30_min.json.js +0 -2857
  200. package/dist/assets/lotties/tests-creation/clock_30_min.json.js.map +0 -1
  201. package/dist/assets/lotties/tests-creation/clock_45_min.json.js +0 -2857
  202. package/dist/assets/lotties/tests-creation/clock_45_min.json.js.map +0 -1
  203. package/dist/assets/lotties/tests-creation/clock_60_min.json.js +0 -2857
  204. package/dist/assets/lotties/tests-creation/clock_60_min.json.js.map +0 -1
  205. package/dist/assets/lotties/tests-creation/clock_90_min.json.js +0 -3345
  206. package/dist/assets/lotties/tests-creation/clock_90_min.json.js.map +0 -1
  207. package/dist/assets/lotties/tests-creation/difficult.json.js +0 -6713
  208. package/dist/assets/lotties/tests-creation/difficult.json.js.map +0 -1
  209. package/dist/assets/lotties/tests-creation/easy.json.js +0 -6525
  210. package/dist/assets/lotties/tests-creation/easy.json.js.map +0 -1
  211. package/dist/assets/lotties/tests-creation/medium.json.js +0 -5603
  212. package/dist/assets/lotties/tests-creation/medium.json.js.map +0 -1
  213. package/dist/assets/lotties/trial-v3/15min-clock.json.js +0 -2037
  214. package/dist/assets/lotties/trial-v3/15min-clock.json.js.map +0 -1
  215. package/dist/assets/lotties/trial-v3/5min-clock.json.js +0 -2062
  216. package/dist/assets/lotties/trial-v3/5min-clock.json.js.map +0 -1
  217. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js +0 -8517
  218. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js.map +0 -1
  219. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js +0 -7396
  220. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js.map +0 -1
  221. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js +0 -8559
  222. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js.map +0 -1
  223. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js +0 -23284
  224. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js.map +0 -1
  225. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js +0 -9090
  226. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js.map +0 -1
  227. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js +0 -8675
  228. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js.map +0 -1
  229. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js +0 -13
  230. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js.map +0 -1
  231. package/dist/features/circle-games/game-launcher/game-launcher-styled.js +0 -10
  232. package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +0 -1
  233. package/dist/features/post-game-stats/points/points-styled.js +0 -10
  234. package/dist/features/post-game-stats/points/points-styled.js.map +0 -1
  235. package/dist/features/trial-session/comps/render-lottie/index.js +0 -26
  236. package/dist/features/trial-session/comps/render-lottie/index.js.map +0 -1
  237. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js +0 -17
  238. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js.map +0 -1
@@ -0,0 +1,61 @@
1
+ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", s = {
2
+ ACCURACY_METER: `${t}static/accuracy-meter.99585cba.json`,
3
+ ACCURACY_NEEDLE: `${t}static/accuracy-needle.cd6e63ac.json`,
4
+ BEGINNER1X: `${t}static/beginner1x.489908a7.json`,
5
+ BRONZE_1: `${t}static/bronze-1.da4e4b5f.json`,
6
+ BRONZE_2: `${t}static/bronze-2.97f9c639.json`,
7
+ BRONZE_3: `${t}static/bronze-3.6a433ebd.json`,
8
+ CIRCULAR_LOADER: `${t}static/circular-loader.a5a1a0a6.json`,
9
+ CLOCK_30MIN: `${t}static/clock-30min.eae818b8.json`,
10
+ CLOCK_45MIN: `${t}static/clock-45min.df8adf51.json`,
11
+ CLOCK_60MIN: `${t}static/clock-60min.2b48d875.json`,
12
+ CLOCK_90MIN: `${t}static/clock-90min.3e557ed7.json`,
13
+ COLOR_1: `${t}static/color-1.45101b9a.json`,
14
+ COLOR_2: `${t}static/color-2.ccdc7d0a.json`,
15
+ COLOR_3: `${t}static/color-3.5e8e1422.json`,
16
+ DIFFICULT: `${t}static/difficult.6846c064.json`,
17
+ EASY: `${t}static/easy.68242ddd.json`,
18
+ EASY_RESCHEDULING_LOTTIE: `${t}static/easy-rescheduling-lottie.28026af9.json`,
19
+ ELITE_CIRCLE: `${t}static/elite-circle.3df58972.json`,
20
+ ERROR_LOTTIE: `${t}static/error-lottie.b3507a4b.json`,
21
+ FAMILIAR1X: `${t}static/familiar1x.7c9c7f15.json`,
22
+ FIFTEEN_MIN_CLOCK: `${t}static/fifteen-min-clock.0af4e303.json`,
23
+ FIVE_MIN_CLOCK: `${t}static/five-min-clock.6be5cc41.json`,
24
+ GOLD_1: `${t}static/gold-1.ab2489fe.json`,
25
+ GOLD_2: `${t}static/gold-2.34045826.json`,
26
+ GOLD_3: `${t}static/gold-3.d704698b.json`,
27
+ LEVELUP_RINGS: `${t}static/levelup-rings.b1055283.json`,
28
+ MEDIUM: `${t}static/medium.94c3829b.json`,
29
+ NUDGE_TAP: `${t}static/nudge-tap.5cb30093.json`,
30
+ POINT100: `${t}static/point100.1df16f82.json`,
31
+ POINT10: `${t}static/point10.7b5e536d.json`,
32
+ POINT15: `${t}static/point15.fea00c32.json`,
33
+ POINT1: `${t}static/point1.b53831de.json`,
34
+ POINT20: `${t}static/point20.c88d776d.json`,
35
+ POINT25: `${t}static/point25.a18c346a.json`,
36
+ POINT30: `${t}static/point30.c5224b0b.json`,
37
+ POINT35: `${t}static/point35.fad343dd.json`,
38
+ POINT40: `${t}static/point40.10a16f72.json`,
39
+ POINT45: `${t}static/point45.2ad7561f.json`,
40
+ POINT50: `${t}static/point50.5718cb3d.json`,
41
+ POINT5: `${t}static/point5.da40ed1f.json`,
42
+ POINT60: `${t}static/point60.17380d9f.json`,
43
+ PROFICIENT1X: `${t}static/proficient1x.fa6e7b80.json`,
44
+ SILVER_1: `${t}static/silver-1.0396328a.json`,
45
+ SILVER_2: `${t}static/silver-2.bf50615f.json`,
46
+ SILVER_3: `${t}static/silver-3.13d66b84.json`,
47
+ SLEEPY_BOI: `${t}static/sleepy-boi.031a1165.json`,
48
+ SPINNER_WHITE: `${t}static/spinner-white.639e0d87.json`,
49
+ SPLASH_SCREEN: `${t}static/splash-screen.bbf567ce.json`,
50
+ STAY_CONNECTED_LOTTIE: `${t}static/stay-connected-lottie.111439b3.json`,
51
+ TEACHER_VALIDATION: `${t}static/teacher-validation.7577ecdc.json`,
52
+ TOTAL_STREAK: `${t}static/total-streak.d5ce7669.json`,
53
+ TOTAL_TIME: `${t}static/total-time.d979cbb9.json`,
54
+ TOTAL_TIME_SPENT: `${t}static/total-time-spent.434005d3.json`,
55
+ TOURNAMENT_RIPPLE: `${t}static/tournament-ripple.e5c239a5.json`,
56
+ TRACK_PROGRESS_LOTTIE: `${t}static/track-progress-lottie.422108cf.json`
57
+ };
58
+ export {
59
+ s as LOTTIE
60
+ };
61
+ //# sourceMappingURL=lottie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lottie.js","sources":["../../../src/assets/lottie/lottie.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\nconst LOTTIE = {\n ACCURACY_METER: `${PREFIX}static/accuracy-meter.99585cba.json`,\n ACCURACY_NEEDLE: `${PREFIX}static/accuracy-needle.cd6e63ac.json`,\n BEGINNER1X: `${PREFIX}static/beginner1x.489908a7.json`,\n BRONZE_1: `${PREFIX}static/bronze-1.da4e4b5f.json`,\n BRONZE_2: `${PREFIX}static/bronze-2.97f9c639.json`,\n BRONZE_3: `${PREFIX}static/bronze-3.6a433ebd.json`,\n CIRCULAR_LOADER: `${PREFIX}static/circular-loader.a5a1a0a6.json`,\n CLOCK_30MIN: `${PREFIX}static/clock-30min.eae818b8.json`,\n CLOCK_45MIN: `${PREFIX}static/clock-45min.df8adf51.json`,\n CLOCK_60MIN: `${PREFIX}static/clock-60min.2b48d875.json`,\n CLOCK_90MIN: `${PREFIX}static/clock-90min.3e557ed7.json`,\n COLOR_1: `${PREFIX}static/color-1.45101b9a.json`,\n COLOR_2: `${PREFIX}static/color-2.ccdc7d0a.json`,\n COLOR_3: `${PREFIX}static/color-3.5e8e1422.json`,\n DIFFICULT: `${PREFIX}static/difficult.6846c064.json`,\n EASY: `${PREFIX}static/easy.68242ddd.json`,\n EASY_RESCHEDULING_LOTTIE: `${PREFIX}static/easy-rescheduling-lottie.28026af9.json`,\n ELITE_CIRCLE: `${PREFIX}static/elite-circle.3df58972.json`,\n ERROR_LOTTIE: `${PREFIX}static/error-lottie.b3507a4b.json`,\n FAMILIAR1X: `${PREFIX}static/familiar1x.7c9c7f15.json`,\n FIFTEEN_MIN_CLOCK: `${PREFIX}static/fifteen-min-clock.0af4e303.json`,\n FIVE_MIN_CLOCK: `${PREFIX}static/five-min-clock.6be5cc41.json`,\n GOLD_1: `${PREFIX}static/gold-1.ab2489fe.json`,\n GOLD_2: `${PREFIX}static/gold-2.34045826.json`,\n GOLD_3: `${PREFIX}static/gold-3.d704698b.json`,\n LEVELUP_RINGS: `${PREFIX}static/levelup-rings.b1055283.json`,\n MEDIUM: `${PREFIX}static/medium.94c3829b.json`,\n NUDGE_TAP: `${PREFIX}static/nudge-tap.5cb30093.json`,\n POINT100: `${PREFIX}static/point100.1df16f82.json`,\n POINT10: `${PREFIX}static/point10.7b5e536d.json`,\n POINT15: `${PREFIX}static/point15.fea00c32.json`,\n POINT1: `${PREFIX}static/point1.b53831de.json`,\n POINT20: `${PREFIX}static/point20.c88d776d.json`,\n POINT25: `${PREFIX}static/point25.a18c346a.json`,\n POINT30: `${PREFIX}static/point30.c5224b0b.json`,\n POINT35: `${PREFIX}static/point35.fad343dd.json`,\n POINT40: `${PREFIX}static/point40.10a16f72.json`,\n POINT45: `${PREFIX}static/point45.2ad7561f.json`,\n POINT50: `${PREFIX}static/point50.5718cb3d.json`,\n POINT5: `${PREFIX}static/point5.da40ed1f.json`,\n POINT60: `${PREFIX}static/point60.17380d9f.json`,\n PROFICIENT1X: `${PREFIX}static/proficient1x.fa6e7b80.json`,\n SILVER_1: `${PREFIX}static/silver-1.0396328a.json`,\n SILVER_2: `${PREFIX}static/silver-2.bf50615f.json`,\n SILVER_3: `${PREFIX}static/silver-3.13d66b84.json`,\n SLEEPY_BOI: `${PREFIX}static/sleepy-boi.031a1165.json`,\n SPINNER_WHITE: `${PREFIX}static/spinner-white.639e0d87.json`,\n SPLASH_SCREEN: `${PREFIX}static/splash-screen.bbf567ce.json`,\n STAY_CONNECTED_LOTTIE: `${PREFIX}static/stay-connected-lottie.111439b3.json`,\n TEACHER_VALIDATION: `${PREFIX}static/teacher-validation.7577ecdc.json`,\n TOTAL_STREAK: `${PREFIX}static/total-streak.d5ce7669.json`,\n TOTAL_TIME: `${PREFIX}static/total-time.d979cbb9.json`,\n TOTAL_TIME_SPENT: `${PREFIX}static/total-time-spent.434005d3.json`,\n TOURNAMENT_RIPPLE: `${PREFIX}static/tournament-ripple.e5c239a5.json`,\n TRACK_PROGRESS_LOTTIE: `${PREFIX}static/track-progress-lottie.422108cf.json`,\n};\n\nexport { LOTTIE };\n"],"names":["PREFIX","LOTTIE"],"mappings":"AAAA,MAAMA,IAAS,OAAO,kBAAkB,OAAO,kBAAkB,KAE3DC,IAAS;AAAA,EACb,gBAAgB,GAAGD,CAAM;AAAA,EACzB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,YAAY,GAAGA,CAAM;AAAA,EACrB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,WAAW,GAAGA,CAAM;AAAA,EACpB,MAAM,GAAGA,CAAM;AAAA,EACf,0BAA0B,GAAGA,CAAM;AAAA,EACnC,cAAc,GAAGA,CAAM;AAAA,EACvB,cAAc,GAAGA,CAAM;AAAA,EACvB,YAAY,GAAGA,CAAM;AAAA,EACrB,mBAAmB,GAAGA,CAAM;AAAA,EAC5B,gBAAgB,GAAGA,CAAM;AAAA,EACzB,QAAQ,GAAGA,CAAM;AAAA,EACjB,QAAQ,GAAGA,CAAM;AAAA,EACjB,QAAQ,GAAGA,CAAM;AAAA,EACjB,eAAe,GAAGA,CAAM;AAAA,EACxB,QAAQ,GAAGA,CAAM;AAAA,EACjB,WAAW,GAAGA,CAAM;AAAA,EACpB,UAAU,GAAGA,CAAM;AAAA,EACnB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,QAAQ,GAAGA,CAAM;AAAA,EACjB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,SAAS,GAAGA,CAAM;AAAA,EAClB,QAAQ,GAAGA,CAAM;AAAA,EACjB,SAAS,GAAGA,CAAM;AAAA,EAClB,cAAc,GAAGA,CAAM;AAAA,EACvB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,UAAU,GAAGA,CAAM;AAAA,EACnB,YAAY,GAAGA,CAAM;AAAA,EACrB,eAAe,GAAGA,CAAM;AAAA,EACxB,eAAe,GAAGA,CAAM;AAAA,EACxB,uBAAuB,GAAGA,CAAM;AAAA,EAChC,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,cAAc,GAAGA,CAAM;AAAA,EACvB,YAAY,GAAGA,CAAM;AAAA,EACrB,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,mBAAmB,GAAGA,CAAM;AAAA,EAC5B,uBAAuB,GAAGA,CAAM;AAClC;"}
@@ -1,114 +1,116 @@
1
- import { jsxs as A, jsx as t } from "react/jsx-runtime";
2
- import R from "lottie-web";
3
- import { memo as M, forwardRef as v, useRef as f, useState as S, useCallback as u, useImperativeHandle as w, useEffect as b } from "react";
4
- import F from "../../../../../assets/line-icons/icons/check.js";
5
- import x from "../../../../../assets/lotties/circle/levelup-rings-lottie.json.js";
6
- import { fetchLottie as j } from "./fetch-lottie.js";
7
- import { SegmentedCard as D, ExtendedFlexView as G, AnimatedLabel as B, SegmentedCardWrapper as O, CircularProgressLottieContainer as q, SegmentLeft as z, SegmentRight as J, SegmentBottom as K, SegmentContainer as N, SegmentContentContainer as Q, SegmentAssetContainer as U, SegmentOverlay as X, IconWrapper as Y } from "./segmented-game-card-styled.js";
8
- const T = ({
9
- segmentType: e,
1
+ import { jsxs as T, jsx as e } from "react/jsx-runtime";
2
+ import k from "lottie-web";
3
+ import { memo as v, forwardRef as H, useRef as L, useState as C, useCallback as f, useImperativeHandle as w, useMemo as I, useEffect as F } from "react";
4
+ import x from "../../../../../assets/line-icons/icons/check.js";
5
+ import { LOTTIE as G } from "../../../../../assets/lottie/lottie.js";
6
+ import { fetchLottie as j } from "../../../../ui/lottie-animation/helper.js";
7
+ import O from "../../../../ui/lottie-animation/lottie-animation.js";
8
+ import { SegmentedCard as U, ExtendedFlexView as B, AnimatedLabel as D, SegmentedCardWrapper as N, CircularProgressLottieContainer as q, SegmentLeft as z, SegmentRight as J, SegmentBottom as K, SegmentContainer as Q, SegmentContentContainer as V, SegmentAssetContainer as X, SegmentOverlay as Y, IconWrapper as Z } from "./segmented-game-card-styled.js";
9
+ const S = ({
10
+ segmentType: t,
10
11
  isCompleted: i,
11
- card: l,
12
- name: m,
12
+ card: m,
13
+ name: l,
13
14
  onMouseEnter: s
14
15
  }) => {
15
- const c = f(null);
16
- b(() => {
17
- let r = null;
16
+ const c = L(null);
17
+ F(() => {
18
+ let o = null;
18
19
  return (async () => {
19
- const p = await j(l);
20
- r = R.loadAnimation({
20
+ const d = await j(m);
21
+ o = k.loadAnimation({
21
22
  container: c.current,
22
23
  renderer: "canvas",
23
24
  loop: !0,
24
25
  autoplay: !0,
25
- animationData: p
26
+ animationData: d
26
27
  });
27
- })(), () => r == null ? void 0 : r.destroy();
28
- }, [l]);
29
- const d = u(() => s(m), [s, m]);
30
- return /* @__PURE__ */ t(N, { children: /* @__PURE__ */ A(Q, { $segmentType: e, onMouseEnter: d, children: [
31
- /* @__PURE__ */ t(U, { ref: c, $segmentType: e }),
32
- i && /* @__PURE__ */ t(X, { $segmentType: e, children: /* @__PURE__ */ t(Y, { children: /* @__PURE__ */ t(F, { color: "#fff", height: 40, width: 40 }) }) })
28
+ })(), () => o == null ? void 0 : o.destroy();
29
+ }, [m]);
30
+ const a = f(() => s(l), [s, l]);
31
+ return /* @__PURE__ */ e(Q, { children: /* @__PURE__ */ T(V, { $segmentType: t, onMouseEnter: a, children: [
32
+ /* @__PURE__ */ e(X, { ref: c, $segmentType: t }),
33
+ i && /* @__PURE__ */ e(Y, { $segmentType: t, children: /* @__PURE__ */ e(Z, { children: /* @__PURE__ */ e(x, { color: "#fff", height: 40, width: 40 }) }) })
33
34
  ] }) });
34
- }, Z = ({ data: e, label: i, initialValue: l = 0, value: m, maxValue: s = 1 }, c) => {
35
- const d = f(null), r = f(null), g = f(null), [p, y] = S(i), [L, E] = S(!1), [I, $] = S("WHITE_T_87"), P = p !== i, h = u((n) => {
36
- y(n);
37
- }, []), W = u(() => {
38
- y(i);
39
- }, [i]), C = (n) => {
40
- var o, a;
41
- (a = (o = e[n]) == null ? void 0 : o.onPress) == null || a.call(o);
42
- }, _ = u((n) => {
43
- E(!0), $(n);
35
+ }, ee = ({ data: t, label: i, initialValue: m = 0, value: l, maxValue: s = 1 }, c) => {
36
+ const a = L(null), o = L(null), [u, d] = C(i), [A, y] = C(!1), [b, P] = C("WHITE_T_87"), R = u !== i, g = f((n) => {
37
+ d(n);
38
+ }, []), _ = f(() => {
39
+ d(i);
40
+ }, [i]), h = (n) => {
41
+ var r, p;
42
+ (p = (r = t[n]) == null ? void 0 : r.onPress) == null || p.call(r);
43
+ }, $ = f((n) => {
44
+ y(!0), P(n);
44
45
  }, []);
45
- return w(c, () => ({
46
- labelRef: r,
47
- segmentedCardWrapperRef: g,
48
- startLabelAnimation: _
49
- })), b(() => {
50
- const n = R.loadAnimation({
51
- container: d.current,
52
- renderer: "canvas",
53
- autoplay: !1,
54
- loop: !1,
55
- animationData: x
56
- });
46
+ w(c, () => ({
47
+ labelRef: a,
48
+ segmentedCardWrapperRef: o,
49
+ startLabelAnimation: $
50
+ }));
51
+ const E = I(() => {
57
52
  if (s <= 0)
58
53
  return;
59
- const o = 92, a = o / s, k = Math.min(a * l, o), H = Math.min(a * m + 1, o);
60
- return n.playSegments([k, H], !0), () => {
61
- n.destroy();
62
- };
63
- }, [l, m, s]), /* @__PURE__ */ A(D, { children: [
64
- /* @__PURE__ */ t(G, { $position: "absolute", children: /* @__PURE__ */ t(
65
- B,
54
+ const n = 92, r = n / s, p = Math.min(r * m, n), W = Math.min(r * l + 1, n);
55
+ return [p, W];
56
+ }, [m, s, l]), M = I(
57
+ () => ({
58
+ renderer: "canvas",
59
+ autoplay: !0,
60
+ loop: !1,
61
+ initialSegment: E
62
+ }),
63
+ [E]
64
+ );
65
+ return /* @__PURE__ */ T(U, { children: [
66
+ /* @__PURE__ */ e(B, { $position: "absolute", children: /* @__PURE__ */ e(
67
+ D,
66
68
  {
67
- ref: r,
69
+ ref: a,
68
70
  $renderAs: "ac3",
69
71
  $align: "center",
70
- $color: L ? I : P ? "WHITE_T_87" : "WHITE_T_60",
71
- isAnimated: L,
72
- children: p
72
+ $color: A ? b : R ? "WHITE_T_87" : "WHITE_T_60",
73
+ isAnimated: A,
74
+ children: u
73
75
  }
74
76
  ) }),
75
- /* @__PURE__ */ A(O, { ref: g, onMouseLeave: W, children: [
76
- /* @__PURE__ */ t(q, { ref: d }),
77
- /* @__PURE__ */ t(z, { onClick: () => C(0), children: /* @__PURE__ */ t(
78
- T,
77
+ /* @__PURE__ */ T(N, { ref: o, onMouseLeave: _, children: [
78
+ /* @__PURE__ */ e(q, { children: /* @__PURE__ */ e(O, { src: G.LEVELUP_RINGS, settings: M }) }),
79
+ /* @__PURE__ */ e(z, { onClick: () => h(0), children: /* @__PURE__ */ e(
80
+ S,
79
81
  {
80
82
  segmentType: "left",
81
- card: e[0].card,
82
- name: e[0].name,
83
- isCompleted: e[0].isCompleted,
84
- onMouseEnter: h
83
+ card: t[0].card,
84
+ name: t[0].name,
85
+ isCompleted: t[0].isCompleted,
86
+ onMouseEnter: g
85
87
  }
86
88
  ) }),
87
- /* @__PURE__ */ t(J, { onClick: () => C(1), children: /* @__PURE__ */ t(
88
- T,
89
+ /* @__PURE__ */ e(J, { onClick: () => h(1), children: /* @__PURE__ */ e(
90
+ S,
89
91
  {
90
92
  segmentType: "right",
91
- card: e[1].card,
92
- name: e[1].name,
93
- isCompleted: e[1].isCompleted,
94
- onMouseEnter: h
93
+ card: t[1].card,
94
+ name: t[1].name,
95
+ isCompleted: t[1].isCompleted,
96
+ onMouseEnter: g
95
97
  }
96
98
  ) }),
97
- /* @__PURE__ */ t(K, { onClick: () => C(2), children: /* @__PURE__ */ t(
98
- T,
99
+ /* @__PURE__ */ e(K, { onClick: () => h(2), children: /* @__PURE__ */ e(
100
+ S,
99
101
  {
100
102
  segmentType: "bottom",
101
- card: e[2].card,
102
- name: e[2].name,
103
- isCompleted: e[2].isCompleted,
104
- onMouseEnter: h
103
+ card: t[2].card,
104
+ name: t[2].name,
105
+ isCompleted: t[2].isCompleted,
106
+ onMouseEnter: g
105
107
  }
106
108
  ) })
107
109
  ] })
108
110
  ] });
109
- }, se = M(v(Z));
111
+ }, ce = v(H(ee));
110
112
  export {
111
- T as SegmentContent,
112
- se as SegmentedGameCard
113
+ S as SegmentContent,
114
+ ce as SegmentedGameCard
113
115
  };
114
116
  //# sourceMappingURL=segmented-game-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC, ForwardRefRenderFunction } from 'react';\n\nimport Lottie from 'lottie-web';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport progressRingLottie from '../../../../../assets/lotties/circle/levelup-rings-lottie.json';\nimport { fetchLottie } from './fetch-lottie';\nimport * as Styled from './segmented-game-card-styled';\n\nexport const SegmentContent: FC<IGameCardSegmentContentProps> = ({\n segmentType,\n isCompleted,\n card,\n name,\n onMouseEnter,\n}) => {\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n\n const loadLottie = async () => {\n const lottie = await fetchLottie(card);\n\n animation = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n renderer: 'canvas',\n loop: true,\n autoplay: true,\n animationData: lottie,\n });\n };\n\n loadLottie();\n\n return () => {\n return animation?.destroy();\n };\n }, [card]);\n\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer ref={lottieAnimationRef} $segmentType={segmentType} />\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n};\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n const labelRef = useRef<HTMLDivElement>(null);\n const segmentedCardWrapperRef = useRef<HTMLDivElement>(null);\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = (index: number) => {\n data[index]?.onPress?.();\n };\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef,\n startLabelAnimation,\n }));\n\n useEffect(() => {\n const animation = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n renderer: 'canvas',\n autoplay: false,\n loop: false,\n animationData: progressRingLottie,\n });\n\n // handle progress lottie\n // total frames in 100% progress are 90 frames\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n animation.playSegments([initialFrameToPlay, finalFrameToPlay], true);\n\n return () => {\n animation.destroy();\n };\n }, [initialValue, value, maxValue]);\n\n return (\n <Styled.SegmentedCard>\n <Styled.ExtendedFlexView $position=\"absolute\">\n <Styled.AnimatedLabel\n ref={labelRef}\n $renderAs=\"ac3\"\n $align=\"center\"\n $color={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n isAnimated={isAnimated}\n >\n {label}\n </Styled.AnimatedLabel>\n </Styled.ExtendedFlexView>\n <Styled.SegmentedCardWrapper ref={segmentedCardWrapperRef} onMouseLeave={onMouseLeave}>\n <Styled.CircularProgressLottieContainer ref={lottieAnimationRef} />\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </Styled.SegmentedCardWrapper>\n </Styled.SegmentedCard>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["SegmentContent","segmentType","isCompleted","card","name","onMouseEnter","lottieAnimationRef","useRef","useEffect","animation","lottie","fetchLottie","Lottie","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","segmentedCardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","progressRingLottie","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","Styled.SegmentedCard","Styled.ExtendedFlexView","Styled.AnimatedLabel","Styled.SegmentedCardWrapper","Styled.CircularProgressLottieContainer","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC, ForwardRefRenderFunction } from 'react';\n\nimport Lottie from 'lottie-web';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport { fetchLottie } from '../../../../ui/lottie-animation/helper';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './segmented-game-card-styled';\n\nexport const SegmentContent: FC<IGameCardSegmentContentProps> = ({\n segmentType,\n isCompleted,\n card,\n name,\n onMouseEnter,\n}) => {\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n\n const loadLottie = async () => {\n const lottie = await fetchLottie(card);\n\n animation = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n renderer: 'canvas',\n loop: true,\n autoplay: true,\n animationData: lottie,\n });\n };\n\n loadLottie();\n\n return () => {\n return animation?.destroy();\n };\n }, [card]);\n\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer ref={lottieAnimationRef} $segmentType={segmentType} />\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n};\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const labelRef = useRef<HTMLDivElement>(null);\n const segmentedCardWrapperRef = useRef<HTMLDivElement>(null);\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = (index: number) => {\n data[index]?.onPress?.();\n };\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef,\n startLabelAnimation,\n }));\n\n const animationSegments: [number, number] | undefined = useMemo(() => {\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n return [initialFrameToPlay, finalFrameToPlay];\n }, [initialValue, maxValue, value]);\n\n const levelUpAnimationSettings = useMemo(\n () => ({\n renderer: 'canvas',\n autoplay: true,\n loop: false,\n initialSegment: animationSegments,\n }),\n [animationSegments],\n );\n\n return (\n <Styled.SegmentedCard>\n <Styled.ExtendedFlexView $position=\"absolute\">\n <Styled.AnimatedLabel\n ref={labelRef}\n $renderAs=\"ac3\"\n $align=\"center\"\n $color={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n isAnimated={isAnimated}\n >\n {label}\n </Styled.AnimatedLabel>\n </Styled.ExtendedFlexView>\n <Styled.SegmentedCardWrapper ref={segmentedCardWrapperRef} onMouseLeave={onMouseLeave}>\n <Styled.CircularProgressLottieContainer>\n <LottieAnimation src={LOTTIE.LEVELUP_RINGS} settings={levelUpAnimationSettings} />\n </Styled.CircularProgressLottieContainer>\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </Styled.SegmentedCardWrapper>\n </Styled.SegmentedCard>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["SegmentContent","segmentType","isCompleted","card","name","onMouseEnter","lottieAnimationRef","useRef","useEffect","animation","lottie","fetchLottie","Lottie","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","segmentedCardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","animationSegments","useMemo","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","levelUpAnimationSettings","Styled.SegmentedCard","Styled.ExtendedFlexView","Styled.AnimatedLabel","Styled.SegmentedCardWrapper","Styled.CircularProgressLottieContainer","LottieAnimation","LOTTIE","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","memo","forwardRef"],"mappings":"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"}
@@ -1,33 +1,34 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import T from "lottie-web";
3
- import { memo as h, useState as R, useRef as S, useMemo as P, useEffect as x } from "react";
4
- import { CircularLoader as G } from "../../ui/loader/circular-loader/circular-loader.js";
5
- import { useCircleSounds as M } from "../hooks/use-circle-sounds/use-circle-sounds.js";
6
- import { Carousel as V } from "./comps/carousel/carousel.js";
7
- import { SegmentedGameCard as i } from "./comps/segmented-game-card/segmented-game-card.js";
8
- import { GAME_LAUNCHER_ANALYTICS_EVENTS as z } from "./game-launcher-analytics-events.js";
9
- import { SleepyBoiLottyContainer as _ } from "./game-launcher-styled.js";
2
+ import { memo as h, useState as C, useMemo as a, useEffect as _ } from "react";
3
+ import { LOTTIE as b } from "../../../assets/lottie/lottie.js";
4
+ import { CircularLoader as v } from "../../ui/loader/circular-loader/circular-loader.js";
5
+ import S from "../../ui/lottie-animation/lottie-animation.js";
6
+ import { useCircleSounds as G } from "../hooks/use-circle-sounds/use-circle-sounds.js";
7
+ import { Carousel as P } from "./comps/carousel/carousel.js";
8
+ import { GAME_LAUNCHER_SIZE as R, GAME_LAUNCHER_ASSET_PADDING as M } from "./comps/segmented-game-card/constants.js";
9
+ import { SegmentedGameCard as n } from "./comps/segmented-game-card/segmented-game-card.js";
10
+ import { GAME_LAUNCHER_ANALYTICS_EVENTS as y } from "./game-launcher-analytics-events.js";
10
11
  import { useGameLauncherJourney as B } from "./use-game-launcher-journey/use-game-launcher-journey.js";
11
- import { ProjectType as t } from "../games/web-view/enums/project-type-enum.js";
12
- const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js"), Q = h(
13
- ({ onSegmentClick: o, onJourneyComplete: g, journeyId: n, data: e, isLoading: C, defaultIndex: b = 0 }) => {
14
- const [v, A] = R(b), m = S(null), { playSwipSound: u } = M(), {
15
- gameRefs: a,
12
+ import { ProjectType as m } from "../games/web-view/enums/project-type-enum.js";
13
+ const A = R + M, K = h(
14
+ ({ onSegmentClick: l, onJourneyComplete: x, journeyId: i, data: e, isLoading: I, defaultIndex: V = 0 }) => {
15
+ const [g, z] = C(V), { playSwipSound: t } = G(), {
16
+ gameRefs: u,
16
17
  lessonRefs: p,
17
- puzzleRefs: c,
18
- startJourney: f,
19
- carouselNextBtnRef: y,
18
+ puzzleRefs: f,
19
+ startJourney: c,
20
+ carouselNextBtnRef: E,
20
21
  isJourneyInProgress: L
21
22
  } = B({
22
- setCarouselIndex: A,
23
- onSegmentClick: o,
24
- onJourneyComplete: g
25
- }), E = P(() => {
26
- let l = [];
27
- return e && (e.lessons && (l = [
28
- ...l,
23
+ setCarouselIndex: z,
24
+ onSegmentClick: l,
25
+ onJourneyComplete: x
26
+ }), N = a(() => {
27
+ let o = [];
28
+ return e && (e.lessons && (o = [
29
+ ...o,
29
30
  /* @__PURE__ */ r(
30
- i,
31
+ n,
31
32
  {
32
33
  ref: p,
33
34
  label: e.lessons.label,
@@ -38,16 +39,16 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
38
39
  card: s.cardLottie,
39
40
  name: s.name,
40
41
  isCompleted: s.status === "completed",
41
- onPress: () => s.status === "completed" ? void 0 : o(s, t.LESSON)
42
+ onPress: () => s.status === "completed" ? void 0 : l(s, m.LESSON)
42
43
  }))
43
44
  }
44
45
  )
45
- ]), l = [
46
- ...l,
46
+ ]), o = [
47
+ ...o,
47
48
  /* @__PURE__ */ r(
48
- i,
49
+ n,
49
50
  {
50
- ref: a,
51
+ ref: u,
51
52
  label: e.games.label,
52
53
  value: e.games.data.filter((s) => s.isPlayed).length,
53
54
  maxValue: e.games.data.length,
@@ -56,14 +57,14 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
56
57
  card: s.cardLottie,
57
58
  name: s.name,
58
59
  isCompleted: !1,
59
- onPress: () => o(s, t.GAME)
60
+ onPress: () => l(s, m.GAME)
60
61
  }))
61
62
  }
62
63
  ),
63
64
  /* @__PURE__ */ r(
64
- i,
65
+ n,
65
66
  {
66
- ref: c,
67
+ ref: f,
67
68
  label: e.puzzles.label,
68
69
  value: e.puzzles.data.filter((s) => s.solved).length,
69
70
  maxValue: e.puzzles.data.length,
@@ -72,51 +73,46 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
72
73
  card: s.cardLottie,
73
74
  name: s.name,
74
75
  isCompleted: s.solved,
75
- onPress: () => o(s, t.PUZZLE)
76
+ onPress: () => l(s, m.PUZZLE)
76
77
  }))
77
78
  }
78
79
  )
79
- ]), l;
80
- }, [e, a, p, o, c]), I = P(
81
- () => [/* @__PURE__ */ r(_, { ref: m })],
80
+ ]), o;
81
+ }, [e, u, p, l, f]), T = a(
82
+ () => [
83
+ /* @__PURE__ */ r(
84
+ S,
85
+ {
86
+ src: b.SLEEPY_BOI,
87
+ width: A,
88
+ height: A
89
+ }
90
+ )
91
+ ],
82
92
  []
83
93
  );
84
- return x(() => {
85
- let l = null;
86
- return (async () => {
87
- const N = (await J()).default;
88
- l = T.loadAnimation({
89
- container: m.current,
90
- animationData: N,
91
- autoplay: !0,
92
- loop: !0,
93
- renderer: "canvas"
94
- });
95
- })(), () => {
96
- l == null || l.destroy();
97
- };
98
- }, []), x(() => {
99
- e != null && e.puzzles && n && L && f(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), n);
100
- }, [e == null ? void 0 : e.lessons, e == null ? void 0 : e.puzzles, L, n, f]), C ? /* @__PURE__ */ r(G, {}) : e ? /* @__PURE__ */ r(
101
- V,
94
+ return _(() => {
95
+ e != null && e.puzzles && i && L && c(e == null ? void 0 : e.puzzles, !!(e != null && e.lessons), i);
96
+ }, [e == null ? void 0 : e.lessons, e == null ? void 0 : e.puzzles, L, i, c]), I ? /* @__PURE__ */ r(v, {}) : e ? /* @__PURE__ */ r(
97
+ P,
102
98
  {
103
- ref: y,
104
- items: E,
105
- defaultIndex: v,
106
- onNext: u,
107
- onPrev: u,
99
+ ref: E,
100
+ items: N,
101
+ defaultIndex: g,
102
+ onNext: t,
103
+ onPrev: t,
108
104
  analyticsNext: {
109
- analyticsLabel: z.NEXT_ACTIVITY
105
+ analyticsLabel: y.NEXT_ACTIVITY
110
106
  },
111
107
  analyticsPrev: {
112
- analyticsLabel: z.PREV_ACTIVITY
108
+ analyticsLabel: y.PREV_ACTIVITY
113
109
  }
114
110
  }
115
111
  ) : /* @__PURE__ */ r(
116
- V,
112
+ P,
117
113
  {
118
- ref: y,
119
- items: I,
114
+ ref: E,
115
+ items: T,
120
116
  analyticsNext: {
121
117
  analyticsLabel: ""
122
118
  },
@@ -128,6 +124,6 @@ const J = () => import("../../../assets/lotties/circle/sleepy-boi-lottie.json.js
128
124
  }
129
125
  );
130
126
  export {
131
- Q as GameLauncher
127
+ K as GameLauncher
132
128
  };
133
129
  //# 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 { IGameLauncherProps } from './game-launcher-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC, ReactNode } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport { ProjectType } from '../games/web-view/enums';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { Carousel } from './comps/carousel/carousel';\nimport { SegmentedGameCard } from './comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from './game-launcher-analytics-events';\nimport * as Styled from './game-launcher-styled';\nimport { useGameLauncherJourney } from './use-game-launcher-journey/use-game-launcher-journey';\n\nconst sleepyBoi = () => import('../../../assets/lotties/circle/sleepy-boi-lottie.json');\n\nexport const GameLauncher: FC<IGameLauncherProps> = memo(\n ({ onSegmentClick, onJourneyComplete, journeyId, data, isLoading, defaultIndex = 0 }) => {\n const [currentIndex, setCurrentIndex] = useState(defaultIndex);\n\n const lottieContainerRef = useRef<HTMLDivElement>(null);\n const { playSwipSound } = useCircleSounds();\n\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 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: () =>\n lesson.status === 'completed'\n ? undefined\n : onSegmentClick(lesson, ProjectType.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: () => onSegmentClick(game, ProjectType.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: () => onSegmentClick(puzzle, ProjectType.PUZZLE),\n }))}\n />,\n ];\n }\n\n return itemTypes;\n }, [data, gameRefs, lessonRefs, onSegmentClick, puzzleRefs]);\n\n const sleepyBoiItem = useMemo(\n () => [<Styled.SleepyBoiLottyContainer ref={lottieContainerRef} />],\n [],\n );\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n const loadAnimation = async () => {\n const animationModule = await sleepyBoi();\n\n const animationData = animationModule.default;\n\n animation = Lottie.loadAnimation({\n container: lottieContainerRef.current as Element,\n animationData: animationData,\n autoplay: true,\n loop: true,\n renderer: 'canvas',\n });\n };\n\n loadAnimation();\n\n return () => {\n animation?.destroy();\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":["sleepyBoi","GameLauncher","memo","onSegmentClick","onJourneyComplete","journeyId","data","isLoading","defaultIndex","currentIndex","setCurrentIndex","useState","lottieContainerRef","useRef","playSwipSound","useCircleSounds","gameRefs","lessonRefs","puzzleRefs","startJourney","carouselNextBtnRef","isJourneyInProgress","useGameLauncherJourney","items","useMemo","itemTypes","jsx","SegmentedGameCard","lesson","ProjectType","game","puzzle","sleepyBoiItem","Styled.SleepyBoiLottyContainer","useEffect","animation","animationData","Lottie","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":";;;;;;;;;;;AAgBA,MAAMA,IAAY,MAAM,OAAO,0DAAuD,GAEzEC,IAAuCC;AAAA,EAClD,CAAC,EAAE,gBAAAC,GAAgB,mBAAAC,GAAmB,WAAAC,GAAW,MAAAC,GAAM,WAAAC,GAAW,cAAAC,IAAe,QAAQ;AACvF,UAAM,CAACC,GAAcC,CAAe,IAAIC,EAASH,CAAY,GAEvDI,IAAqBC,EAAuB,IAAI,GAChD,EAAE,eAAAC,MAAkBC,KAEpB;AAAA,MACJ,UAAAC;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,qBAAAC;AAAA,QACEC,EAAuB;AAAA,MACzB,kBAAkBZ;AAAA,MAClB,gBAAAP;AAAA,MACA,mBAAAC;AAAA,IAAA,CACD,GAEKmB,IAAQC,EAAQ,MAAM;AAC1B,UAAIC,IAAyB,CAAA;AAE7B,aAAInB,MACEA,EAAK,YACKmB,IAAA;AAAA,QACV,GAAGA;AAAA,QACH,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKV;AAAA,YACL,OAAOX,EAAK,QAAQ;AAAA,YACpB,OAAOA,EAAK,QAAQ,KAAK,OAAO,CAAUsB,MAAAA,EAAO,WAAW,WAAW,EAAE;AAAA,YACzE,UAAUtB,EAAK,QAAQ,KAAK;AAAA,YAC5B,cAAcA,EAAK,QAAQ;AAAA,YAC3B,MAAMA,KAAA,gBAAAA,EAAM,QAAQ,KAAK,IAAI,CAAWsB,OAAA;AAAA,cACtC,MAAMA,EAAO;AAAA,cACb,MAAMA,EAAO;AAAA,cACb,aAAaA,EAAO,WAAW;AAAA,cAC/B,SAAS,MACPA,EAAO,WAAW,cACd,SACAzB,EAAeyB,GAAQC,EAAY,MAAM;AAAA,YAAA;AAAA,UAC/C;AAAA,QACJ;AAAA,MAAA,IAIQJ,IAAA;AAAA,QACV,GAAGA;AAAA,QACH,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKX;AAAA,YACL,OAAOV,EAAK,MAAM;AAAA,YAClB,OAAOA,EAAK,MAAM,KAAK,OAAO,CAAQwB,MAAAA,EAAK,QAAQ,EAAE;AAAA,YACrD,UAAUxB,EAAK,MAAM,KAAK;AAAA,YAC1B,cAAcA,EAAK,MAAM;AAAA,YACzB,MAAMA,EAAK,MAAM,KAAK,IAAI,CAASwB,OAAA;AAAA,cACjC,MAAMA,EAAK;AAAA,cACX,MAAMA,EAAK;AAAA,cACX,aAAa;AAAA,cACb,SAAS,MAAM3B,EAAe2B,GAAMD,EAAY,IAAI;AAAA,YAAA,EACpD;AAAA,UAAA;AAAA,QACJ;AAAA,QACA,gBAAAH;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKT;AAAA,YACL,OAAOZ,EAAK,QAAQ;AAAA,YACpB,OAAOA,EAAK,QAAQ,KAAK,OAAO,CAAUyB,MAAAA,EAAO,MAAM,EAAE;AAAA,YACzD,UAAUzB,EAAK,QAAQ,KAAK;AAAA,YAC5B,cAAcA,EAAK,QAAQ;AAAA,YAC3B,MAAMA,EAAK,QAAQ,KAAK,IAAI,CAAWyB,OAAA;AAAA,cACrC,MAAMA,EAAO;AAAA,cACb,MAAMA,EAAO;AAAA,cACb,aAAaA,EAAO;AAAA,cACpB,SAAS,MAAM5B,EAAe4B,GAAQF,EAAY,MAAM;AAAA,YAAA,EACxD;AAAA,UAAA;AAAA,QACJ;AAAA,MAAA,IAIGJ;AAAA,IAAA,GACN,CAACnB,GAAMU,GAAUC,GAAYd,GAAgBe,CAAU,CAAC,GAErDc,IAAgBR;AAAA,MACpB,MAAM,CAAE,gBAAAE,EAAAO,GAAA,EAA+B,KAAKrB,EAAoB,CAAA,CAAE;AAAA,MAClE,CAAC;AAAA,IAAA;AAiCH,WA9BAsB,EAAU,MAAM;AACd,UAAIC,IAAkC;AAexB,cAdQ,YAAY;AAGhC,cAAMC,KAFkB,MAAMpC,KAEQ;AAEtC,QAAAmC,IAAYE,EAAO,cAAc;AAAA,UAC/B,WAAWzB,EAAmB;AAAA,UAC9B,eAAAwB;AAAA,UACA,UAAU;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,QAAA,CACX;AAAA,MAAA,MAKI,MAAM;AACX,QAAAD,KAAA,QAAAA,EAAW;AAAA,MAAQ;AAAA,IAEvB,GAAG,CAAE,CAAA,GAGLD,EAAU,MAAM;AACV,MAAA5B,KAAA,QAAAA,EAAM,WAAWD,KAAagB,KAChCF,EAAab,KAAA,gBAAAA,EAAM,SAAS,CAAC,EAACA,KAAA,QAAAA,EAAM,UAASD,CAAS;AAAA,IACxD,GACC,CAACC,KAAA,gBAAAA,EAAM,SAASA,KAAA,gBAAAA,EAAM,SAASe,GAAqBhB,GAAWc,CAAY,CAAC,GAE3EZ,sBACM+B,GAAe,CAAA,CAAA,IAGpBhC,IAgBH,gBAAAoB;AAAA,MAACa;AAAA,MAAA;AAAA,QACC,KAAKnB;AAAA,QACL,OAAAG;AAAA,QACA,cAAcd;AAAA,QACd,QAAQK;AAAA,QACR,QAAQA;AAAA,QACR,eAAe;AAAA,UACb,gBAAgB0B,EAA+B;AAAA,QACjD;AAAA,QACA,eAAe;AAAA,UACb,gBAAgBA,EAA+B;AAAA,QACjD;AAAA,MAAA;AAAA,IAAA,IAzBA,gBAAAd;AAAA,MAACa;AAAA,MAAA;AAAA,QACC,KAAKnB;AAAA,QACL,OAAOY;AAAA,QACP,eAAe;AAAA,UACb,gBAAgB;AAAA,QAClB;AAAA,QACA,eAAe;AAAA,UACb,gBAAgB;AAAA,QAClB;AAAA,MAAA;AAAA,IAAA;AAAA,EAoBR;AACF;"}
1
+ {"version":3,"file":"game-launcher.js","sources":["../../../../src/features/circle-games/game-launcher/game-launcher.tsx"],"sourcesContent":["import type { IGameLauncherProps } from './game-launcher-types';\nimport type { FC, ReactNode } from 'react';\n\nimport { memo, 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 { Carousel } from './comps/carousel/carousel';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_SIZE,\n} from './comps/segmented-game-card/constants';\nimport { SegmentedGameCard } from './comps/segmented-game-card/segmented-game-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\n const { playSwipSound } = useCircleSounds();\n\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 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: () =>\n lesson.status === 'completed'\n ? undefined\n : onSegmentClick(lesson, ProjectType.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: () => onSegmentClick(game, ProjectType.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: () => onSegmentClick(puzzle, ProjectType.PUZZLE),\n }))}\n />,\n ];\n }\n\n return itemTypes;\n }, [data, gameRefs, lessonRefs, onSegmentClick, puzzleRefs]);\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","playSwipSound","useCircleSounds","gameRefs","lessonRefs","puzzleRefs","startJourney","carouselNextBtnRef","isJourneyInProgress","useGameLauncherJourney","items","useMemo","itemTypes","jsx","SegmentedGameCard","lesson","ProjectType","game","puzzle","sleepyBoiItem","LottieAnimation","LOTTIE","useEffect","CircularLoader","Carousel","GAME_LAUNCHER_ANALYTICS_EVENTS"],"mappings":"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"}