@cuemath/leap 2.8.25-rj-5 → 2.8.26

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 (263) 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/analytics-events/platform-events-student.js +5 -6
  4. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +81 -79
  6. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  7. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +16 -17
  8. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  9. package/dist/features/circle-games/game-launcher/game-launcher.js +61 -65
  10. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  11. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  12. package/dist/features/circle-games/leaderboard/comps/banner/banner.js +35 -53
  13. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  14. package/dist/features/circle-games/leaderboard/leaderboard-styled.js +16 -20
  15. package/dist/features/circle-games/leaderboard/leaderboard-styled.js.map +1 -1
  16. package/dist/features/circle-games/leaderboard/leaderboard.js +77 -131
  17. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  18. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +40 -41
  19. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  20. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js +4 -8
  21. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js.map +1 -1
  22. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js +6 -23
  23. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
  24. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js +40 -35
  25. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  26. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  27. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  28. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +2 -2
  29. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js +8 -23
  30. 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
  31. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js +11 -11
  32. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  33. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js +37 -43
  34. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  35. package/dist/features/post-game-stats/accuracy/accuracy.js +38 -34
  36. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  37. package/dist/features/post-game-stats/clock/clock.js +43 -39
  38. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  39. package/dist/features/post-game-stats/points/points.js +43 -44
  40. package/dist/features/post-game-stats/points/points.js.map +1 -1
  41. package/dist/features/post-game-stats/streak/streak.js +30 -28
  42. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  43. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js +56 -54
  44. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  45. package/dist/features/trial-session/comps/parent-app/parent-app.js +25 -20
  46. package/dist/features/trial-session/comps/parent-app/parent-app.js.map +1 -1
  47. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +4 -4
  48. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  49. package/dist/features/trial-session/comps/session-insights/session-insights.js +40 -39
  50. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  51. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js +38 -39
  52. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  53. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  54. package/dist/features/trial-session/trial-session-view.js +95 -81
  55. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  56. package/dist/features/ui/loader/circular-loader/circular-loader.js +16 -20
  57. package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
  58. package/dist/features/ui/lottie-animation/helper.js +13 -0
  59. package/dist/features/ui/lottie-animation/helper.js.map +1 -0
  60. package/dist/features/ui/lottie-animation/lottie-animation.js +37 -0
  61. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -0
  62. package/dist/features/ui/nudge/nudge-styled.js +4 -8
  63. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  64. package/dist/features/ui/nudge/nudge.js +13 -30
  65. package/dist/features/ui/nudge/nudge.js.map +1 -1
  66. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +22 -20
  67. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  68. package/dist/features/worksheet/constants/events.js +2 -1
  69. package/dist/features/worksheet/constants/events.js.map +1 -1
  70. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +25 -48
  71. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  72. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js +12 -26
  73. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  74. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +4 -0
  75. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  76. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +250 -219
  77. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  78. package/dist/features/worksheet/worksheet/worksheet.js +33 -32
  79. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  80. package/dist/index.d.ts +62 -17
  81. package/dist/index.js +313 -313
  82. package/dist/static/accuracy-meter.99585cba.json +4218 -0
  83. package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
  84. package/dist/static/beginner1x.489908a7.json +3508 -0
  85. package/dist/static/bronze-1.da4e4b5f.json +4176 -0
  86. package/dist/static/bronze-2.97f9c639.json +4433 -0
  87. package/dist/static/bronze-3.6a433ebd.json +4786 -0
  88. package/dist/static/circular-loader.a5a1a0a6.json +238 -0
  89. package/dist/static/clock-30min.eae818b8.json +1197 -0
  90. package/dist/static/clock-45min.df8adf51.json +1197 -0
  91. package/dist/static/clock-60min.2b48d875.json +1197 -0
  92. package/dist/static/clock-90min.3e557ed7.json +1407 -0
  93. package/dist/static/color-1.45101b9a.json +4545 -0
  94. package/dist/static/color-2.ccdc7d0a.json +4828 -0
  95. package/dist/static/color-3.5e8e1422.json +5273 -0
  96. package/dist/static/difficult.6846c064.json +2755 -0
  97. package/dist/static/easy-rescheduling-lottie.28026af9.json +9301 -0
  98. package/dist/static/easy.68242ddd.json +2658 -0
  99. package/dist/static/elite-circle.3df58972.json +6876 -0
  100. package/dist/static/error-lottie.b3507a4b.json +5255 -0
  101. package/dist/static/familiar1x.7c9c7f15.json +3046 -0
  102. package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
  103. package/dist/static/five-min-clock.6be5cc41.json +721 -0
  104. package/dist/static/gold-1.ab2489fe.json +4176 -0
  105. package/dist/static/gold-2.34045826.json +4441 -0
  106. package/dist/static/gold-3.d704698b.json +4810 -0
  107. package/dist/static/levelup-rings.b1055283.json +549 -0
  108. package/dist/static/medium.94c3829b.json +2289 -0
  109. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  110. package/dist/static/point1.b53831de.json +2942 -0
  111. package/dist/static/point10.7b5e536d.json +3179 -0
  112. package/dist/static/point100.1df16f82.json +3196 -0
  113. package/dist/static/point15.fea00c32.json +3179 -0
  114. package/dist/static/point20.c88d776d.json +3178 -0
  115. package/dist/static/point25.a18c346a.json +3178 -0
  116. package/dist/static/point30.c5224b0b.json +3202 -0
  117. package/dist/static/point35.fad343dd.json +3058 -0
  118. package/dist/static/point40.10a16f72.json +3082 -0
  119. package/dist/static/point45.2ad7561f.json +3082 -0
  120. package/dist/static/point5.da40ed1f.json +2948 -0
  121. package/dist/static/point50.5718cb3d.json +3046 -0
  122. package/dist/static/point60.17380d9f.json +3076 -0
  123. package/dist/static/proficient1x.fa6e7b80.json +3430 -0
  124. package/dist/static/silver-1.0396328a.json +4168 -0
  125. package/dist/static/silver-2.bf50615f.json +4433 -0
  126. package/dist/static/silver-3.13d66b84.json +4810 -0
  127. package/dist/static/sleepy-boi.031a1165.json +1008 -0
  128. package/dist/static/spinner-white.639e0d87.json +122 -0
  129. package/dist/static/splash-screen.bbf567ce.json +2411 -0
  130. package/dist/static/stay-connected-lottie.111439b3.json +3547 -0
  131. package/dist/static/teacher-validation.7577ecdc.json +245 -0
  132. package/dist/static/total-streak.d5ce7669.json +842 -0
  133. package/dist/static/total-time-spent.434005d3.json +200 -0
  134. package/dist/static/total-time.d979cbb9.json +24383 -0
  135. package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
  136. package/dist/static/track-progress-lottie.422108cf.json +2972 -0
  137. package/package.json +1 -1
  138. package/dist/assets/lotties/circle/100pts.json.js +0 -7957
  139. package/dist/assets/lotties/circle/100pts.json.js.map +0 -1
  140. package/dist/assets/lotties/circle/10pts.json.js +0 -7753
  141. package/dist/assets/lotties/circle/10pts.json.js.map +0 -1
  142. package/dist/assets/lotties/circle/15pts.json.js +0 -7879
  143. package/dist/assets/lotties/circle/15pts.json.js.map +0 -1
  144. package/dist/assets/lotties/circle/1pts.json.js +0 -7257
  145. package/dist/assets/lotties/circle/1pts.json.js.map +0 -1
  146. package/dist/assets/lotties/circle/20pts.json.js +0 -7845
  147. package/dist/assets/lotties/circle/20pts.json.js.map +0 -1
  148. package/dist/assets/lotties/circle/25pts.json.js +0 -7971
  149. package/dist/assets/lotties/circle/25pts.json.js.map +0 -1
  150. package/dist/assets/lotties/circle/30pts.json.js +0 -7941
  151. package/dist/assets/lotties/circle/30pts.json.js.map +0 -1
  152. package/dist/assets/lotties/circle/35pts.json.js +0 -7881
  153. package/dist/assets/lotties/circle/35pts.json.js.map +0 -1
  154. package/dist/assets/lotties/circle/40pts.json.js +0 -7725
  155. package/dist/assets/lotties/circle/40pts.json.js.map +0 -1
  156. package/dist/assets/lotties/circle/45pts.json.js +0 -7851
  157. package/dist/assets/lotties/circle/45pts.json.js.map +0 -1
  158. package/dist/assets/lotties/circle/50pts.json.js +0 -7707
  159. package/dist/assets/lotties/circle/50pts.json.js.map +0 -1
  160. package/dist/assets/lotties/circle/5pts.json.js +0 -7420
  161. package/dist/assets/lotties/circle/5pts.json.js.map +0 -1
  162. package/dist/assets/lotties/circle/60pts.json.js +0 -7701
  163. package/dist/assets/lotties/circle/60pts.json.js.map +0 -1
  164. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js +0 -6811
  165. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js.map +0 -1
  166. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js +0 -1503
  167. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js.map +0 -1
  168. package/dist/assets/lotties/circle/circular-loader.json.js +0 -635
  169. package/dist/assets/lotties/circle/circular-loader.json.js.map +0 -1
  170. package/dist/assets/lotties/circle/elite-circle-lottie.json.js +0 -12079
  171. package/dist/assets/lotties/circle/elite-circle-lottie.json.js.map +0 -1
  172. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js +0 -1412
  173. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js.map +0 -1
  174. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js +0 -2632
  175. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js.map +0 -1
  176. package/dist/assets/lotties/circle/spinner-white.json.js +0 -316
  177. package/dist/assets/lotties/circle/spinner-white.json.js.map +0 -1
  178. package/dist/assets/lotties/circle/splash-screen.json.js +0 -5864
  179. package/dist/assets/lotties/circle/splash-screen.json.js.map +0 -1
  180. package/dist/assets/lotties/circle/total-streak-lottie.json.js +0 -2103
  181. package/dist/assets/lotties/circle/total-streak-lottie.json.js.map +0 -1
  182. package/dist/assets/lotties/circle/total-time-lottie.json.js +0 -33016
  183. package/dist/assets/lotties/circle/total-time-lottie.json.js.map +0 -1
  184. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js +0 -260
  185. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js.map +0 -1
  186. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js +0 -1563
  187. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js.map +0 -1
  188. package/dist/assets/lotties/common/nudge-tap.json.js +0 -3597
  189. package/dist/assets/lotties/common/nudge-tap.json.js.map +0 -1
  190. package/dist/assets/lotties/error-lottie.json.js +0 -12755
  191. package/dist/assets/lotties/error-lottie.json.js.map +0 -1
  192. package/dist/assets/lotties/perfect-hits/bronze-1.json.js +0 -10871
  193. package/dist/assets/lotties/perfect-hits/bronze-1.json.js.map +0 -1
  194. package/dist/assets/lotties/perfect-hits/bronze-2.json.js +0 -11389
  195. package/dist/assets/lotties/perfect-hits/bronze-2.json.js.map +0 -1
  196. package/dist/assets/lotties/perfect-hits/bronze-3.json.js +0 -12169
  197. package/dist/assets/lotties/perfect-hits/bronze-3.json.js.map +0 -1
  198. package/dist/assets/lotties/perfect-hits/color-1.json.js +0 -12348
  199. package/dist/assets/lotties/perfect-hits/color-1.json.js.map +0 -1
  200. package/dist/assets/lotties/perfect-hits/color-2.json.js +0 -12941
  201. package/dist/assets/lotties/perfect-hits/color-2.json.js.map +0 -1
  202. package/dist/assets/lotties/perfect-hits/color-3.json.js +0 -14034
  203. package/dist/assets/lotties/perfect-hits/color-3.json.js.map +0 -1
  204. package/dist/assets/lotties/perfect-hits/gold-1.json.js +0 -10871
  205. package/dist/assets/lotties/perfect-hits/gold-1.json.js.map +0 -1
  206. package/dist/assets/lotties/perfect-hits/gold-2.json.js +0 -11389
  207. package/dist/assets/lotties/perfect-hits/gold-2.json.js.map +0 -1
  208. package/dist/assets/lotties/perfect-hits/gold-3.json.js +0 -12169
  209. package/dist/assets/lotties/perfect-hits/gold-3.json.js.map +0 -1
  210. package/dist/assets/lotties/perfect-hits/silver-1.json.js +0 -10871
  211. package/dist/assets/lotties/perfect-hits/silver-1.json.js.map +0 -1
  212. package/dist/assets/lotties/perfect-hits/silver-2.json.js +0 -11389
  213. package/dist/assets/lotties/perfect-hits/silver-2.json.js.map +0 -1
  214. package/dist/assets/lotties/perfect-hits/silver-3.json.js +0 -12169
  215. package/dist/assets/lotties/perfect-hits/silver-3.json.js.map +0 -1
  216. package/dist/assets/lotties/teacher-validation.json.js +0 -649
  217. package/dist/assets/lotties/teacher-validation.json.js.map +0 -1
  218. package/dist/assets/lotties/tests-creation/clock_30_min.json.js +0 -2857
  219. package/dist/assets/lotties/tests-creation/clock_30_min.json.js.map +0 -1
  220. package/dist/assets/lotties/tests-creation/clock_45_min.json.js +0 -2857
  221. package/dist/assets/lotties/tests-creation/clock_45_min.json.js.map +0 -1
  222. package/dist/assets/lotties/tests-creation/clock_60_min.json.js +0 -2857
  223. package/dist/assets/lotties/tests-creation/clock_60_min.json.js.map +0 -1
  224. package/dist/assets/lotties/tests-creation/clock_90_min.json.js +0 -3345
  225. package/dist/assets/lotties/tests-creation/clock_90_min.json.js.map +0 -1
  226. package/dist/assets/lotties/tests-creation/difficult.json.js +0 -6713
  227. package/dist/assets/lotties/tests-creation/difficult.json.js.map +0 -1
  228. package/dist/assets/lotties/tests-creation/easy.json.js +0 -6525
  229. package/dist/assets/lotties/tests-creation/easy.json.js.map +0 -1
  230. package/dist/assets/lotties/tests-creation/medium.json.js +0 -5603
  231. package/dist/assets/lotties/tests-creation/medium.json.js.map +0 -1
  232. package/dist/assets/lotties/trial-v3/15min-clock.json.js +0 -2037
  233. package/dist/assets/lotties/trial-v3/15min-clock.json.js.map +0 -1
  234. package/dist/assets/lotties/trial-v3/5min-clock.json.js +0 -2062
  235. package/dist/assets/lotties/trial-v3/5min-clock.json.js.map +0 -1
  236. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js +0 -8517
  237. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js.map +0 -1
  238. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js +0 -7396
  239. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js.map +0 -1
  240. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js +0 -8559
  241. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js.map +0 -1
  242. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js +0 -23284
  243. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js.map +0 -1
  244. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js +0 -9090
  245. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js.map +0 -1
  246. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js +0 -8675
  247. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js.map +0 -1
  248. package/dist/features/circle-games/enum/circle-action-ids.js +0 -5
  249. package/dist/features/circle-games/enum/circle-action-ids.js.map +0 -1
  250. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js +0 -13
  251. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js.map +0 -1
  252. package/dist/features/circle-games/game-launcher/game-launcher-styled.js +0 -10
  253. package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +0 -1
  254. package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar-styled.js +0 -12
  255. package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar-styled.js.map +0 -1
  256. package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar.js +0 -30
  257. package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar.js.map +0 -1
  258. package/dist/features/post-game-stats/points/points-styled.js +0 -10
  259. package/dist/features/post-game-stats/points/points-styled.js.map +0 -1
  260. package/dist/features/trial-session/comps/render-lottie/index.js +0 -26
  261. package/dist/features/trial-session/comps/render-lottie/index.js.map +0 -1
  262. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js +0 -17
  263. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js.map +0 -1
@@ -1,71 +1,75 @@
1
- import { jsxs as N, jsx as u } from "react/jsx-runtime";
2
- import k from "lottie-web";
3
- import { memo as v, useState as K, useRef as o, useCallback as f, useEffect as M } from "react";
4
- import { useCircleSounds as g } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
5
- import { CircleSoundKey as I } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
6
- import { delay as R } from "../../utils/utils.js";
7
- import { Clock as x, ClockLottie as U, ClockTimeSpentLottie as $, TextWrapper as h } from "./clock-styled.js";
8
- import { getClockTimeSpentFramesToPlay as X } from "./clock-util.js";
9
- import { CLOCK_TIME_SPENT_FPS as Y, CLOCK as D, CLOCK_INFRAME_LOTTIE_TO_PLAY as j, TIME_LOTTIE_TO_PLAY_IN as w, TEXT_DISAPPEAR_DURATION as H, TEXT_APPEAR_DURATION as W, TIME_SHOWN_HOLD_TIME as b, TEXT_DISAPPEAR_DELAY as q } from "./constants.js";
10
- const z = () => import("../../../assets/lotties/circle/total-time-lottie.json.js"), B = () => import("../../../assets/lotties/circle/total-time-spent-lottie.json.js"), ot = v(({ show: s, onComplete: i, timeInMs: T, helperText: p }) => {
11
- const { play: c } = g(), [d, F] = K(!1), l = o(!1), m = o(0), L = o(null), S = o(null), a = o(), n = o(), E = f(() => {
1
+ import { jsxs as K, jsx as u } from "react/jsx-runtime";
2
+ import I from "lottie-web";
3
+ import { memo as g, useState as h, useRef as o, useCallback as T, useEffect as j } from "react";
4
+ import { LOTTIE as k } from "../../../assets/lottie/lottie.js";
5
+ import { useCircleSounds as x } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
6
+ import { CircleSoundKey as R } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
7
+ import { delay as D } from "../../utils/utils.js";
8
+ import { Clock as U, ClockLottie as $, ClockTimeSpentLottie as w, TextWrapper as X } from "./clock-styled.js";
9
+ import { getClockTimeSpentFramesToPlay as Y } from "./clock-util.js";
10
+ import { CLOCK_TIME_SPENT_FPS as H, CLOCK as N, CLOCK_INFRAME_LOTTIE_TO_PLAY as W, TIME_LOTTIE_TO_PLAY_IN as b, TEXT_DISAPPEAR_DURATION as q, TEXT_APPEAR_DURATION as z, TIME_SHOWN_HOLD_TIME as B, TEXT_DISAPPEAR_DELAY as G } from "./constants.js";
11
+ const it = g(({ show: s, onComplete: i, timeInMs: f, helperText: p }) => {
12
+ const { play: c } = x(), [L, F] = h(!1), m = o(!1), l = o(0), d = o(null), E = o(null), a = o(), n = o(), _ = T(() => {
12
13
  var t, e;
13
- const r = X(T);
14
- r && (m.current = r, (t = n.current) == null || t.setSpeed(r / Y), (e = n.current) == null || e.playSegments([0, r], !0), l.current = !0);
15
- }, [T]), _ = f(async () => {
14
+ const r = Y(f);
15
+ r && (l.current = r, (t = n.current) == null || t.setSpeed(r / H), (e = n.current) == null || e.playSegments([0, r], !0), m.current = !0);
16
+ }, [f]), S = T(async () => {
16
17
  var r, t;
17
- await R(b), (r = n.current) == null || r.playSegments([m.current, 0], !0), await R(q), F(!0), l.current && ((t = n.current) == null || t.addEventListener("complete", () => {
18
+ await D(B), (r = n.current) == null || r.playSegments([l.current, 0], !0), await D(G), F(!0), m.current && ((t = n.current) == null || t.addEventListener("complete", () => {
18
19
  var e;
19
- c(I.CLOCK_OUT), (e = a.current) == null || e.playSegments(D.OUT_FRAMES, !0);
20
+ c(R.CLOCK_OUT), (e = a.current) == null || e.playSegments(N.OUT_FRAMES, !0);
20
21
  }));
21
- }, [m, c]), A = f(() => {
22
+ }, [l, c]), A = T(() => {
22
23
  i == null || i();
23
24
  }, [i]);
24
- return M(() => {
25
+ return j(() => {
25
26
  if (s)
26
27
  return (async () => {
27
- var C, y, O;
28
+ var O, C, y;
28
29
  const [t, e] = await Promise.all([
29
- z(),
30
- B()
30
+ fetch(k.TOTAL_TIME),
31
+ fetch(k.TOTAL_TIME_SPENT)
32
+ ]), [M, v] = await Promise.all([
33
+ t.json(),
34
+ e.json()
31
35
  ]);
32
- a.current = k.loadAnimation({
33
- container: L.current,
34
- animationData: t.default,
36
+ a.current = I.loadAnimation({
37
+ container: d.current,
38
+ animationData: M,
35
39
  autoplay: !1,
36
40
  loop: !1,
37
41
  renderer: "canvas"
38
- }), n.current = k.loadAnimation({
39
- container: S.current,
40
- animationData: e.default,
42
+ }), n.current = I.loadAnimation({
43
+ container: E.current,
44
+ animationData: v,
41
45
  autoplay: !1,
42
46
  loop: !1,
43
47
  renderer: "canvas"
44
- }), c(I.CLOCK_IN), (C = a.current) == null || C.playSegments(D.IN_FRAMES, !0), (y = a.current) == null || y.addEventListener("complete", () => {
45
- l.current ? A() : E();
46
- }), (O = n.current) == null || O.addEventListener("complete", () => {
48
+ }), c(R.CLOCK_IN), (O = a.current) == null || O.playSegments(N.IN_FRAMES, !0), (C = a.current) == null || C.addEventListener("complete", () => {
49
+ m.current ? A() : _();
50
+ }), (y = n.current) == null || y.addEventListener("complete", () => {
47
51
  var P;
48
- (P = n.current) == null || P.removeEventListener("complete"), _();
52
+ (P = n.current) == null || P.removeEventListener("complete"), S();
49
53
  });
50
54
  })(), () => {
51
55
  var t, e;
52
56
  (t = a.current) == null || t.destroy(), (e = n.current) == null || e.destroy();
53
57
  };
54
- }, [s, E, A, _, c]), s ? /* @__PURE__ */ N(x, { children: [
55
- /* @__PURE__ */ u(U, { ref: L }),
56
- /* @__PURE__ */ u($, { ref: S }),
58
+ }, [s, _, A, S, c]), s ? /* @__PURE__ */ K(U, { children: [
59
+ /* @__PURE__ */ u($, { ref: d }),
60
+ /* @__PURE__ */ u(w, { ref: E }),
57
61
  p && /* @__PURE__ */ u(
58
- h,
62
+ X,
59
63
  {
60
- $delay: j + w,
61
- $animationType: d ? "fadeout" : "fadein",
62
- $duration: d ? H : W,
64
+ $delay: W + b,
65
+ $animationType: L ? "fadeout" : "fadein",
66
+ $duration: L ? q : z,
63
67
  children: p
64
68
  }
65
69
  )
66
70
  ] }) : null;
67
71
  });
68
72
  export {
69
- ot as Clock
73
+ it as Clock
70
74
  };
71
75
  //# sourceMappingURL=clock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clock.js","sources":["../../../../src/features/post-game-stats/clock/clock.tsx"],"sourcesContent":["import type { IClockProps } from './clock-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { delay } from '../../utils/utils';\nimport * as Styled from './clock-styled';\nimport { getClockTimeSpentFramesToPlay } from './clock-util';\nimport {\n CLOCK,\n CLOCK_TIME_SPENT_FPS,\n TIME_SHOWN_HOLD_TIME,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n CLOCK_INFRAME_LOTTIE_TO_PLAY,\n TIME_LOTTIE_TO_PLAY_IN,\n} from './constants';\n\nconst totalTimeLottie = () => import('../../../assets/lotties/circle/total-time-lottie.json');\nconst totalTimeSpentLottie = () =>\n import('../../../assets/lotties/circle/total-time-spent-lottie.json');\n\nexport const Clock: FC<IClockProps> = memo(({ show, onComplete, timeInMs, helperText }) => {\n const { play } = useCircleSounds();\n const [fadeOut, setFadeOut] = useState(false);\n const isClockTimeSpentShown = useRef(false);\n const framesToPlay = useRef(0);\n\n const clockLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockTimeSpentLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockLottieAnimationRef = useRef<AnimationItem>();\n const clockTimeSpentLottieAnimationRef = useRef<AnimationItem>();\n\n const setClockTimeSpentFrames = useCallback(() => {\n const frames = getClockTimeSpentFramesToPlay(timeInMs);\n\n if (frames) {\n framesToPlay.current = frames;\n // Speed adjustment\n clockTimeSpentLottieAnimationRef.current?.setSpeed(frames / CLOCK_TIME_SPENT_FPS);\n clockTimeSpentLottieAnimationRef.current?.playSegments([0, frames], true);\n isClockTimeSpentShown.current = true;\n }\n }, [timeInMs]);\n\n const onClockTimeSpentExitAnimationFinished = useCallback(async () => {\n await delay(TIME_SHOWN_HOLD_TIME);\n\n // Reverse play time spent animation\n clockTimeSpentLottieAnimationRef.current?.playSegments([framesToPlay.current, 0], true);\n\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeOut(true);\n\n if (isClockTimeSpentShown.current) {\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n play(CircleSoundKey.CLOCK_OUT);\n clockLottieAnimationRef.current?.playSegments(CLOCK.OUT_FRAMES, true);\n });\n }\n }, [framesToPlay, play]);\n\n const onAnimationEnd = useCallback(() => {\n onComplete?.();\n }, [onComplete]);\n\n // Play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimations = async () => {\n const [timeLottiePath, timeSpentLottiePath] = await Promise.all([\n totalTimeLottie(),\n totalTimeSpentLottie(),\n ]);\n\n // Clock Lottie\n clockLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockLottieContainerRef.current as Element,\n animationData: timeLottiePath.default,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Clock Time Spent Lottie\n clockTimeSpentLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockTimeSpentLottieContainerRef.current as Element,\n animationData: timeSpentLottiePath.default,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Play clock in animation sounds and lottie\n play(CircleSoundKey.CLOCK_IN);\n clockLottieAnimationRef.current?.playSegments(CLOCK.IN_FRAMES, true);\n\n clockLottieAnimationRef.current?.addEventListener('complete', () => {\n if (!isClockTimeSpentShown.current) {\n setClockTimeSpentFrames();\n } else {\n onAnimationEnd();\n }\n });\n\n // Setup event listener for time spent animation\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n clockTimeSpentLottieAnimationRef.current?.removeEventListener('complete');\n onClockTimeSpentExitAnimationFinished();\n });\n };\n\n loadAnimations();\n\n return () => {\n clockLottieAnimationRef.current?.destroy();\n clockTimeSpentLottieAnimationRef.current?.destroy();\n };\n }\n }, [show, setClockTimeSpentFrames, onAnimationEnd, onClockTimeSpentExitAnimationFinished, play]);\n\n if (show) {\n return (\n <Styled.Clock>\n <Styled.ClockLottie ref={clockLottieContainerRef} />\n <Styled.ClockTimeSpentLottie ref={clockTimeSpentLottieContainerRef} />\n {helperText && (\n <Styled.TextWrapper\n $delay={CLOCK_INFRAME_LOTTIE_TO_PLAY + TIME_LOTTIE_TO_PLAY_IN}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Clock>\n );\n }\n\n return null;\n});\n"],"names":["totalTimeLottie","totalTimeSpentLottie","Clock","memo","show","onComplete","timeInMs","helperText","play","useCircleSounds","fadeOut","setFadeOut","useState","isClockTimeSpentShown","useRef","framesToPlay","clockLottieContainerRef","clockTimeSpentLottieContainerRef","clockLottieAnimationRef","clockTimeSpentLottieAnimationRef","setClockTimeSpentFrames","useCallback","frames","getClockTimeSpentFramesToPlay","_a","CLOCK_TIME_SPENT_FPS","_b","onClockTimeSpentExitAnimationFinished","delay","TIME_SHOWN_HOLD_TIME","TEXT_DISAPPEAR_DELAY","CircleSoundKey","CLOCK","onAnimationEnd","useEffect","timeLottiePath","timeSpentLottiePath","Lottie","_c","jsxs","Styled.Clock","jsx","Styled.ClockLottie","Styled.ClockTimeSpentLottie","Styled.TextWrapper","CLOCK_INFRAME_LOTTIE_TO_PLAY","TIME_LOTTIE_TO_PLAY_IN","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":"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"}
1
+ {"version":3,"file":"clock.js","sources":["../../../../src/features/post-game-stats/clock/clock.tsx"],"sourcesContent":["import type { IClockProps } from './clock-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { delay } from '../../utils/utils';\nimport * as Styled from './clock-styled';\nimport { getClockTimeSpentFramesToPlay } from './clock-util';\nimport {\n CLOCK,\n CLOCK_TIME_SPENT_FPS,\n TIME_SHOWN_HOLD_TIME,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n CLOCK_INFRAME_LOTTIE_TO_PLAY,\n TIME_LOTTIE_TO_PLAY_IN,\n} from './constants';\n\nexport const Clock: FC<IClockProps> = memo(({ show, onComplete, timeInMs, helperText }) => {\n const { play } = useCircleSounds();\n const [fadeOut, setFadeOut] = useState(false);\n const isClockTimeSpentShown = useRef(false);\n const framesToPlay = useRef(0);\n\n const clockLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockTimeSpentLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockLottieAnimationRef = useRef<AnimationItem>();\n const clockTimeSpentLottieAnimationRef = useRef<AnimationItem>();\n\n const setClockTimeSpentFrames = useCallback(() => {\n const frames = getClockTimeSpentFramesToPlay(timeInMs);\n\n if (frames) {\n framesToPlay.current = frames;\n // Speed adjustment\n clockTimeSpentLottieAnimationRef.current?.setSpeed(frames / CLOCK_TIME_SPENT_FPS);\n clockTimeSpentLottieAnimationRef.current?.playSegments([0, frames], true);\n isClockTimeSpentShown.current = true;\n }\n }, [timeInMs]);\n\n const onClockTimeSpentExitAnimationFinished = useCallback(async () => {\n await delay(TIME_SHOWN_HOLD_TIME);\n\n // Reverse play time spent animation\n clockTimeSpentLottieAnimationRef.current?.playSegments([framesToPlay.current, 0], true);\n\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeOut(true);\n\n if (isClockTimeSpentShown.current) {\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n play(CircleSoundKey.CLOCK_OUT);\n clockLottieAnimationRef.current?.playSegments(CLOCK.OUT_FRAMES, true);\n });\n }\n }, [framesToPlay, play]);\n\n const onAnimationEnd = useCallback(() => {\n onComplete?.();\n }, [onComplete]);\n\n // Play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimations = async () => {\n const [timeLottiePath, timeSpentLottiePath] = await Promise.all([\n fetch(LOTTIE.TOTAL_TIME),\n fetch(LOTTIE.TOTAL_TIME_SPENT),\n ]);\n const [timeLottieData, timeSpentLottieData] = await Promise.all([\n timeLottiePath.json(),\n timeSpentLottiePath.json(),\n ]);\n\n // Clock Lottie\n clockLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockLottieContainerRef.current as Element,\n animationData: timeLottieData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Clock Time Spent Lottie\n clockTimeSpentLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockTimeSpentLottieContainerRef.current as Element,\n animationData: timeSpentLottieData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Play clock in animation sounds and lottie\n play(CircleSoundKey.CLOCK_IN);\n clockLottieAnimationRef.current?.playSegments(CLOCK.IN_FRAMES, true);\n\n clockLottieAnimationRef.current?.addEventListener('complete', () => {\n if (!isClockTimeSpentShown.current) {\n setClockTimeSpentFrames();\n } else {\n onAnimationEnd();\n }\n });\n\n // Setup event listener for time spent animation\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n clockTimeSpentLottieAnimationRef.current?.removeEventListener('complete');\n onClockTimeSpentExitAnimationFinished();\n });\n };\n\n loadAnimations();\n\n return () => {\n clockLottieAnimationRef.current?.destroy();\n clockTimeSpentLottieAnimationRef.current?.destroy();\n };\n }\n }, [show, setClockTimeSpentFrames, onAnimationEnd, onClockTimeSpentExitAnimationFinished, play]);\n\n if (show) {\n return (\n <Styled.Clock>\n <Styled.ClockLottie ref={clockLottieContainerRef} />\n <Styled.ClockTimeSpentLottie ref={clockTimeSpentLottieContainerRef} />\n {helperText && (\n <Styled.TextWrapper\n $delay={CLOCK_INFRAME_LOTTIE_TO_PLAY + TIME_LOTTIE_TO_PLAY_IN}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Clock>\n );\n }\n\n return null;\n});\n"],"names":["Clock","memo","show","onComplete","timeInMs","helperText","play","useCircleSounds","fadeOut","setFadeOut","useState","isClockTimeSpentShown","useRef","framesToPlay","clockLottieContainerRef","clockTimeSpentLottieContainerRef","clockLottieAnimationRef","clockTimeSpentLottieAnimationRef","setClockTimeSpentFrames","useCallback","frames","getClockTimeSpentFramesToPlay","_a","CLOCK_TIME_SPENT_FPS","_b","onClockTimeSpentExitAnimationFinished","delay","TIME_SHOWN_HOLD_TIME","TEXT_DISAPPEAR_DELAY","CircleSoundKey","CLOCK","onAnimationEnd","useEffect","timeLottiePath","timeSpentLottiePath","LOTTIE","timeLottieData","timeSpentLottieData","Lottie","_c","jsxs","Styled.Clock","jsx","Styled.ClockLottie","Styled.ClockTimeSpentLottie","Styled.TextWrapper","CLOCK_INFRAME_LOTTIE_TO_PLAY","TIME_LOTTIE_TO_PLAY_IN","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":"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"}
@@ -1,49 +1,48 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- import c from "lottie-web";
3
- import { memo as f, useRef as u, useEffect as d } from "react";
4
- import { useCircleSounds as A } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
5
- import { CircleSoundKey as P } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
6
- import { PointsWrapper as y } from "./points-styled.js";
7
- const E = {
8
- point1: () => import("../../../assets/lotties/circle/1pts.json.js"),
9
- point5: () => import("../../../assets/lotties/circle/5pts.json.js"),
10
- point10: () => import("../../../assets/lotties/circle/10pts.json.js"),
11
- point15: () => import("../../../assets/lotties/circle/15pts.json.js"),
12
- point20: () => import("../../../assets/lotties/circle/20pts.json.js"),
13
- point25: () => import("../../../assets/lotties/circle/25pts.json.js"),
14
- point30: () => import("../../../assets/lotties/circle/30pts.json.js"),
15
- point35: () => import("../../../assets/lotties/circle/35pts.json.js"),
16
- point40: () => import("../../../assets/lotties/circle/40pts.json.js"),
17
- point45: () => import("../../../assets/lotties/circle/45pts.json.js"),
18
- point50: () => import("../../../assets/lotties/circle/50pts.json.js"),
19
- point60: () => import("../../../assets/lotties/circle/60pts.json.js"),
20
- point100: () => import("../../../assets/lotties/circle/100pts.json.js")
21
- }, x = f((s) => {
22
- const { point: o = 0, onReveal: i, onComplete: r, show: n } = s, p = u(null), { play: e } = A();
23
- return d(() => {
24
- let t = null;
25
- if (n && o) {
26
- const m = E[`point${o}`];
27
- (async () => {
28
- if (m) {
29
- const l = await m();
30
- t = c.loadAnimation({
31
- animationData: l.default,
32
- container: p.current,
33
- loop: !1,
34
- autoplay: !0,
35
- renderer: "canvas"
36
- }), e(P.POINTS_AWARDED), t.addEventListener("complete", r);
37
- } else
38
- r();
39
- })(), i == null || i();
1
+ import { jsx as N } from "react/jsx-runtime";
2
+ import { memo as P, useEffect as T } from "react";
3
+ import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
4
+ import { GAME_LAUNCHER_SIZE as a, GAME_LAUNCHER_ASSET_PADDING as O, GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH as c } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
5
+ import { useCircleSounds as E } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
6
+ import { CircleSoundKey as f } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
7
+ import A from "../../ui/lottie-animation/lottie-animation.js";
8
+ const _ = {
9
+ point1: t.POINT1,
10
+ point5: t.POINT5,
11
+ point10: t.POINT10,
12
+ point15: t.POINT15,
13
+ point20: t.POINT20,
14
+ point25: t.POINT25,
15
+ point30: t.POINT30,
16
+ point35: t.POINT35,
17
+ point40: t.POINT40,
18
+ point45: t.POINT45,
19
+ point50: t.POINT50,
20
+ point60: t.POINT60,
21
+ point100: t.POINT100
22
+ }, r = a + O - c, l = {
23
+ loop: !1,
24
+ autoplay: !0,
25
+ renderer: "canvas"
26
+ }, d = P((p) => {
27
+ const { point: m = 0, onReveal: n, onComplete: i, show: e } = p, { play: s } = E(), o = _[`point${m}`], I = {
28
+ name: "complete",
29
+ callback: i
30
+ };
31
+ return T(() => {
32
+ o || i(), e && o && (n == null || n());
33
+ }, [o, i, n, e]), e && o ? /* @__PURE__ */ N(
34
+ A,
35
+ {
36
+ width: r,
37
+ height: r,
38
+ src: o,
39
+ settings: l,
40
+ eventListener: I,
41
+ onRender: () => s(f.POINTS_AWARDED)
40
42
  }
41
- return () => {
42
- t == null || t.removeEventListener("complete", r), t == null || t.destroy();
43
- };
44
- }, [n, o, r, e, i]), n && o ? /* @__PURE__ */ a(y, { ref: p }) : null;
43
+ ) : null;
45
44
  });
46
45
  export {
47
- x as Points
46
+ d as Points
48
47
  };
49
48
  //# sourceMappingURL=points.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef } from 'react';\n\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport * as Styled from './points-styled';\n\n// lazy load points lotties\nconst POINTS_MAP: Record<string, () => Promise<{ default: Record<string, unknown> }>> = {\n point1: () => import('../../../assets/lotties/circle/1pts.json'),\n point5: () => import('../../../assets/lotties/circle/5pts.json'),\n point10: () => import('../../../assets/lotties/circle/10pts.json'),\n point15: () => import('../../../assets/lotties/circle/15pts.json'),\n point20: () => import('../../../assets/lotties/circle/20pts.json'),\n point25: () => import('../../../assets/lotties/circle/25pts.json'),\n point30: () => import('../../../assets/lotties/circle/30pts.json'),\n point35: () => import('../../../assets/lotties/circle/35pts.json'),\n point40: () => import('../../../assets/lotties/circle/40pts.json'),\n point45: () => import('../../../assets/lotties/circle/45pts.json'),\n point50: () => import('../../../assets/lotties/circle/50pts.json'),\n point60: () => import('../../../assets/lotties/circle/60pts.json'),\n point100: () => import('../../../assets/lotties/circle/100pts.json'),\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n const pointsLottieRef = useRef<HTMLDivElement>(null);\n const { play } = useCircleSounds();\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n\n if (show && point) {\n const lottiePath = POINTS_MAP[`point${point}`];\n\n const loadAnimation = async () => {\n if (lottiePath) {\n const data = await lottiePath();\n\n animation = Lottie.loadAnimation({\n animationData: data.default,\n container: pointsLottieRef.current as Element,\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n });\n\n play(CircleSoundKey.POINTS_AWARDED);\n animation.addEventListener('complete', onComplete);\n } else {\n onComplete(); // safe check if point is not found\n }\n };\n\n loadAnimation();\n onReveal?.();\n }\n\n return () => {\n animation?.removeEventListener('complete', onComplete);\n animation?.destroy();\n };\n }, [show, point, onComplete, play, onReveal]);\n\n if (show && point) {\n return <Styled.PointsWrapper ref={pointsLottieRef} />;\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","Points","memo","props","point","onReveal","onComplete","show","pointsLottieRef","useRef","play","useCircleSounds","useEffect","animation","lottiePath","data","Lottie","CircleSoundKey","jsx","Styled.PointsWrapper"],"mappings":";;;;;;AAYA,MAAMA,IAAkF;AAAA,EACtF,QAAQ,MAAM,OAAO,6CAA0C;AAAA,EAC/D,QAAQ,MAAM,OAAO,6CAA0C;AAAA,EAC/D,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,UAAU,MAAM,OAAO,+CAA4C;AACrE,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAC5CK,IAAkBC,EAAuB,IAAI,GAC7C,EAAE,MAAAC,MAASC;AAqCjB,SAnCAC,EAAU,MAAM;AACd,QAAIC,IAAkC;AAEtC,QAAIN,KAAQH,GAAO;AACjB,YAAMU,IAAad,EAAW,QAAQI,CAAK,EAAE;AAqB/B,OAnBQ,YAAY;AAChC,YAAIU,GAAY;AACR,gBAAAC,IAAO,MAAMD;AAEnB,UAAAD,IAAYG,EAAO,cAAc;AAAA,YAC/B,eAAeD,EAAK;AAAA,YACpB,WAAWP,EAAgB;AAAA,YAC3B,MAAM;AAAA,YACN,UAAU;AAAA,YACV,UAAU;AAAA,UAAA,CACX,GAEDE,EAAKO,EAAe,cAAc,GACxBJ,EAAA,iBAAiB,YAAYP,CAAU;AAAA,QAAA;AAEtC,UAAAA;MACb,MAISD,KAAA,QAAAA;AAAA,IACb;AAEA,WAAO,MAAM;AACA,MAAAQ,KAAA,QAAAA,EAAA,oBAAoB,YAAYP,IAC3CO,KAAA,QAAAA,EAAW;AAAA,IAAQ;AAAA,EACrB,GACC,CAACN,GAAMH,GAAOE,GAAYI,GAAML,CAAQ,CAAC,GAExCE,KAAQH,IACF,gBAAAc,EAAAC,GAAA,EAAqB,KAAKX,EAAiB,CAAA,IAG9C;AACT,CAAC;"}
1
+ {"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationEventName } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n GAME_LAUNCHER_SIZE,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\n\nconst POINTS_MAP: Record<string, string> = {\n point1: LOTTIE.POINT1,\n point5: LOTTIE.POINT5,\n point10: LOTTIE.POINT10,\n point15: LOTTIE.POINT15,\n point20: LOTTIE.POINT20,\n point25: LOTTIE.POINT25,\n point30: LOTTIE.POINT30,\n point35: LOTTIE.POINT35,\n point40: LOTTIE.POINT40,\n point45: LOTTIE.POINT45,\n point50: LOTTIE.POINT50,\n point60: LOTTIE.POINT60,\n point100: LOTTIE.POINT100,\n};\nconst animationDimension =\n GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING - GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH;\nconst animationSettings = {\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n\n const { play } = useCircleSounds();\n\n const animationPath = POINTS_MAP[`point${point}`];\n const animationEventListener = {\n name: 'complete' as AnimationEventName,\n callback: onComplete,\n };\n\n useEffect(() => {\n if (!animationPath) onComplete();\n\n if (show && animationPath) onReveal?.();\n }, [animationPath, onComplete, onReveal, show]);\n\n if (show && animationPath) {\n return (\n <LottieAnimation\n width={animationDimension}\n height={animationDimension}\n src={animationPath}\n settings={animationSettings}\n eventListener={animationEventListener}\n onRender={() => play(CircleSoundKey.POINTS_AWARDED)}\n />\n );\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","LOTTIE","animationDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH","animationSettings","Points","memo","props","point","onReveal","onComplete","show","play","useCircleSounds","animationPath","animationEventListener","useEffect","jsx","LottieAnimation","CircleSoundKey"],"mappings":";;;;;;;AAgBA,MAAMA,IAAqC;AAAA,EACzC,QAAQC,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,UAAUA,EAAO;AACnB,GACMC,IACJC,IAAqBC,IAA8BC,GAC/CC,IAAoB;AAAA,EACxB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAE5C,EAAE,MAAAK,MAASC,KAEXC,IAAgBhB,EAAW,QAAQU,CAAK,EAAE,GAC1CO,IAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,UAAUL;AAAA,EAAA;AASZ,SANAM,EAAU,MAAM;AACV,IAACF,KAA0BJ,KAE3BC,KAAQG,MAA0BL,KAAA,QAAAA;AAAA,KACrC,CAACK,GAAeJ,GAAYD,GAAUE,CAAI,CAAC,GAE1CA,KAAQG,IAER,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOlB;AAAA,MACP,QAAQA;AAAA,MACR,KAAKc;AAAA,MACL,UAAUV;AAAA,MACV,eAAeW;AAAA,MACf,UAAU,MAAMH,EAAKO,EAAe,cAAc;AAAA,IAAA;AAAA,EAAA,IAKjD;AACT,CAAC;"}
@@ -1,34 +1,36 @@
1
1
  import { jsxs as f, jsx as e } from "react/jsx-runtime";
2
2
  import k from "lottie-web";
3
- import { memo as $, useState as p, useRef as E, useCallback as L, useEffect as U } from "react";
4
- import { useCircleSounds as K } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
3
+ import { memo as P, useState as p, useRef as E, useCallback as $, useEffect as L } from "react";
4
+ import { LOTTIE as K } from "../../../assets/lottie/lottie.js";
5
+ import { useCircleSounds as U } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
5
6
  import { CircleSoundKey as I } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
7
+ import { fetchLottie as x } from "../../ui/lottie-animation/helper.js";
6
8
  import { delay as l } from "../../utils/utils.js";
7
- import { TEXT_DISAPPEAR_DELAY as x, OUT_FRAMES as c, STREAK_DISAPPEAR_ANIMATION_DURATION as C, STREAK_APPEAR_ANIMATION_DURATION as b, STREAK_SCROLL_ANIMATION_DURATION as _, STREAK_WAIT_DURATION as R, TEXT_DISAPPEAR_DURATION as w, TEXT_APPEAR_DURATION as F, IN_FRAMES as M } from "./constants.js";
8
- import { Streak as V, SVGImgContainer as W, StreakLottieView as g, StreakValueWrapper as X, StreakValueContainer as j, StreakValue as y, TextWrapper as H } from "./streak-styled.js";
9
- const G = () => import("../../../assets/lotties/circle/total-streak-lottie.json.js"), tt = $((O) => {
10
- const { currStreak: T, show: s, onReveal: r, onComplete: a, helperText: u } = O, { play: o } = K(), [D, N] = p(0), m = E(null), n = E(), [i, P] = p(!1), S = L(async () => {
11
- var A;
9
+ import { TEXT_DISAPPEAR_DELAY as C, OUT_FRAMES as T, STREAK_DISAPPEAR_ANIMATION_DURATION as b, STREAK_APPEAR_ANIMATION_DURATION as w, STREAK_SCROLL_ANIMATION_DURATION as _, STREAK_WAIT_DURATION as R, TEXT_DISAPPEAR_DURATION as F, TEXT_APPEAR_DURATION as M, IN_FRAMES as V } from "./constants.js";
10
+ import { Streak as W, SVGImgContainer as g, StreakLottieView as X, StreakValueWrapper as j, StreakValueContainer as H, StreakValue as O, TextWrapper as G } from "./streak-styled.js";
11
+ const rt = P((y) => {
12
+ const { currStreak: c, show: A, onReveal: r, onComplete: a, helperText: m } = y, { play: o } = U(), [D, N] = p(0), u = E(null), n = E(), [i, h] = p(!1), S = $(async () => {
13
+ var s;
12
14
  try {
13
- await l(x), P(!0), o(I.STREAK_OUT), (A = n.current) == null || A.playSegments(c, !0), await l(
14
- (c[1] - c[0]) * 1e3 / 30
15
+ await l(C), h(!0), o(I.STREAK_OUT), (s = n.current) == null || s.playSegments(T, !0), await l(
16
+ (T[1] - T[0]) * 1e3 / 30
15
17
  ), a == null || a();
16
18
  } catch (t) {
17
19
  console.log(t);
18
20
  }
19
21
  }, [a, o]);
20
- return U(() => {
21
- if (s)
22
+ return L(() => {
23
+ if (A)
22
24
  return (async () => {
23
25
  var d;
24
- const h = (await G()).default;
26
+ const t = await x(K.TOTAL_STREAK);
25
27
  n.current = k.loadAnimation({
26
- container: m.current,
27
- animationData: h,
28
+ container: u.current,
29
+ animationData: t,
28
30
  autoplay: !1,
29
31
  loop: !1,
30
32
  renderer: "canvas"
31
- }), o(I.STREAK_IN), (d = n.current) == null || d.playSegments(M, !0), r == null || r(), l(R).then(() => {
33
+ }), o(I.STREAK_IN), (d = n.current) == null || d.playSegments(V, !0), r == null || r(), l(R).then(() => {
32
34
  N(1), l(_).then(() => {
33
35
  S();
34
36
  });
@@ -37,39 +39,39 @@ const G = () => import("../../../assets/lotties/circle/total-streak-lottie.json.
37
39
  var t;
38
40
  (t = n.current) == null || t.destroy();
39
41
  };
40
- }, [s, S, o, r]), s ? /* @__PURE__ */ f(V, { children: [
41
- /* @__PURE__ */ e(W, {}),
42
- /* @__PURE__ */ e(g, { ref: m }),
42
+ }, [A, S, o, r]), A ? /* @__PURE__ */ f(W, { children: [
43
+ /* @__PURE__ */ e(g, {}),
44
+ /* @__PURE__ */ e(X, { ref: u }),
43
45
  /* @__PURE__ */ e(
44
- X,
46
+ j,
45
47
  {
46
48
  $animationType: i ? "fadeout" : "fadein",
47
- $duration: i ? C : b,
49
+ $duration: i ? b : w,
48
50
  children: /* @__PURE__ */ f(
49
- j,
51
+ H,
50
52
  {
51
53
  $translate: D > 0,
52
54
  $translateDuration: _,
53
55
  children: [
54
- /* @__PURE__ */ e(y, { $color: "WHITE", $renderAs: "ab1-bold", children: T }),
55
- /* @__PURE__ */ e(y, { $color: "WHITE", $renderAs: "ab1-bold", children: T + 1 })
56
+ /* @__PURE__ */ e(O, { $color: "WHITE", $renderAs: "ab1-bold", children: c }),
57
+ /* @__PURE__ */ e(O, { $color: "WHITE", $renderAs: "ab1-bold", children: c + 1 })
56
58
  ]
57
59
  }
58
60
  )
59
61
  }
60
62
  ),
61
- u && /* @__PURE__ */ e(
62
- H,
63
+ m && /* @__PURE__ */ e(
64
+ G,
63
65
  {
64
66
  $delay: R,
65
67
  $animationType: i ? "fadeout" : "fadein",
66
- $duration: i ? w : F,
67
- children: u
68
+ $duration: i ? F : M,
69
+ children: m
68
70
  }
69
71
  )
70
72
  ] }) : null;
71
73
  });
72
74
  export {
73
- tt as Streak
75
+ rt as Streak
74
76
  };
75
77
  //# sourceMappingURL=streak.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"streak.js","sources":["../../../../src/features/post-game-stats/streak/streak.tsx"],"sourcesContent":["import type { IStreakProps } from './streak-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { delay } from '../../utils/utils';\nimport {\n IN_FRAMES,\n OUT_FRAMES,\n STREAK_APPEAR_ANIMATION_DURATION,\n STREAK_DISAPPEAR_ANIMATION_DURATION,\n STREAK_SCROLL_ANIMATION_DURATION,\n STREAK_WAIT_DURATION,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n} from './constants';\nimport * as Styled from './streak-styled';\n\nconst streakLottie = () => import('../../../assets/lotties/circle/total-streak-lottie.json');\n\nexport const Streak: FC<IStreakProps> = memo(props => {\n const { currStreak, show, onReveal, onComplete, helperText } = props;\n const { play } = useCircleSounds();\n const [displayStreak, setDisplayStreak] = useState(0);\n const lottieContainerRef = useRef<HTMLDivElement>(null);\n const lottieAnimationRef = useRef<AnimationItem>();\n const [fadeOut, setFadeout] = useState(false);\n\n const playExitAnimation = useCallback(async () => {\n try {\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeout(true);\n play(CircleSoundKey.STREAK_OUT);\n lottieAnimationRef.current?.playSegments(OUT_FRAMES, true);\n const LOTTIE_FPS = 30;\n\n await delay(\n (((OUT_FRAMES[1] as unknown as number) - (OUT_FRAMES[0] as unknown as number)) * 1000) /\n LOTTIE_FPS,\n );\n onComplete?.();\n } catch (err) {\n /* eslint-disable no-console */\n console.log(err);\n }\n }, [onComplete, play]);\n\n // play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimation = async () => {\n const lottiePath = await streakLottie();\n\n const streakLottieAnimationData = lottiePath.default;\n\n lottieAnimationRef.current = Lottie.loadAnimation({\n container: lottieContainerRef.current as Element,\n animationData: streakLottieAnimationData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n play(CircleSoundKey.STREAK_IN);\n lottieAnimationRef.current?.playSegments(IN_FRAMES, true);\n onReveal?.();\n\n delay(STREAK_WAIT_DURATION).then(() => {\n setDisplayStreak(1);\n delay(STREAK_SCROLL_ANIMATION_DURATION).then(() => {\n playExitAnimation();\n });\n });\n };\n\n loadAnimation();\n\n return () => {\n lottieAnimationRef.current?.destroy();\n };\n }\n }, [show, playExitAnimation, play, onReveal]);\n\n if (show) {\n return (\n <Styled.Streak>\n <Styled.SVGImgContainer />\n <Styled.StreakLottieView ref={lottieContainerRef} />\n\n <Styled.StreakValueWrapper\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={\n fadeOut ? STREAK_DISAPPEAR_ANIMATION_DURATION : STREAK_APPEAR_ANIMATION_DURATION\n }\n >\n <Styled.StreakValueContainer\n $translate={displayStreak > 0}\n $translateDuration={STREAK_SCROLL_ANIMATION_DURATION}\n >\n <Styled.StreakValue $color=\"WHITE\" $renderAs=\"ab1-bold\">\n {currStreak}\n </Styled.StreakValue>\n <Styled.StreakValue $color=\"WHITE\" $renderAs=\"ab1-bold\">\n {currStreak + 1}\n </Styled.StreakValue>\n </Styled.StreakValueContainer>\n </Styled.StreakValueWrapper>\n\n {helperText && (\n <Styled.TextWrapper\n $delay={STREAK_WAIT_DURATION}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Streak>\n );\n }\n\n return null;\n});\n"],"names":["streakLottie","Streak","memo","props","currStreak","show","onReveal","onComplete","helperText","play","useCircleSounds","displayStreak","setDisplayStreak","useState","lottieContainerRef","useRef","lottieAnimationRef","fadeOut","setFadeout","playExitAnimation","useCallback","delay","TEXT_DISAPPEAR_DELAY","CircleSoundKey","_a","OUT_FRAMES","err","useEffect","streakLottieAnimationData","Lottie","IN_FRAMES","STREAK_WAIT_DURATION","STREAK_SCROLL_ANIMATION_DURATION","jsxs","Styled.Streak","jsx","Styled.SVGImgContainer","Styled.StreakLottieView","Styled.StreakValueWrapper","STREAK_DISAPPEAR_ANIMATION_DURATION","STREAK_APPEAR_ANIMATION_DURATION","Styled.StreakValueContainer","Styled.StreakValue","Styled.TextWrapper","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":";;;;;;;;AAuBA,MAAMA,IAAe,MAAM,OAAO,4DAAyD,GAE9EC,KAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,YAAAC,GAAY,MAAAC,GAAM,UAAAC,GAAU,YAAAC,GAAY,YAAAC,EAAe,IAAAL,GACzD,EAAE,MAAAM,MAASC,KACX,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAC9CC,IAAqBC,EAAuB,IAAI,GAChDC,IAAqBD,KACrB,CAACE,GAASC,CAAU,IAAIL,EAAS,EAAK,GAEtCM,IAAoBC,EAAY,YAAY;;AAC5C,QAAA;AACF,YAAMC,EAAMC,CAAoB,GAChCJ,EAAW,EAAI,GACfT,EAAKc,EAAe,UAAU,IACXC,IAAAR,EAAA,YAAA,QAAAQ,EAAS,aAAaC,GAAY,KAG/C,MAAAJ;AAAA,SACDI,EAAW,CAAC,IAA2BA,EAAW,CAAC,KAA2B,MAHhE;AAAA,MAIf,GAESlB,KAAA,QAAAA;AAAA,aACNmB,GAAK;AAEZ,cAAQ,IAAIA,CAAG;AAAA,IACjB;AAAA,EAAA,GACC,CAACnB,GAAYE,CAAI,CAAC;AAsCrB,SAnCAkB,EAAU,MAAM;AACd,QAAItB;AA0BY,cAzBQ,YAAY;;AAGhC,cAAMuB,KAFa,MAAM5B,KAEoB;AAE1B,QAAAgB,EAAA,UAAUa,EAAO,cAAc;AAAA,UAChD,WAAWf,EAAmB;AAAA,UAC9B,eAAec;AAAA,UACf,UAAU;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,QAAA,CACX,GAEDnB,EAAKc,EAAe,SAAS,IACVC,IAAAR,EAAA,YAAA,QAAAQ,EAAS,aAAaM,GAAW,KACzCxB,KAAA,QAAAA,KAELe,EAAAU,CAAoB,EAAE,KAAK,MAAM;AACrC,UAAAnB,EAAiB,CAAC,GACZS,EAAAW,CAAgC,EAAE,KAAK,MAAM;AAC/B,YAAAb;UAAA,CACnB;AAAA,QAAA,CACF;AAAA,MAAA,MAKI,MAAM;;AACX,SAAAK,IAAAR,EAAmB,YAAnB,QAAAQ,EAA4B;AAAA,MAAQ;AAAA,KAGvC,CAACnB,GAAMc,GAAmBV,GAAMH,CAAQ,CAAC,GAExCD,IAEA,gBAAA4B,EAACC,GAAA,EACC,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAuB;AAAA,IACvB,gBAAAD,EAAAE,GAAA,EAAwB,KAAKvB,EAAoB,CAAA;AAAA,IAElD,gBAAAqB;AAAA,MAACG;AAAAA,MAAA;AAAA,QACC,gBAAgBrB,IAAU,YAAY;AAAA,QACtC,WACEA,IAAUsB,IAAsCC;AAAA,QAGlD,UAAA,gBAAAP;AAAA,UAACQ;AAAAA,UAAA;AAAA,YACC,YAAY9B,IAAgB;AAAA,YAC5B,oBAAoBqB;AAAA,YAEpB,UAAA;AAAA,cAAA,gBAAAG,EAACO,GAAA,EAAmB,QAAO,SAAQ,WAAU,YAC1C,UACHtC,GAAA;AAAA,cACA,gBAAA+B,EAACO,GAAA,EAAmB,QAAO,SAAQ,WAAU,YAC1C,UAAAtC,IAAa,GAChB;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,IAECI,KACC,gBAAA2B;AAAA,MAACQ;AAAAA,MAAA;AAAA,QACC,QAAQZ;AAAA,QACR,gBAAgBd,IAAU,YAAY;AAAA,QACtC,WAAWA,IAAU2B,IAA0BC;AAAA,QAE9C,UAAArC;AAAA,MAAA;AAAA,IACH;AAAA,EAEJ,EAAA,CAAA,IAIG;AACT,CAAC;"}
1
+ {"version":3,"file":"streak.js","sources":["../../../../src/features/post-game-stats/streak/streak.tsx"],"sourcesContent":["import type { IStreakProps } from './streak-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { fetchLottie } from '../../ui/lottie-animation/helper';\nimport { delay } from '../../utils/utils';\nimport {\n IN_FRAMES,\n OUT_FRAMES,\n STREAK_APPEAR_ANIMATION_DURATION,\n STREAK_DISAPPEAR_ANIMATION_DURATION,\n STREAK_SCROLL_ANIMATION_DURATION,\n STREAK_WAIT_DURATION,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n} from './constants';\nimport * as Styled from './streak-styled';\n\nexport const Streak: FC<IStreakProps> = memo(props => {\n const { currStreak, show, onReveal, onComplete, helperText } = props;\n const { play } = useCircleSounds();\n const [displayStreak, setDisplayStreak] = useState(0);\n const lottieContainerRef = useRef<HTMLDivElement>(null);\n const lottieAnimationRef = useRef<AnimationItem>();\n const [fadeOut, setFadeout] = useState(false);\n\n const playExitAnimation = useCallback(async () => {\n try {\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeout(true);\n play(CircleSoundKey.STREAK_OUT);\n lottieAnimationRef.current?.playSegments(OUT_FRAMES, true);\n const LOTTIE_FPS = 30;\n\n await delay(\n (((OUT_FRAMES[1] as unknown as number) - (OUT_FRAMES[0] as unknown as number)) * 1000) /\n LOTTIE_FPS,\n );\n onComplete?.();\n } catch (err) {\n /* eslint-disable no-console */\n console.log(err);\n }\n }, [onComplete, play]);\n\n // play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimation = async () => {\n const streakLottieAnimationData = await fetchLottie(LOTTIE.TOTAL_STREAK);\n\n lottieAnimationRef.current = Lottie.loadAnimation({\n container: lottieContainerRef.current as Element,\n animationData: streakLottieAnimationData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n play(CircleSoundKey.STREAK_IN);\n lottieAnimationRef.current?.playSegments(IN_FRAMES, true);\n onReveal?.();\n\n delay(STREAK_WAIT_DURATION).then(() => {\n setDisplayStreak(1);\n delay(STREAK_SCROLL_ANIMATION_DURATION).then(() => {\n playExitAnimation();\n });\n });\n };\n\n loadAnimation();\n\n return () => {\n lottieAnimationRef.current?.destroy();\n };\n }\n }, [show, playExitAnimation, play, onReveal]);\n\n if (show) {\n return (\n <Styled.Streak>\n <Styled.SVGImgContainer />\n <Styled.StreakLottieView ref={lottieContainerRef} />\n\n <Styled.StreakValueWrapper\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={\n fadeOut ? STREAK_DISAPPEAR_ANIMATION_DURATION : STREAK_APPEAR_ANIMATION_DURATION\n }\n >\n <Styled.StreakValueContainer\n $translate={displayStreak > 0}\n $translateDuration={STREAK_SCROLL_ANIMATION_DURATION}\n >\n <Styled.StreakValue $color=\"WHITE\" $renderAs=\"ab1-bold\">\n {currStreak}\n </Styled.StreakValue>\n <Styled.StreakValue $color=\"WHITE\" $renderAs=\"ab1-bold\">\n {currStreak + 1}\n </Styled.StreakValue>\n </Styled.StreakValueContainer>\n </Styled.StreakValueWrapper>\n\n {helperText && (\n <Styled.TextWrapper\n $delay={STREAK_WAIT_DURATION}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Streak>\n );\n }\n\n return null;\n});\n"],"names":["Streak","memo","props","currStreak","show","onReveal","onComplete","helperText","play","useCircleSounds","displayStreak","setDisplayStreak","useState","lottieContainerRef","useRef","lottieAnimationRef","fadeOut","setFadeout","playExitAnimation","useCallback","delay","TEXT_DISAPPEAR_DELAY","CircleSoundKey","_a","OUT_FRAMES","err","useEffect","streakLottieAnimationData","fetchLottie","LOTTIE","Lottie","IN_FRAMES","STREAK_WAIT_DURATION","STREAK_SCROLL_ANIMATION_DURATION","jsxs","Styled.Streak","jsx","Styled.SVGImgContainer","Styled.StreakLottieView","Styled.StreakValueWrapper","STREAK_DISAPPEAR_ANIMATION_DURATION","STREAK_APPEAR_ANIMATION_DURATION","Styled.StreakValueContainer","Styled.StreakValue","Styled.TextWrapper","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":";;;;;;;;;;AAyBa,MAAAA,KAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,YAAAC,GAAY,MAAAC,GAAM,UAAAC,GAAU,YAAAC,GAAY,YAAAC,EAAe,IAAAL,GACzD,EAAE,MAAAM,MAASC,KACX,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAC9CC,IAAqBC,EAAuB,IAAI,GAChDC,IAAqBD,KACrB,CAACE,GAASC,CAAU,IAAIL,EAAS,EAAK,GAEtCM,IAAoBC,EAAY,YAAY;;AAC5C,QAAA;AACF,YAAMC,EAAMC,CAAoB,GAChCJ,EAAW,EAAI,GACfT,EAAKc,EAAe,UAAU,IACXC,IAAAR,EAAA,YAAA,QAAAQ,EAAS,aAAaC,GAAY,KAG/C,MAAAJ;AAAA,SACDI,EAAW,CAAC,IAA2BA,EAAW,CAAC,KAA2B,MAHhE;AAAA,MAIf,GAESlB,KAAA,QAAAA;AAAA,aACNmB,GAAK;AAEZ,cAAQ,IAAIA,CAAG;AAAA,IACjB;AAAA,EAAA,GACC,CAACnB,GAAYE,CAAI,CAAC;AAoCrB,SAjCAkB,EAAU,MAAM;AACd,QAAItB;AAwBY,cAvBQ,YAAY;;AAChC,cAAMuB,IAA4B,MAAMC,EAAYC,EAAO,YAAY;AAEpD,QAAAd,EAAA,UAAUe,EAAO,cAAc;AAAA,UAChD,WAAWjB,EAAmB;AAAA,UAC9B,eAAec;AAAA,UACf,UAAU;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,QAAA,CACX,GAEDnB,EAAKc,EAAe,SAAS,IACVC,IAAAR,EAAA,YAAA,QAAAQ,EAAS,aAAaQ,GAAW,KACzC1B,KAAA,QAAAA,KAELe,EAAAY,CAAoB,EAAE,KAAK,MAAM;AACrC,UAAArB,EAAiB,CAAC,GACZS,EAAAa,CAAgC,EAAE,KAAK,MAAM;AAC/B,YAAAf;UAAA,CACnB;AAAA,QAAA,CACF;AAAA,MAAA,MAKI,MAAM;;AACX,SAAAK,IAAAR,EAAmB,YAAnB,QAAAQ,EAA4B;AAAA,MAAQ;AAAA,KAGvC,CAACnB,GAAMc,GAAmBV,GAAMH,CAAQ,CAAC,GAExCD,IAEA,gBAAA8B,EAACC,GAAA,EACC,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAuB;AAAA,IACvB,gBAAAD,EAAAE,GAAA,EAAwB,KAAKzB,EAAoB,CAAA;AAAA,IAElD,gBAAAuB;AAAA,MAACG;AAAAA,MAAA;AAAA,QACC,gBAAgBvB,IAAU,YAAY;AAAA,QACtC,WACEA,IAAUwB,IAAsCC;AAAA,QAGlD,UAAA,gBAAAP;AAAA,UAACQ;AAAAA,UAAA;AAAA,YACC,YAAYhC,IAAgB;AAAA,YAC5B,oBAAoBuB;AAAA,YAEpB,UAAA;AAAA,cAAA,gBAAAG,EAACO,GAAA,EAAmB,QAAO,SAAQ,WAAU,YAC1C,UACHxC,GAAA;AAAA,cACA,gBAAAiC,EAACO,GAAA,EAAmB,QAAO,SAAQ,WAAU,YAC1C,UAAAxC,IAAa,GAChB;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,IAECI,KACC,gBAAA6B;AAAA,MAACQ;AAAAA,MAAA;AAAA,QACC,QAAQZ;AAAA,QACR,gBAAgBhB,IAAU,YAAY;AAAA,QACtC,WAAWA,IAAU6B,IAA0BC;AAAA,QAE9C,UAAAvC;AAAA,MAAA;AAAA,IACH;AAAA,EAEJ,EAAA,CAAA,IAIG;AACT,CAAC;"}
@@ -1,87 +1,89 @@
1
- import { jsxs as y, jsx as t } from "react/jsx-runtime";
2
- import O from "lottie-web";
3
- import { memo as S, useRef as u, useState as $, useCallback as d, useEffect as I } from "react";
1
+ import { jsxs as x, jsx as t } from "react/jsx-runtime";
2
+ import S from "lottie-web";
3
+ import { memo as j, useRef as u, useState as I, useCallback as f, useEffect as $ } from "react";
4
+ import { LOTTIE as y } from "../../../../../assets/lottie/lottie.js";
4
5
  import R from "../../../../ui/layout/flex-view.js";
5
- import j from "../../../../ui/text/text.js";
6
- import { useTrialSessionContext as B } from "../../../context/use-trial-session-context.js";
7
- import { EClassTimeAlertLevel as f } from "../../../trial-session-types.js";
8
- import G from "../../clock/clock.js";
9
- import X from "../../countdown-progress-bar/countdown-progress-bar.js";
10
- import { AnimationContainer as H, TextFadeIn as K, ProgressWrapper as q, TimerWrapper as Y, TeacherNameWrapper as z } from "./teacher-av-panel-styled.js";
11
- const J = () => import("../../../../../assets/lotties/trial-v3/5min-clock.json.js"), Q = () => import("../../../../../assets/lotties/trial-v3/15min-clock.json.js"), ce = S(() => {
6
+ import { fetchLottie as B } from "../../../../ui/lottie-animation/helper.js";
7
+ import G from "../../../../ui/text/text.js";
8
+ import { useTrialSessionContext as K } from "../../../context/use-trial-session-context.js";
9
+ import { EClassTimeAlertLevel as d } from "../../../trial-session-types.js";
10
+ import X from "../../clock/clock.js";
11
+ import H from "../../countdown-progress-bar/countdown-progress-bar.js";
12
+ import { AnimationContainer as q, TextFadeIn as Y, ProgressWrapper as z, TimerWrapper as J, TeacherNameWrapper as Q } from "./teacher-av-panel-styled.js";
13
+ const me = j(() => {
12
14
  const {
13
- teacherPanel: _,
14
- classStartedOn: i,
15
+ teacherPanel: F,
16
+ classStartedOn: o,
15
17
  isTeacher: c,
16
18
  trialHomeData: M,
17
- classTimeAlertConfig: b,
18
- classDuration: p
19
- } = B(), {
19
+ classTimeAlertConfig: O,
20
+ classDuration: h
21
+ } = K(), {
20
22
  alertLevel: e,
21
23
  isVisible: g,
22
24
  onComplete: l
23
- } = b ?? {}, h = u(null), o = u(null), [k, A] = $(!1), [F, w] = $(!1), [C, V] = $(0), r = u(null), a = u(null), { teacher: P } = M, { name: E } = P, v = d(
25
+ } = O ?? {}, p = u(null), a = u(null), [V, C] = I(!1), [b, E] = I(!1), [A, P] = I(0), r = u(null), s = u(null), { teacher: k } = M, { name: w } = k, N = f(
24
26
  async (n) => {
25
- if (!(!h.current || !n))
27
+ if (!(!p.current || !n))
26
28
  try {
27
- const m = (await (n === f.FIVE_MIN ? J() : Q())).default;
28
- w(!0);
29
- const D = O.loadAnimation({
30
- container: h.current,
29
+ const i = n === d.FIVE_MIN ? y.FIVE_MIN_CLOCK : y.FIFTEEN_MIN_CLOCK, m = await B(i);
30
+ E(!0);
31
+ const D = S.loadAnimation({
32
+ container: p.current,
31
33
  renderer: "svg",
32
34
  loop: !1,
33
35
  autoplay: !1,
34
36
  animationData: m
35
37
  });
36
- o.current = D, o.current.play(), a.current && (a.current.currentTime = 0, a.current.play()), setTimeout(() => A(!0), 233), o.current.addEventListener("complete", () => {
37
- var x;
38
- (x = o.current) == null || x.destroy(), o.current = null, A(!1), w(!1), l == null || l();
38
+ a.current = D, a.current.play(), s.current && (s.current.currentTime = 0, s.current.play()), setTimeout(() => C(!0), 233), a.current.addEventListener("complete", () => {
39
+ var v;
40
+ (v = a.current) == null || v.destroy(), a.current = null, C(!1), E(!1), l == null || l();
39
41
  });
40
42
  } catch {
41
43
  return null;
42
44
  }
43
45
  },
44
46
  [l]
45
- ), N = d(() => {
46
- if (!i || !p) return 0;
47
- const n = Date.now(), s = new Date(i).getTime();
48
- return p - (n - s) / 1e3;
49
- }, [p, i]), T = d(() => {
50
- const n = N();
51
- V(n);
52
- }, [N]), L = d(() => {
47
+ ), L = f(() => {
48
+ if (!o || !h) return 0;
49
+ const n = Date.now(), i = new Date(o).getTime();
50
+ return h - (n - i) / 1e3;
51
+ }, [h, o]), T = f(() => {
52
+ const n = L();
53
+ P(n);
54
+ }, [L]), _ = f(() => {
53
55
  r.current && (clearInterval(r.current), r.current = null), T(), r.current = setInterval(() => {
54
56
  T();
55
57
  }, 5e3);
56
58
  }, [T]);
57
- I(() => {
58
- e && g && v(e);
59
- }, [e, v, g]), I(() => (e && e === f.FIVE_MIN && L(), () => {
59
+ $(() => {
60
+ e && g && N(e);
61
+ }, [e, N, g]), $(() => (e && e === d.FIVE_MIN && _(), () => {
60
62
  r.current && (clearInterval(r.current), r.current = null);
61
- }), [e, L]), I(() => (e && (async (s) => {
63
+ }), [e, _]), $(() => (e && (async (i) => {
62
64
  const m = new Audio(
63
- `https://static.qumath.in/static/intel-student/cmpress/${s === f.FIFTEEN_MIN ? "15-min-reminder" : "5-min-reminder"}.mp3`
65
+ `https://static.qumath.in/static/intel-student/cmpress/${i === d.FIFTEEN_MIN ? "15-min-reminder" : "5-min-reminder"}.mp3`
64
66
  );
65
- a.current = m;
67
+ s.current = m;
66
68
  })(e), () => {
67
- a.current = null;
69
+ s.current = null;
68
70
  }), [e]);
69
- const W = e === f.FIVE_MIN && C > 0 && c;
70
- return /* @__PURE__ */ y(R, { $position: "relative", $width: "100%", $height: "100%", children: [
71
- _,
72
- c && /* @__PURE__ */ y(
73
- H,
71
+ const W = e === d.FIVE_MIN && A > 0 && c;
72
+ return /* @__PURE__ */ x(R, { $position: "relative", $width: "100%", $height: "100%", children: [
73
+ F,
74
+ c && /* @__PURE__ */ x(
75
+ q,
74
76
  {
75
77
  $alignItems: "center",
76
78
  $justifyContent: "center",
77
79
  $background: "BLACK_T_60",
78
- $visible: F,
80
+ $visible: b,
79
81
  children: [
80
- /* @__PURE__ */ t(R, { ref: h, $width: 80, $height: 80 }),
82
+ /* @__PURE__ */ t(R, { ref: p, $width: 80, $height: 80 }),
81
83
  e && /* @__PURE__ */ t(
82
- K,
84
+ Y,
83
85
  {
84
- $visible: k,
86
+ $visible: V,
85
87
  $renderAs: "ac3",
86
88
  $color: "WHITE",
87
89
  className: "fade-in",
@@ -91,21 +93,21 @@ const J = () => import("../../../../../assets/lotties/trial-v3/5min-clock.json.j
91
93
  ]
92
94
  }
93
95
  ),
94
- W && /* @__PURE__ */ t(q, { $width: "100%", children: /* @__PURE__ */ t(X, { value: C, maxValue: 300 }) }),
95
- i && c && /* @__PURE__ */ t(
96
- Y,
96
+ W && /* @__PURE__ */ t(z, { $width: "100%", children: /* @__PURE__ */ t(H, { value: A, maxValue: 300 }) }),
97
+ o && c && /* @__PURE__ */ t(
98
+ J,
97
99
  {
98
100
  $background: e === "15min" ? "YELLOW_4" : e === "5min" ? "ORANGE_4" : "GREEN_4",
99
101
  $gapX: 0.25,
100
102
  $gutterX: 0.5,
101
103
  $justifyContent: "center",
102
- children: /* @__PURE__ */ t(G, { startTime: i, textRenderAs: "ac3", textColor: "BLACK_T_87" })
104
+ children: /* @__PURE__ */ t(X, { startTime: o, textRenderAs: "ac3", textColor: "BLACK_T_87" })
103
105
  }
104
106
  ),
105
- E && !c && /* @__PURE__ */ t(z, { $gapX: 0.75, $gutterX: 0.75, $width: "100%", children: /* @__PURE__ */ t(j, { $renderAs: "ac3-black", $color: "WHITE", children: E }) })
107
+ w && !c && /* @__PURE__ */ t(Q, { $gapX: 0.75, $gutterX: 0.75, $width: "100%", children: /* @__PURE__ */ t(G, { $renderAs: "ac3-black", $color: "WHITE", children: w }) })
106
108
  ] });
107
109
  });
108
110
  export {
109
- ce as default
111
+ me as default
110
112
  };
111
113
  //# sourceMappingURL=teacher-av-panel.js.map