@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,199 +1,145 @@
1
- import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
- import { useState as p, useCallback as J, useEffect as K } from "react";
3
- import { ILLUSTRATIONS as Q } from "../../../assets/illustrations/illustrations.js";
4
- import Y from "../../../assets/line-icons/icons/cross.js";
5
- import T from "../../ui/layout/flex-view.js";
6
- import { CircularLoader as Z } from "../../ui/loader/circular-loader/circular-loader.js";
7
- import d from "../../ui/text/text.js";
8
- import { useCircleSounds as D } from "../hooks/use-circle-sounds/use-circle-sounds.js";
9
- import { Banner as u } from "./comps/banner/banner.js";
10
- import w from "./comps/info-bar/info-bar.js";
11
- import { LeaderboardItemWithObserver as ee } from "./comps/leaderboard-item/leaderboard-item.js";
12
- import { NavigationButton as re } from "./comps/navigation-button/navigation-button.js";
13
- import { Timer as ne } from "./comps/timer/timer.js";
14
- import { ELeaderboardType as n } from "./enums/leaderboard-type-enum.js";
15
- import { Leaderboard as te, LeaderboardContainer as oe, BannerWrapper as ie, TournamentBannerCustContainer as se, TrophyWrapper as me, ItemsWrapper as ce, Banner as ae, ActionButtonWrapper as pe } from "./leaderboard-styled.js";
16
- import { useTimer as de } from "./hooks/useTimer.js";
17
- const h = {
18
- [n.ALL_TIME_STREAK]: () => import("../../../assets/lotties/circle/elite-circle-lottie.json.js"),
19
- [n.ALL_TIME]: () => import("../../../assets/lotties/circle/elite-circle-lottie.json.js"),
20
- [n.BI_WEEKLY]: () => import("../../../assets/lotties/circle/tournament-ripple-lottie.json.js")
1
+ import { jsx as e, jsxs as T } from "react/jsx-runtime";
2
+ import { useState as c, useEffect as b } from "react";
3
+ import { ILLUSTRATIONS as j } from "../../../assets/illustrations/illustrations.js";
4
+ import { LOTTIE as E } from "../../../assets/lottie/lottie.js";
5
+ import { CircularLoader as v } from "../../ui/loader/circular-loader/circular-loader.js";
6
+ import w from "../../ui/text/text.js";
7
+ import { useCircleSounds as U } from "../hooks/use-circle-sounds/use-circle-sounds.js";
8
+ import { Banner as d } from "./comps/banner/banner.js";
9
+ import { LeaderboardItemWithObserver as H } from "./comps/leaderboard-item/leaderboard-item.js";
10
+ import { NavigationButton as q } from "./comps/navigation-button/navigation-button.js";
11
+ import { Timer as z } from "./comps/timer/timer.js";
12
+ import { ELeaderboardType as t } from "./enums/leaderboard-type-enum.js";
13
+ import { Leaderboard as G, LeaderboardContainer as J, BannerWrapper as Q, TournamentBannerCustContainer as V, TrophyWrapper as X, ItemsWrapper as Z, Banner as D, ActionButtonWrapper as ee } from "./leaderboard-styled.js";
14
+ import { useTimer as re } from "./hooks/useTimer.js";
15
+ const L = {
16
+ [t.ALL_TIME_STREAK]: E.ELITE_CIRCLE,
17
+ [t.ALL_TIME]: E.ELITE_CIRCLE,
18
+ [t.BI_WEEKLY]: E.TOURNAMENT_RIPPLE
21
19
  }, i = [
22
20
  {
23
21
  name: "TOURNAMENT",
24
- type: n.BI_WEEKLY
22
+ type: t.BI_WEEKLY
25
23
  },
26
24
  {
27
25
  name: "STREAK STARS",
28
- type: n.ALL_TIME_STREAK
26
+ type: t.ALL_TIME_STREAK
29
27
  },
30
28
  {
31
29
  name: "ALL TIME",
32
- type: n.ALL_TIME
30
+ type: t.ALL_TIME
33
31
  }
34
- ], xe = ({
32
+ ], le = ({
35
33
  leaderboardData: m,
36
- type: E = n.BI_WEEKLY,
37
- userId: M,
38
- onClose: N,
39
- isLoading: a,
40
- showInfoBar: F,
41
- onInfoBarDismiss: I,
42
- streakReduction: H
34
+ type: u = t.BI_WEEKLY,
35
+ userId: g,
36
+ onClose: W,
37
+ isLoading: p
43
38
  }) => {
44
- var S, B, C, x, W, k, R;
45
- const [s, f] = p(
46
- i.findIndex((r) => E === r.type)
47
- ), [t, O] = p(((S = m == null ? void 0 : m[E]) == null ? void 0 : S.leaderboardPlayers) || []), [L, j] = p({
39
+ var _, A, y, S, R, C, x;
40
+ const [s, l] = c(
41
+ i.findIndex((r) => u === r.type)
42
+ ), [n, K] = c(((_ = m == null ? void 0 : m[u]) == null ? void 0 : _.leaderboardPlayers) || []), [I, M] = c({
48
43
  current: 0,
49
44
  end: 0
50
- }), [v, y] = de(0), [l, X] = p(!1), U = (B = t == null ? void 0 : t[0]) == null ? void 0 : B.points, G = ((C = t == null ? void 0 : t[0]) == null ? void 0 : C.streakDays) || 0, { playButtonSound: g } = D(), [_, V] = p(F), b = H > 0, A = J(() => {
51
- V(!1), I();
52
- }, [I]), q = () => {
53
- g(), f((r) => r - 1 < 0 ? i.length - 1 : r - 1);
54
- }, z = () => {
55
- g(), f((r) => r + 1 === i.length ? 0 : r + 1);
45
+ }), [N, h] = re(0), [a, k] = c(!1), O = (A = n == null ? void 0 : n[0]) == null ? void 0 : A.points, Y = ((y = n == null ? void 0 : n[0]) == null ? void 0 : y.streakDays) || 0, { playButtonSound: f } = U(), F = () => {
46
+ f(), l((r) => r - 1 < 0 ? i.length - 1 : r - 1);
47
+ }, $ = () => {
48
+ f(), l((r) => r + 1 === i.length ? 0 : r + 1);
56
49
  };
57
- return K(() => {
58
- y(0);
59
- }, [y]), K(() => {
60
- var $;
61
- const r = ($ = i[s]) == null ? void 0 : $.type, o = r && (m == null ? void 0 : m[r]);
50
+ return b(() => {
51
+ h(0);
52
+ }, [h]), b(() => {
53
+ var B;
54
+ const r = (B = i[s]) == null ? void 0 : B.type, o = r && (m == null ? void 0 : m[r]);
62
55
  if (o) {
63
56
  const P = o.leaderboardPlayers || [];
64
- r === n.BI_WEEKLY && (j({
57
+ r === t.BI_WEEKLY && (M({
65
58
  current: o.currentTimestamp,
66
59
  end: o.endTimestamp
67
- }), o.currentTimestamp > o.endTimestamp && (P.splice(10), X(!0))), O([...P]);
60
+ }), o.currentTimestamp > o.endTimestamp && (P.splice(10), k(!0))), K([...P]);
68
61
  }
69
- }, [s, m]), /* @__PURE__ */ e(te, { children: /* @__PURE__ */ c(oe, { children: [
70
- /* @__PURE__ */ c(ie, { children: [
71
- ((x = i[s]) == null ? void 0 : x.type) === n.BI_WEEKLY && /* @__PURE__ */ e(
72
- u,
62
+ }, [s, m]), /* @__PURE__ */ e(G, { children: /* @__PURE__ */ T(J, { children: [
63
+ /* @__PURE__ */ T(Q, { children: [
64
+ ((S = i[s]) == null ? void 0 : S.type) === t.BI_WEEKLY && /* @__PURE__ */ e(
65
+ d,
73
66
  {
74
- isLoading: a || t.length === 0,
67
+ isLoading: p || n.length === 0,
75
68
  bgFromTopPosition: -120,
76
69
  bgFromRightPosition: -110,
77
- primaryText: l ? /* @__PURE__ */ e("span", { children: "New Tournament" }) : /* @__PURE__ */ e("span", { children: "Tournament" }),
78
- secondaryText: l ? /* @__PURE__ */ e("span", { children: "Starts Soon" }) : /* @__PURE__ */ c("span", { children: [
70
+ primaryText: a ? /* @__PURE__ */ e("span", { children: "New Tournament" }) : /* @__PURE__ */ e("span", { children: "Tournament" }),
71
+ secondaryText: a ? /* @__PURE__ */ e("span", { children: "Starts Soon" }) : /* @__PURE__ */ T("span", { children: [
79
72
  " ",
80
73
  /* @__PURE__ */ e(
81
- ne,
74
+ z,
82
75
  {
83
- fromTimestamp: v + L.current,
84
- endTimestamp: L.end
76
+ fromTimestamp: N + I.current,
77
+ endTimestamp: I.end
85
78
  }
86
79
  ),
87
80
  " ",
88
81
  "left"
89
82
  ] }),
90
- lottiePromise: h[n.BI_WEEKLY],
91
- custEle: /* @__PURE__ */ e(se, { children: /* @__PURE__ */ e(me, { children: /* @__PURE__ */ e("img", { src: Q.TROPHY_CIRCLE }) }) })
83
+ lottiePath: L[t.BI_WEEKLY],
84
+ custEle: /* @__PURE__ */ e(V, { children: /* @__PURE__ */ e(X, { children: /* @__PURE__ */ e("img", { src: j.TROPHY_CIRCLE }) }) })
92
85
  }
93
86
  ),
94
- ((W = i[s]) == null ? void 0 : W.type) === n.ALL_TIME_STREAK && /* @__PURE__ */ e(
95
- u,
87
+ ((R = i[s]) == null ? void 0 : R.type) === t.ALL_TIME_STREAK && /* @__PURE__ */ e(
88
+ d,
96
89
  {
97
- isLoading: a,
90
+ isLoading: p,
98
91
  bgFromTopPosition: -140,
99
92
  bgFromRightPosition: -90,
100
93
  primaryText: /* @__PURE__ */ e("span", { children: "Streak Stars" }),
101
94
  secondaryText: /* @__PURE__ */ e("span", { children: "Top 50" }),
102
- lottiePromise: h[n.ALL_TIME_STREAK]
95
+ lottiePath: L[t.ALL_TIME_STREAK]
103
96
  }
104
97
  ),
105
- ((k = i[s]) == null ? void 0 : k.type) === n.ALL_TIME && /* @__PURE__ */ e(
106
- u,
98
+ ((C = i[s]) == null ? void 0 : C.type) === t.ALL_TIME && /* @__PURE__ */ e(
99
+ d,
107
100
  {
108
- isLoading: a,
101
+ isLoading: p,
109
102
  bgFromTopPosition: -140,
110
103
  bgFromRightPosition: -90,
111
104
  primaryText: /* @__PURE__ */ e("span", { children: "Elite Circle" }),
112
105
  secondaryText: /* @__PURE__ */ e("span", { children: "Top 50" }),
113
- lottiePromise: h[n.ALL_TIME]
106
+ lottiePath: L[t.ALL_TIME]
114
107
  }
115
108
  )
116
109
  ] }),
117
- a && /* @__PURE__ */ e(Z, {}),
118
- !a && t && /* @__PURE__ */ c(ce, { topInset: 0, children: [
119
- _ && !b && /* @__PURE__ */ e(
120
- w,
121
- {
122
- children: /* @__PURE__ */ c(
123
- T,
124
- {
125
- $flexDirection: "row",
126
- $alignItems: "center",
127
- $justifyContent: "space-between",
128
- children: [
129
- /* @__PURE__ */ e(d, { $renderAs: "ab2", $color: "WHITE_T_87", children: "Streak saved for the day! Come back tomorrow to keep increasing it." }),
130
- /* @__PURE__ */ e(Y, { cursor: "pointer", color: "WHITE", onClick: A })
131
- ]
132
- }
133
- ),
134
- hue: "GREEN",
135
- marginX: 16,
136
- marginY: 16,
137
- paddingX: 16,
138
- paddingY: 16
139
- }
140
- ),
141
- _ && b && /* @__PURE__ */ e(
142
- w,
143
- {
144
- children: /* @__PURE__ */ c(
145
- T,
146
- {
147
- $flexDirection: "row",
148
- $alignItems: "center",
149
- $justifyContent: "space-between",
150
- children: [
151
- /* @__PURE__ */ c(T, { children: [
152
- /* @__PURE__ */ e(d, { $renderAs: "ab2", $color: "WHITE_T_87", children: "Keep building your streak by completing an activity each day." }),
153
- /* @__PURE__ */ e(d, { $renderAs: "ab2", $color: "WHITE_T_87", children: "For each day missed, your streak reduces by 1." })
154
- ] }),
155
- /* @__PURE__ */ e(Y, { cursor: "pointer", color: "WHITE", onClick: A })
156
- ]
157
- }
158
- ),
159
- hue: "YELLOW",
160
- marginX: 16,
161
- marginY: 16,
162
- paddingX: 16,
163
- paddingY: 16
164
- }
165
- ),
166
- l && ((R = i[s]) == null ? void 0 : R.type) === n.BI_WEEKLY && /* @__PURE__ */ e(ae, { children: /* @__PURE__ */ e(d, { $renderAs: "ab3", $color: "WHITE", children: "Congratulating winners of the last tournament!" }) }),
167
- t.map((r) => {
110
+ p && /* @__PURE__ */ e(v, {}),
111
+ !p && n && /* @__PURE__ */ T(Z, { topInset: 0, children: [
112
+ a && ((x = i[s]) == null ? void 0 : x.type) === t.BI_WEEKLY && /* @__PURE__ */ e(D, { children: /* @__PURE__ */ e(w, { $renderAs: "ab3", $color: "WHITE", children: "Congratulating winners of the last tournament!" }) }),
113
+ n.map((r) => {
168
114
  var o;
169
115
  return /* @__PURE__ */ e(
170
- ee,
116
+ H,
171
117
  {
172
118
  player: r,
173
119
  rank: r.rank,
174
- maxStreakDays: G,
175
- maxPoints: U,
120
+ maxStreakDays: Y,
121
+ maxPoints: O,
176
122
  leaderboardType: (o = i[s]) == null ? void 0 : o.type,
177
- isActive: r.userId === M
123
+ isActive: r.userId === g
178
124
  },
179
125
  r.rank
180
126
  );
181
127
  })
182
128
  ] }),
183
- /* @__PURE__ */ e(pe, { children: /* @__PURE__ */ e(
184
- re,
129
+ /* @__PURE__ */ e(ee, { children: /* @__PURE__ */ e(
130
+ q,
185
131
  {
186
- labels: Object.values(n),
187
- onLeftClick: q,
188
- onRightClick: z,
132
+ labels: Object.values(t),
133
+ onLeftClick: F,
134
+ onRightClick: $,
189
135
  currIndex: s,
190
- onClose: N,
191
- disableSwipe: a || t.length === 0
136
+ onClose: W,
137
+ disableSwipe: p || n.length === 0
192
138
  }
193
139
  ) })
194
140
  ] }) });
195
141
  };
196
142
  export {
197
- xe as Leaderboard
143
+ le as Leaderboard
198
144
  };
199
145
  //# sourceMappingURL=leaderboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"leaderboard.js","sources":["../../../../src/features/circle-games/leaderboard/leaderboard.tsx"],"sourcesContent":["import type {\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from './dal/use-get-leaderboard-dal/use-get-leaderboard-dal-types';\nimport type { ILeaderboardProps } from './leaderboard-types';\n\nimport { useState, useEffect, useCallback } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport CrossIcon from '../../../assets/line-icons/icons/cross';\nimport FlexView from '../../ui/layout/flex-view';\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport Text from '../../ui/text/text';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { Banner } from './comps/banner/banner';\nimport InfoBar from './comps/info-bar/info-bar';\nimport { LeaderboardItemWithObserver } from './comps/leaderboard-item/leaderboard-item';\nimport { NavigationButton } from './comps/navigation-button/navigation-button';\nimport { Timer } from './comps/timer/timer';\nimport { ELeaderboardType } from './enums/leaderboard-type-enum';\nimport { useTimer } from './hooks';\nimport * as Styled from './leaderboard-styled';\n\n// lazy load banner lotties\nconst BANNER_LOTTIES: Record<ELeaderboardType, () => Promise<Record<string, unknown>>> = {\n [ELeaderboardType.ALL_TIME_STREAK]: () =>\n import('../../../assets/lotties/circle/elite-circle-lottie.json'),\n [ELeaderboardType.ALL_TIME]: () =>\n import('../../../assets/lotties/circle/elite-circle-lottie.json'),\n [ELeaderboardType.BI_WEEKLY]: () =>\n import('../../../assets/lotties/circle/tournament-ripple-lottie.json'),\n};\n\nconst leaderboards = [\n {\n name: 'TOURNAMENT',\n type: ELeaderboardType.BI_WEEKLY,\n },\n {\n name: 'STREAK STARS',\n type: ELeaderboardType.ALL_TIME_STREAK,\n },\n {\n name: 'ALL TIME',\n type: ELeaderboardType.ALL_TIME,\n },\n];\n\nexport const Leaderboard = ({\n leaderboardData,\n type = ELeaderboardType.BI_WEEKLY,\n userId,\n onClose,\n isLoading,\n showInfoBar: showInfoBarByDefault,\n onInfoBarDismiss,\n streakReduction,\n}: ILeaderboardProps) => {\n const [currentLeaderBoardIndex, setCurrentLeaderboardIndex] = useState(\n leaderboards.findIndex(leaderboard => type === leaderboard.type),\n );\n\n const [currLeaderboardData, setCurrLeaderboardData] = useState<\n (ILeaderboardPlayerWithPoints | ILeaderboardPlayerWithStreak)[] | []\n >(leaderboardData?.[type]?.leaderboardPlayers || []);\n\n const [currLeaderboardTimeStamps, setCurrLeaderboardTimeStamps] = useState<{\n current: number;\n end: number;\n }>({\n current: 0,\n end: 0,\n });\n\n const [time, setTimer] = useTimer(0);\n const [isTournamentEnded, setIsTournamentEnded] = useState(false);\n const maxPoints = (currLeaderboardData?.[0] as ILeaderboardPlayerWithPoints)?.points;\n const maxStreakDays = (currLeaderboardData?.[0] as ILeaderboardPlayerWithStreak)?.streakDays || 0;\n const { playButtonSound } = useCircleSounds();\n const [showInfoBar, setShowInfoBar] = useState(showInfoBarByDefault);\n\n const hasStreakReduced = streakReduction > 0;\n const handleInfoBarDismiss = useCallback(() => {\n setShowInfoBar(false);\n onInfoBarDismiss();\n }, [onInfoBarDismiss]);\n\n const handlePrevious = () => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => {\n if (prev - 1 < 0) {\n return leaderboards.length - 1;\n }\n\n return prev - 1;\n });\n };\n\n const handleNext = () => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => {\n if (prev + 1 === leaderboards.length) {\n return 0;\n }\n\n return prev + 1;\n });\n };\n\n useEffect(() => {\n setTimer(0);\n }, [setTimer]);\n\n useEffect(() => {\n const currType = leaderboards[currentLeaderBoardIndex]?.type;\n const currLeaderboard = currType && leaderboardData?.[currType];\n\n if (currLeaderboard) {\n const leaderboardList = currLeaderboard.leaderboardPlayers || [];\n\n if (currType === ELeaderboardType.BI_WEEKLY) {\n setCurrLeaderboardTimeStamps({\n current: currLeaderboard.currentTimestamp,\n end: currLeaderboard.endTimestamp,\n });\n\n if (currLeaderboard.currentTimestamp > currLeaderboard.endTimestamp) {\n leaderboardList.splice(10);\n setIsTournamentEnded(true);\n }\n }\n\n setCurrLeaderboardData([...leaderboardList]);\n }\n }, [currentLeaderBoardIndex, leaderboardData]);\n\n return (\n <Styled.Leaderboard>\n <Styled.LeaderboardContainer>\n <Styled.BannerWrapper>\n {/* tournament banner */}\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Banner\n isLoading={isLoading || currLeaderboardData.length === 0}\n bgFromTopPosition={-120}\n bgFromRightPosition={-110}\n primaryText={\n isTournamentEnded ? <span>New Tournament</span> : <span>Tournament</span>\n }\n secondaryText={\n isTournamentEnded ? (\n <span>Starts Soon</span>\n ) : (\n <span>\n {' '}\n <Timer\n fromTimestamp={(time as number) + currLeaderboardTimeStamps.current}\n endTimestamp={currLeaderboardTimeStamps.end}\n />{' '}\n {'left'}\n </span>\n )\n }\n lottiePromise={BANNER_LOTTIES[ELeaderboardType.BI_WEEKLY]}\n custEle={\n <Styled.TournamentBannerCustContainer>\n <Styled.TrophyWrapper>\n <img src={ILLUSTRATIONS.TROPHY_CIRCLE} />\n </Styled.TrophyWrapper>\n </Styled.TournamentBannerCustContainer>\n }\n />\n )}\n\n {/* top streak banner */}\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME_STREAK && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Streak Stars</span>}\n secondaryText={<span>Top 50</span>}\n lottiePromise={BANNER_LOTTIES[ELeaderboardType.ALL_TIME_STREAK]}\n />\n )}\n\n {/* elite circle banner */}\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Elite Circle</span>}\n secondaryText={<span>Top 50</span>}\n lottiePromise={BANNER_LOTTIES[ELeaderboardType.ALL_TIME]}\n />\n )}\n </Styled.BannerWrapper>\n\n {isLoading && <CircularLoader />}\n\n {!isLoading && currLeaderboardData && (\n <Styled.ItemsWrapper topInset={0}>\n {showInfoBar && !hasStreakReduced && (\n <InfoBar\n children={\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Text $renderAs=\"ab2\" $color=\"WHITE_T_87\">\n Streak saved for the day! Come back tomorrow to keep increasing it.\n </Text>\n <CrossIcon cursor={'pointer'} color=\"WHITE\" onClick={handleInfoBarDismiss} />\n </FlexView>\n }\n hue=\"GREEN\"\n marginX={16}\n marginY={16}\n paddingX={16}\n paddingY={16}\n />\n )}\n\n {showInfoBar && hasStreakReduced && (\n <InfoBar\n children={\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <FlexView>\n <Text $renderAs=\"ab2\" $color=\"WHITE_T_87\">\n Keep building your streak by completing an activity each day.\n </Text>\n <Text $renderAs=\"ab2\" $color=\"WHITE_T_87\">\n For each day missed, your streak reduces by 1.\n </Text>\n </FlexView>\n <CrossIcon cursor={'pointer'} color=\"WHITE\" onClick={handleInfoBarDismiss} />\n </FlexView>\n }\n hue=\"YELLOW\"\n marginX={16}\n marginY={16}\n paddingX={16}\n paddingY={16}\n />\n )}\n\n {isTournamentEnded &&\n leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Styled.Banner>\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Congratulating winners of the last tournament!\n </Text>\n </Styled.Banner>\n )}\n {currLeaderboardData.map(player => {\n return (\n <LeaderboardItemWithObserver\n key={player.rank}\n player={player}\n rank={player.rank}\n maxStreakDays={maxStreakDays}\n maxPoints={maxPoints}\n leaderboardType={leaderboards[currentLeaderBoardIndex]?.type}\n isActive={player.userId === userId}\n />\n );\n })}\n </Styled.ItemsWrapper>\n )}\n\n <Styled.ActionButtonWrapper>\n <NavigationButton\n labels={Object.values(ELeaderboardType)}\n onLeftClick={handlePrevious}\n onRightClick={handleNext}\n currIndex={currentLeaderBoardIndex}\n onClose={onClose}\n disableSwipe={isLoading || currLeaderboardData.length === 0}\n />\n </Styled.ActionButtonWrapper>\n </Styled.LeaderboardContainer>\n </Styled.Leaderboard>\n );\n};\n"],"names":["BANNER_LOTTIES","ELeaderboardType","leaderboards","Leaderboard","leaderboardData","type","userId","onClose","isLoading","showInfoBarByDefault","onInfoBarDismiss","streakReduction","currentLeaderBoardIndex","setCurrentLeaderboardIndex","useState","leaderboard","currLeaderboardData","setCurrLeaderboardData","_a","currLeaderboardTimeStamps","setCurrLeaderboardTimeStamps","time","setTimer","useTimer","isTournamentEnded","setIsTournamentEnded","maxPoints","_b","maxStreakDays","_c","playButtonSound","useCircleSounds","showInfoBar","setShowInfoBar","hasStreakReduced","handleInfoBarDismiss","useCallback","handlePrevious","prev","handleNext","useEffect","currType","currLeaderboard","leaderboardList","Styled.Leaderboard","jsxs","Styled.LeaderboardContainer","Styled.BannerWrapper","_d","jsx","Banner","Timer","Styled.TournamentBannerCustContainer","Styled.TrophyWrapper","ILLUSTRATIONS","_e","_f","CircularLoader","Styled.ItemsWrapper","InfoBar","FlexView","Text","CrossIcon","_g","Styled.Banner","player","LeaderboardItemWithObserver","Styled.ActionButtonWrapper","NavigationButton"],"mappings":"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"}
1
+ {"version":3,"file":"leaderboard.js","sources":["../../../../src/features/circle-games/leaderboard/leaderboard.tsx"],"sourcesContent":["import type {\n ILeaderboardPlayerWithPoints,\n ILeaderboardPlayerWithStreak,\n} from './dal/use-get-leaderboard-dal/use-get-leaderboard-dal-types';\nimport type { ILeaderboardProps } from './leaderboard-types';\n\nimport { useState, useEffect } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { CircularLoader } from '../../ui/loader/circular-loader/circular-loader';\nimport Text from '../../ui/text/text';\nimport { useCircleSounds } from '../hooks/use-circle-sounds/use-circle-sounds';\nimport { Banner } from './comps/banner/banner';\nimport { LeaderboardItemWithObserver } from './comps/leaderboard-item/leaderboard-item';\nimport { NavigationButton } from './comps/navigation-button/navigation-button';\nimport { Timer } from './comps/timer/timer';\nimport { ELeaderboardType } from './enums/leaderboard-type-enum';\nimport { useTimer } from './hooks';\nimport * as Styled from './leaderboard-styled';\n\nconst BANNER_LOTTIES: Record<ELeaderboardType, string> = {\n [ELeaderboardType.ALL_TIME_STREAK]: LOTTIE.ELITE_CIRCLE,\n [ELeaderboardType.ALL_TIME]: LOTTIE.ELITE_CIRCLE,\n [ELeaderboardType.BI_WEEKLY]: LOTTIE.TOURNAMENT_RIPPLE,\n};\n\nconst leaderboards = [\n {\n name: 'TOURNAMENT',\n type: ELeaderboardType.BI_WEEKLY,\n },\n {\n name: 'STREAK STARS',\n type: ELeaderboardType.ALL_TIME_STREAK,\n },\n {\n name: 'ALL TIME',\n type: ELeaderboardType.ALL_TIME,\n },\n];\n\nexport const Leaderboard = ({\n leaderboardData,\n type = ELeaderboardType.BI_WEEKLY,\n userId,\n onClose,\n isLoading,\n}: ILeaderboardProps) => {\n const [currentLeaderBoardIndex, setCurrentLeaderboardIndex] = useState(\n leaderboards.findIndex(leaderboard => type === leaderboard.type),\n );\n\n const [currLeaderboardData, setCurrLeaderboardData] = useState<\n (ILeaderboardPlayerWithPoints | ILeaderboardPlayerWithStreak)[] | []\n >(leaderboardData?.[type]?.leaderboardPlayers || []);\n\n const [currLeaderboardTimeStamps, setCurrLeaderboardTimeStamps] = useState<{\n current: number;\n end: number;\n }>({\n current: 0,\n end: 0,\n });\n\n const [time, setTimer] = useTimer(0);\n const [isTournamentEnded, setIsTournamentEnded] = useState(false);\n const maxPoints = (currLeaderboardData?.[0] as ILeaderboardPlayerWithPoints)?.points;\n const maxStreakDays = (currLeaderboardData?.[0] as ILeaderboardPlayerWithStreak)?.streakDays || 0;\n const { playButtonSound } = useCircleSounds();\n\n const handlePrevious = () => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => {\n if (prev - 1 < 0) {\n return leaderboards.length - 1;\n }\n\n return prev - 1;\n });\n };\n\n const handleNext = () => {\n playButtonSound();\n setCurrentLeaderboardIndex(prev => {\n if (prev + 1 === leaderboards.length) {\n return 0;\n }\n\n return prev + 1;\n });\n };\n\n useEffect(() => {\n setTimer(0);\n }, [setTimer]);\n\n useEffect(() => {\n const currType = leaderboards[currentLeaderBoardIndex]?.type;\n const currLeaderboard = currType && leaderboardData?.[currType];\n\n if (currLeaderboard) {\n const leaderboardList = currLeaderboard.leaderboardPlayers || [];\n\n if (currType === ELeaderboardType.BI_WEEKLY) {\n setCurrLeaderboardTimeStamps({\n current: currLeaderboard.currentTimestamp,\n end: currLeaderboard.endTimestamp,\n });\n\n if (currLeaderboard.currentTimestamp > currLeaderboard.endTimestamp) {\n leaderboardList.splice(10);\n setIsTournamentEnded(true);\n }\n }\n\n setCurrLeaderboardData([...leaderboardList]);\n }\n }, [currentLeaderBoardIndex, leaderboardData]);\n\n return (\n <Styled.Leaderboard>\n <Styled.LeaderboardContainer>\n <Styled.BannerWrapper>\n {/* tournament banner */}\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Banner\n isLoading={isLoading || currLeaderboardData.length === 0}\n bgFromTopPosition={-120}\n bgFromRightPosition={-110}\n primaryText={\n isTournamentEnded ? <span>New Tournament</span> : <span>Tournament</span>\n }\n secondaryText={\n isTournamentEnded ? (\n <span>Starts Soon</span>\n ) : (\n <span>\n {' '}\n <Timer\n fromTimestamp={(time as number) + currLeaderboardTimeStamps.current}\n endTimestamp={currLeaderboardTimeStamps.end}\n />{' '}\n {'left'}\n </span>\n )\n }\n lottiePath={BANNER_LOTTIES[ELeaderboardType.BI_WEEKLY]}\n custEle={\n <Styled.TournamentBannerCustContainer>\n <Styled.TrophyWrapper>\n <img src={ILLUSTRATIONS.TROPHY_CIRCLE} />\n </Styled.TrophyWrapper>\n </Styled.TournamentBannerCustContainer>\n }\n />\n )}\n\n {/* top streak banner */}\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME_STREAK && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Streak Stars</span>}\n secondaryText={<span>Top 50</span>}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.ALL_TIME_STREAK]}\n />\n )}\n\n {/* elite circle banner */}\n {leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.ALL_TIME && (\n <Banner\n isLoading={isLoading}\n bgFromTopPosition={-140}\n bgFromRightPosition={-90}\n primaryText={<span>Elite Circle</span>}\n secondaryText={<span>Top 50</span>}\n lottiePath={BANNER_LOTTIES[ELeaderboardType.ALL_TIME]}\n />\n )}\n </Styled.BannerWrapper>\n\n {isLoading && <CircularLoader />}\n\n {!isLoading && currLeaderboardData && (\n <Styled.ItemsWrapper topInset={0}>\n {isTournamentEnded &&\n leaderboards[currentLeaderBoardIndex]?.type === ELeaderboardType.BI_WEEKLY && (\n <Styled.Banner>\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Congratulating winners of the last tournament!\n </Text>\n </Styled.Banner>\n )}\n {currLeaderboardData.map(player => {\n return (\n <LeaderboardItemWithObserver\n key={player.rank}\n player={player}\n rank={player.rank}\n maxStreakDays={maxStreakDays}\n maxPoints={maxPoints}\n leaderboardType={leaderboards[currentLeaderBoardIndex]?.type}\n isActive={player.userId === userId}\n />\n );\n })}\n </Styled.ItemsWrapper>\n )}\n\n <Styled.ActionButtonWrapper>\n <NavigationButton\n labels={Object.values(ELeaderboardType)}\n onLeftClick={handlePrevious}\n onRightClick={handleNext}\n currIndex={currentLeaderBoardIndex}\n onClose={onClose}\n disableSwipe={isLoading || currLeaderboardData.length === 0}\n />\n </Styled.ActionButtonWrapper>\n </Styled.LeaderboardContainer>\n </Styled.Leaderboard>\n );\n};\n"],"names":["BANNER_LOTTIES","ELeaderboardType","LOTTIE","leaderboards","Leaderboard","leaderboardData","type","userId","onClose","isLoading","currentLeaderBoardIndex","setCurrentLeaderboardIndex","useState","leaderboard","currLeaderboardData","setCurrLeaderboardData","_a","currLeaderboardTimeStamps","setCurrLeaderboardTimeStamps","time","setTimer","useTimer","isTournamentEnded","setIsTournamentEnded","maxPoints","_b","maxStreakDays","_c","playButtonSound","useCircleSounds","handlePrevious","prev","handleNext","useEffect","currType","currLeaderboard","leaderboardList","Styled.Leaderboard","jsxs","Styled.LeaderboardContainer","Styled.BannerWrapper","_d","jsx","Banner","Timer","Styled.TournamentBannerCustContainer","Styled.TrophyWrapper","ILLUSTRATIONS","_e","_f","CircularLoader","Styled.ItemsWrapper","_g","Styled.Banner","Text","player","LeaderboardItemWithObserver","Styled.ActionButtonWrapper","NavigationButton"],"mappings":"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"}
@@ -1,50 +1,49 @@
1
- import { jsx as e, Fragment as E, jsxs as s } from "react/jsx-runtime";
2
- import R from "lottie-web";
3
- import { useRef as l, useEffect as g } from "react";
4
- import S from "../../../../../assets/line-icons/icons/circle-back.js";
5
- import P from "../../../../../assets/lotties/circle/levelup-rings-lottie.json.js";
6
- import b from "../../../../ui/text/text.js";
7
- import { BackgroundImage as I, ScreenWrapper as T, TransparentIconButton as q, CircularStepsContainer as F, CircularStepsWrapper as v, CustEleContainer as y, CircularProgressContainer as L, CircularProgress as w, Label as M, CustomDataContainer as W } from "./circular-steps-styled.js";
1
+ import { jsx as e, Fragment as k, jsxs as c } from "react/jsx-runtime";
2
+ import { useRef as m, useCallback as S } from "react";
3
+ import B from "../../../../../assets/line-icons/icons/circle-back.js";
4
+ import { LOTTIE as R } from "../../../../../assets/lottie/lottie.js";
5
+ import A from "../../../../ui/lottie-animation/lottie-animation.js";
6
+ import I from "../../../../ui/text/text.js";
7
+ import { BackgroundImage as P, ScreenWrapper as b, TransparentIconButton as L, CircularStepsContainer as T, CircularStepsWrapper as q, CustEleContainer as v, CircularProgressContainer as F, CircularProgress as w, Label as M, CustomDataContainer as W } from "./circular-steps-styled.js";
8
8
  import { TOTAL_FRAMES as $ } from "./constants.js";
9
- const j = ({ img: t }) => /* @__PURE__ */ e(I, { children: t }), K = ({ steps: t, currentStepIndex: i, dimensions: f }) => {
10
- const { width: u, height: m } = f, r = t[i], d = l(null), a = l(null), c = l(-1), h = () => {
11
- var o, n;
12
- (n = (o = t[i]) == null ? void 0 : o.onBack) == null || n.call(o);
13
- }, p = (o, n) => {
14
- a.current && a.current.playSegments([o, n], !0);
15
- };
16
- return g(() => ((async () => {
17
- a.current = R.loadAnimation({
18
- container: d.current,
19
- animationData: P,
20
- autoplay: !1,
21
- loop: !1,
22
- renderer: "canvas"
23
- });
24
- })(), () => {
25
- var n;
26
- (n = a.current) == null || n.destroy();
27
- }), [r == null ? void 0 : r.isProgressAnimationRequired]), g(() => {
28
- if (a.current && (r != null && r.isProgressAnimationRequired)) {
29
- const o = t.filter((B) => B.isProgressAnimationRequired), n = $ / o.length, C = c.current >= 0 ? c.current : 0, A = Math.round(C * n), k = Math.round(i * n);
30
- p(A, k), c.current = i;
9
+ const j = ({ img: n }) => /* @__PURE__ */ e(P, { children: n }), x = {
10
+ autoplay: !1,
11
+ loop: !1,
12
+ renderer: "canvas"
13
+ }, U = ({ steps: n, currentStepIndex: t, dimensions: d }) => {
14
+ const { width: s, height: u } = d, r = n[t], l = m(null), a = m(-1), g = () => {
15
+ var o, i;
16
+ (i = (o = n[t]) == null ? void 0 : o.onBack) == null || i.call(o);
17
+ }, h = S(() => {
18
+ if (l.current && (r != null && r.isProgressAnimationRequired)) {
19
+ const o = n.filter((E) => E.isProgressAnimationRequired), i = $ / o.length, p = a.current >= 0 ? a.current : 0, f = Math.round(p * i + 1), C = Math.round(t * i);
20
+ a.current = t, l.current.playSegments([f, C], !0);
31
21
  }
32
- }, [i, r == null ? void 0 : r.isProgressAnimationRequired, t]), /* @__PURE__ */ e(E, { children: r && /* @__PURE__ */ s(T, { width: u, height: m, children: [
33
- r.onBack && /* @__PURE__ */ e(q, { children: /* @__PURE__ */ e(S, { onClick: h }) }),
34
- r.background && /* @__PURE__ */ e(j, { img: r.background }),
35
- /* @__PURE__ */ e(F, { children: /* @__PURE__ */ s(v, { children: [
36
- r.custEle ? /* @__PURE__ */ e(y, { children: r.custEle }) : null,
37
- r.custEleInsideStep && /* @__PURE__ */ s(L, { width: u, height: m, children: [
38
- r.isProgressAnimationRequired && /* @__PURE__ */ e(w, { ref: d }),
39
- r.label && /* @__PURE__ */ e(M, { children: /* @__PURE__ */ e(b, { $renderAs: "ab2", $color: "WHITE", children: r.label }) }),
22
+ }, [t, r == null ? void 0 : r.isProgressAnimationRequired, n]);
23
+ return /* @__PURE__ */ e(k, { children: r ? /* @__PURE__ */ c(b, { width: s, height: u, children: [
24
+ r.onBack ? /* @__PURE__ */ e(L, { children: /* @__PURE__ */ e(B, { onClick: g }) }) : null,
25
+ r.background ? /* @__PURE__ */ e(j, { img: r.background }) : null,
26
+ /* @__PURE__ */ e(T, { children: /* @__PURE__ */ c(q, { children: [
27
+ r.custEle ? /* @__PURE__ */ e(v, { children: r.custEle }) : null,
28
+ r.custEleInsideStep ? /* @__PURE__ */ c(F, { width: s, height: u, children: [
29
+ r.isProgressAnimationRequired ? /* @__PURE__ */ e(w, { children: /* @__PURE__ */ e(
30
+ A,
31
+ {
32
+ ref: l,
33
+ src: R.LEVELUP_RINGS,
34
+ settings: x,
35
+ onRender: h
36
+ }
37
+ ) }) : null,
38
+ r.label ? /* @__PURE__ */ e(M, { children: /* @__PURE__ */ e(I, { $renderAs: "ab2", $color: "WHITE", children: r.label }) }) : null,
40
39
  r.custEleInsideStep
41
- ] })
40
+ ] }) : null
42
41
  ] }) }),
43
- r.custEleBelowStep && /* @__PURE__ */ e(W, { children: r.custEleBelowStep })
44
- ] }) });
42
+ r.custEleBelowStep ? /* @__PURE__ */ e(W, { children: r.custEleBelowStep }) : null
43
+ ] }) : null });
45
44
  };
46
45
  export {
47
46
  j as BackgroundImage,
48
- K as CircularSteps
47
+ U as CircularSteps
49
48
  };
50
49
  //# sourceMappingURL=circular-steps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"circular-steps.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/circular-steps/circular-steps.tsx"],"sourcesContent":["import type { ICircularStepsProps } from './circular-steps-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { useEffect, useRef } from 'react';\n\nimport CircleBackIcon from '../../../../../assets/line-icons/icons/circle-back';\nimport progressRingLottie from '../../../../../assets/lotties/circle/levelup-rings-lottie.json';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './circular-steps-styled';\nimport { TOTAL_FRAMES } from './constants';\n\nexport const BackgroundImage = ({ img }: { img: React.ReactNode }) => {\n return <Styled.BackgroundImage>{img}</Styled.BackgroundImage>;\n};\n\nexport const CircularSteps: FC<ICircularStepsProps> = ({ steps, currentStepIndex, dimensions }) => {\n const { width, height } = dimensions;\n\n const step = steps[currentStepIndex];\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n const animationRef = useRef<AnimationItem | null>(null);\n const previousStepIndex = useRef<number>(-1);\n\n const handleBack = () => {\n steps[currentStepIndex]?.onBack?.();\n };\n const goToFrame = (fromFrame: number, toFrame: number) => {\n if (animationRef.current) {\n animationRef.current.playSegments([fromFrame, toFrame], true);\n }\n };\n\n // Load animation\n useEffect(() => {\n const loadAnimation = async () => {\n animationRef.current = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n animationData: progressRingLottie,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n };\n\n loadAnimation();\n\n return () => {\n animationRef.current?.destroy();\n };\n }, [step?.isProgressAnimationRequired]);\n\n useEffect(() => {\n if (animationRef.current && step?.isProgressAnimationRequired) {\n const actualSteps = steps.filter(_step => _step.isProgressAnimationRequired);\n const stepSize = TOTAL_FRAMES / actualSteps.length;\n\n const validPreviousIndex = previousStepIndex.current >= 0 ? previousStepIndex.current : 0;\n\n const fromFrame = Math.round(validPreviousIndex * stepSize);\n const toFrame = Math.round(currentStepIndex * stepSize);\n\n goToFrame(fromFrame, toFrame);\n previousStepIndex.current = currentStepIndex;\n }\n }, [currentStepIndex, step?.isProgressAnimationRequired, steps]);\n\n return (\n <>\n {step && (\n <Styled.ScreenWrapper width={width} height={height}>\n {step.onBack && (\n <Styled.TransparentIconButton>\n <CircleBackIcon onClick={handleBack} />\n </Styled.TransparentIconButton>\n )}\n {step.background && <BackgroundImage img={step.background} />}\n <Styled.CircularStepsContainer>\n <Styled.CircularStepsWrapper>\n {step.custEle ? (\n <Styled.CustEleContainer>{step.custEle}</Styled.CustEleContainer>\n ) : null}\n\n {/*circular data container*/}\n {step.custEleInsideStep && (\n <Styled.CircularProgressContainer width={width} height={height}>\n {step.isProgressAnimationRequired && (\n <Styled.CircularProgress ref={lottieAnimationRef} />\n )}\n\n {step.label && (\n <Styled.Label>\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n {step.label}\n </Text>\n </Styled.Label>\n )}\n {step.custEleInsideStep}\n </Styled.CircularProgressContainer>\n )}\n </Styled.CircularStepsWrapper>\n </Styled.CircularStepsContainer>\n {/* custom data container below circle */}\n {step.custEleBelowStep && (\n <Styled.CustomDataContainer>{step.custEleBelowStep}</Styled.CustomDataContainer>\n )}\n </Styled.ScreenWrapper>\n )}\n </>\n );\n};\n"],"names":["BackgroundImage","img","jsx","Styled.BackgroundImage","CircularSteps","steps","currentStepIndex","dimensions","width","height","step","lottieAnimationRef","useRef","animationRef","previousStepIndex","handleBack","_b","_a","goToFrame","fromFrame","toFrame","useEffect","Lottie","progressRingLottie","actualSteps","_step","stepSize","TOTAL_FRAMES","validPreviousIndex","jsxs","Styled.ScreenWrapper","Styled.TransparentIconButton","CircleBackIcon","Styled.CircularStepsContainer","Styled.CircularStepsWrapper","Styled.CustEleContainer","Styled.CircularProgressContainer","Styled.CircularProgress","Styled.Label","Text","Styled.CustomDataContainer"],"mappings":";;;;;;;;AAaO,MAAMA,IAAkB,CAAC,EAAE,KAAAC,QACxB,gBAAAC,EAAAC,GAAA,EAAwB,UAAIF,EAAA,CAAA,GAGzBG,IAAyC,CAAC,EAAE,OAAAC,GAAO,kBAAAC,GAAkB,YAAAC,QAAiB;AAC3F,QAAA,EAAE,OAAAC,GAAO,QAAAC,EAAW,IAAAF,GAEpBG,IAAOL,EAAMC,CAAgB,GAC7BK,IAAqBC,EAAuB,IAAI,GAChDC,IAAeD,EAA6B,IAAI,GAChDE,IAAoBF,EAAe,EAAE,GAErCG,IAAa,MAAM;;AACjB,KAAAC,KAAAC,IAAAZ,EAAAC,CAAgB,MAAhB,gBAAAW,EAAmB,WAAnB,QAAAD,EAAA,KAAAC;AAAA,EAA4B,GAE9BC,IAAY,CAACC,GAAmBC,MAAoB;AACxD,IAAIP,EAAa,WACfA,EAAa,QAAQ,aAAa,CAACM,GAAWC,CAAO,GAAG,EAAI;AAAA,EAC9D;AAIF,SAAAC,EAAU,QACc,YAAY;AACnB,IAAAR,EAAA,UAAUS,EAAO,cAAc;AAAA,MAC1C,WAAWX,EAAmB;AAAA,MAC9B,eAAeY;AAAA,MACf,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACX;AAAA,EAAA,MAKI,MAAM;;AACX,KAAAN,IAAAJ,EAAa,YAAb,QAAAI,EAAsB;AAAA,EAAQ,IAE/B,CAACP,KAAA,gBAAAA,EAAM,2BAA2B,CAAC,GAEtCW,EAAU,MAAM;AACV,QAAAR,EAAa,YAAWH,KAAA,QAAAA,EAAM,8BAA6B;AAC7D,YAAMc,IAAcnB,EAAM,OAAO,CAAAoB,MAASA,EAAM,2BAA2B,GACrEC,IAAWC,IAAeH,EAAY,QAEtCI,IAAqBd,EAAkB,WAAW,IAAIA,EAAkB,UAAU,GAElFK,IAAY,KAAK,MAAMS,IAAqBF,CAAQ,GACpDN,IAAU,KAAK,MAAMd,IAAmBoB,CAAQ;AAEtD,MAAAR,EAAUC,GAAWC,CAAO,GAC5BN,EAAkB,UAAUR;AAAA,IAC9B;AAAA,KACC,CAACA,GAAkBI,KAAA,gBAAAA,EAAM,6BAA6BL,CAAK,CAAC,0BAI1D,UACCK,KAAA,gBAAAmB,EAACC,GAAA,EAAqB,OAAAtB,GAAc,QAAAC,GACjC,UAAA;AAAA,IAAKC,EAAA,4BACHqB,GAAA,EACC,UAAC,gBAAA7B,EAAA8B,GAAA,EAAe,SAASjB,EAAA,CAAY,EACvC,CAAA;AAAA,IAEDL,EAAK,cAAc,gBAAAR,EAACF,GAAgB,EAAA,KAAKU,EAAK,YAAY;AAAA,sBAC1DuB,GAAA,EACC,UAAC,gBAAAJ,EAAAK,GAAA,EACE,UAAA;AAAA,MAAAxB,EAAK,UACH,gBAAAR,EAAAiC,GAAA,EAAyB,UAAAzB,EAAK,QAAQ,CAAA,IACrC;AAAA,MAGHA,EAAK,qBACJ,gBAAAmB,EAACO,GAAA,EAAiC,OAAA5B,GAAc,QAAAC,GAC7C,UAAA;AAAA,QAAAC,EAAK,+BACH,gBAAAR,EAAAmC,GAAA,EAAwB,KAAK1B,GAAoB;AAAA,QAGnDD,EAAK,SACH,gBAAAR,EAAAoC,GAAA,EACC,UAAA,gBAAApC,EAACqC,GAAK,EAAA,WAAU,OAAM,QAAO,SAC1B,UAAA7B,EAAK,MACR,CAAA,GACF;AAAA,QAEDA,EAAK;AAAA,MAAA,GACR;AAAA,IAAA,EAAA,CAEJ,EACF,CAAA;AAAA,IAECA,EAAK,oBACJ,gBAAAR,EAACsC,GAAA,EAA4B,YAAK,kBAAiB;AAAA,EAAA,EAEvD,CAAA,EAEJ,CAAA;AAEJ;"}
1
+ {"version":3,"file":"circular-steps.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/circular-steps/circular-steps.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { ICircularStepsProps } from './circular-steps-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useRef } from 'react';\n\nimport CircleBackIcon from '../../../../../assets/line-icons/icons/circle-back';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './circular-steps-styled';\nimport { TOTAL_FRAMES } from './constants';\n\nexport const BackgroundImage = ({ img }: { img: React.ReactNode }) => {\n return <Styled.BackgroundImage>{img}</Styled.BackgroundImage>;\n};\n\nconst animationSettings = {\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n};\n\nexport const CircularSteps: FC<ICircularStepsProps> = ({ steps, currentStepIndex, dimensions }) => {\n const { width, height } = dimensions;\n\n const step = steps[currentStepIndex];\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const previousStepIndex = useRef<number>(-1);\n\n const handleBack = () => {\n steps[currentStepIndex]?.onBack?.();\n };\n\n const onLottieRender = useCallback(() => {\n if (animationRef.current && step?.isProgressAnimationRequired) {\n const actualSteps = steps.filter(_step => _step.isProgressAnimationRequired);\n const stepSize = TOTAL_FRAMES / actualSteps.length;\n\n const validPreviousIndex = previousStepIndex.current >= 0 ? previousStepIndex.current : 0;\n\n const fromFrame = Math.round(validPreviousIndex * stepSize + 1);\n const toFrame = Math.round(currentStepIndex * stepSize);\n\n previousStepIndex.current = currentStepIndex;\n animationRef.current.playSegments([fromFrame, toFrame], true);\n }\n }, [currentStepIndex, step?.isProgressAnimationRequired, steps]);\n\n return (\n <>\n {step ? (\n <Styled.ScreenWrapper width={width} height={height}>\n {step.onBack ? (\n <Styled.TransparentIconButton>\n <CircleBackIcon onClick={handleBack} />\n </Styled.TransparentIconButton>\n ) : null}\n {step.background ? <BackgroundImage img={step.background} /> : null}\n <Styled.CircularStepsContainer>\n <Styled.CircularStepsWrapper>\n {step.custEle ? (\n <Styled.CustEleContainer>{step.custEle}</Styled.CustEleContainer>\n ) : null}\n\n {/*circular data container*/}\n {step.custEleInsideStep ? (\n <Styled.CircularProgressContainer width={width} height={height}>\n {step.isProgressAnimationRequired ? (\n <Styled.CircularProgress>\n <LottieAnimation\n ref={animationRef}\n src={LOTTIE.LEVELUP_RINGS}\n settings={animationSettings}\n onRender={onLottieRender}\n />\n </Styled.CircularProgress>\n ) : null}\n\n {step.label ? (\n <Styled.Label>\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n {step.label}\n </Text>\n </Styled.Label>\n ) : null}\n {step.custEleInsideStep}\n </Styled.CircularProgressContainer>\n ) : null}\n </Styled.CircularStepsWrapper>\n </Styled.CircularStepsContainer>\n {/* custom data container below circle */}\n {step.custEleBelowStep ? (\n <Styled.CustomDataContainer>{step.custEleBelowStep}</Styled.CustomDataContainer>\n ) : null}\n </Styled.ScreenWrapper>\n ) : null}\n </>\n );\n};\n"],"names":["BackgroundImage","img","jsx","Styled.BackgroundImage","animationSettings","CircularSteps","steps","currentStepIndex","dimensions","width","height","step","animationRef","useRef","previousStepIndex","handleBack","_b","_a","onLottieRender","useCallback","actualSteps","_step","stepSize","TOTAL_FRAMES","validPreviousIndex","fromFrame","toFrame","jsxs","Styled.ScreenWrapper","Styled.TransparentIconButton","CircleBackIcon","Styled.CircularStepsContainer","Styled.CircularStepsWrapper","Styled.CustEleContainer","Styled.CircularProgressContainer","Styled.CircularProgress","LottieAnimation","LOTTIE","Styled.Label","Text","Styled.CustomDataContainer"],"mappings":";;;;;;;;AAaO,MAAMA,IAAkB,CAAC,EAAE,KAAAC,QACxB,gBAAAC,EAAAC,GAAA,EAAwB,UAAIF,EAAA,CAAA,GAGhCG,IAAoB;AAAA,EACxB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ,GAEaC,IAAyC,CAAC,EAAE,OAAAC,GAAO,kBAAAC,GAAkB,YAAAC,QAAiB;AAC3F,QAAA,EAAE,OAAAC,GAAO,QAAAC,EAAW,IAAAF,GAEpBG,IAAOL,EAAMC,CAAgB,GAC7BK,IAAeC,EAAmC,IAAI,GACtDC,IAAoBD,EAAe,EAAE,GAErCE,IAAa,MAAM;;AACjB,KAAAC,KAAAC,IAAAX,EAAAC,CAAgB,MAAhB,gBAAAU,EAAmB,WAAnB,QAAAD,EAAA,KAAAC;AAAA,EAA4B,GAG9BC,IAAiBC,EAAY,MAAM;AACnC,QAAAP,EAAa,YAAWD,KAAA,QAAAA,EAAM,8BAA6B;AAC7D,YAAMS,IAAcd,EAAM,OAAO,CAAAe,MAASA,EAAM,2BAA2B,GACrEC,IAAWC,IAAeH,EAAY,QAEtCI,IAAqBV,EAAkB,WAAW,IAAIA,EAAkB,UAAU,GAElFW,IAAY,KAAK,MAAMD,IAAqBF,IAAW,CAAC,GACxDI,IAAU,KAAK,MAAMnB,IAAmBe,CAAQ;AAEtD,MAAAR,EAAkB,UAAUP,GAC5BK,EAAa,QAAQ,aAAa,CAACa,GAAWC,CAAO,GAAG,EAAI;AAAA,IAC9D;AAAA,KACC,CAACnB,GAAkBI,KAAA,gBAAAA,EAAM,6BAA6BL,CAAK,CAAC;AAE/D,gCAEK,UACCK,IAAA,gBAAAgB,EAACC,GAAA,EAAqB,OAAAnB,GAAc,QAAAC,GACjC,UAAA;AAAA,IAAKC,EAAA,SACH,gBAAAT,EAAA2B,GAAA,EACC,4BAACC,GAAe,EAAA,SAASf,GAAY,EAAA,CACvC,IACE;AAAA,IACHJ,EAAK,aAAa,gBAAAT,EAACF,KAAgB,KAAKW,EAAK,WAAY,CAAA,IAAK;AAAA,sBAC9DoB,GAAA,EACC,UAAC,gBAAAJ,EAAAK,GAAA,EACE,UAAA;AAAA,MAAArB,EAAK,UACH,gBAAAT,EAAA+B,GAAA,EAAyB,UAAAtB,EAAK,QAAQ,CAAA,IACrC;AAAA,MAGHA,EAAK,oBACJ,gBAAAgB,EAACO,GAAA,EAAiC,OAAAzB,GAAc,QAAAC,GAC7C,UAAA;AAAA,QAAAC,EAAK,8BACJ,gBAAAT,EAACiC,GAAA,EACC,UAAA,gBAAAjC;AAAA,UAACkC;AAAA,UAAA;AAAA,YACC,KAAKxB;AAAA,YACL,KAAKyB,EAAO;AAAA,YACZ,UAAUjC;AAAA,YACV,UAAUc;AAAA,UAAA;AAAA,WAEd,IACE;AAAA,QAEHP,EAAK,QACH,gBAAAT,EAAAoC,GAAA,EACC,UAAA,gBAAApC,EAACqC,GAAK,EAAA,WAAU,OAAM,QAAO,SAC1B,UAAK5B,EAAA,MACR,CAAA,EACF,CAAA,IACE;AAAA,QACHA,EAAK;AAAA,MAAA,EAAA,CACR,IACE;AAAA,IAAA,EAAA,CACN,EACF,CAAA;AAAA,IAECA,EAAK,mBACH,gBAAAT,EAAAsC,GAAA,EAA4B,UAAA7B,EAAK,iBAAiB,CAAA,IACjD;AAAA,EAAA,GACN,IACE,KACN,CAAA;AAEJ;"}
@@ -1,15 +1,11 @@
1
- import t from "styled-components";
2
- const p = t.div`
1
+ import n from "styled-components";
2
+ const i = n.div`
3
3
  display: flex;
4
4
  justify-content: center;
5
5
  align-items: center;
6
- margin: ${({ marginY: e, marginX: i }) => `${e}px ${i}px`};
7
- `, r = t.div`
8
- height: ${({ height: e }) => e}px;
9
- width: ${({ width: e }) => e}px;
6
+ margin: ${({ marginY: e, marginX: t }) => `${e}px ${t}px`};
10
7
  `;
11
8
  export {
12
- r as Spinner,
13
- p as SpinnerWrapper
9
+ i as SpinnerWrapper
14
10
  };
15
11
  //# sourceMappingURL=spinner-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner-styled.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/spinner/spinner-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const SpinnerWrapper = styled.div<{ marginY: number; marginX: number }>`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: ${({ marginY, marginX }) => `${marginY}px ${marginX}px`};\n`;\n\nexport const Spinner = styled.div<{ height: number; width: number }>`\n height: ${({ height }) => height}px;\n width: ${({ width }) => width}px;\n`;\n"],"names":["SpinnerWrapper","styled","marginY","marginX","Spinner","height","width"],"mappings":";AAEO,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA,YAIzB,CAAC,EAAE,SAAAC,GAAS,SAAAC,QAAc,GAAGD,CAAO,MAAMC,CAAO,IAAI;AAAA,GAGpDC,IAAUH,EAAO;AAAA,YAClB,CAAC,EAAE,QAAAI,EAAO,MAAMA,CAAM;AAAA,WACvB,CAAC,EAAE,OAAAC,EAAM,MAAMA,CAAK;AAAA;"}
1
+ {"version":3,"file":"spinner-styled.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/spinner/spinner-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const SpinnerWrapper = styled.div<{ marginY: number; marginX: number }>`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: ${({ marginY, marginX }) => `${marginY}px ${marginX}px`};\n`;\n"],"names":["SpinnerWrapper","styled","marginY","marginX"],"mappings":";AAEO,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA,YAIzB,CAAC,EAAE,SAAAC,GAAS,SAAAC,QAAc,GAAGD,CAAO,MAAMC,CAAO,IAAI;AAAA;"}
@@ -1,26 +1,9 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import p from "lottie-web";
3
- import { useRef as m, useEffect as s } from "react";
4
- import { SpinnerWrapper as u, Spinner as c } from "./spinner-styled.js";
5
- const d = () => import("../../../../../assets/lotties/circle/spinner-white.json.js"), M = ({ height: r = 24, width: e = 24, marginX: i = 0, marginY: a = 0 }) => {
6
- const t = m(null);
7
- return s(() => {
8
- let n = null;
9
- return (async () => {
10
- const l = (await d()).default;
11
- n = p.loadAnimation({
12
- container: t.current,
13
- animationData: l,
14
- autoplay: !0,
15
- loop: !0,
16
- renderer: "canvas"
17
- });
18
- })(), () => {
19
- n == null || n.destroy();
20
- };
21
- }, []), /* @__PURE__ */ o(u, { marginX: i, marginY: a, children: /* @__PURE__ */ o(c, { ref: t, height: r, width: e }) });
22
- };
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { LOTTIE as t } from "../../../../../assets/lottie/lottie.js";
3
+ import n from "../../../../ui/lottie-animation/lottie-animation.js";
4
+ import { SpinnerWrapper as e } from "./spinner-styled.js";
5
+ const I = ({ height: o = 24, width: i = 24, marginX: m = 0, marginY: p = 0 }) => /* @__PURE__ */ r(e, { marginX: m, marginY: p, children: /* @__PURE__ */ r(n, { src: t.SPINNER_WHITE, height: o, width: i }) });
23
6
  export {
24
- M as Spinner
7
+ I as Spinner
25
8
  };
26
9
  //# sourceMappingURL=spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/spinner/spinner.tsx"],"sourcesContent":["import type { TSpinnerProps } from './spinner-types';\nimport type { AnimationItem } from 'lottie-web';\n\nimport Lottie from 'lottie-web';\nimport { useEffect, useRef } from 'react';\n\nimport * as S from './spinner-styled';\n\nconst spinnerWhite = () => import('../../../../../assets/lotties/circle/spinner-white.json');\n\nexport const Spinner = ({ height = 24, width = 24, marginX = 0, marginY = 0 }: TSpinnerProps) => {\n const lottieContainer = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n const loadAnimation = async () => {\n const animationModule = await spinnerWhite();\n const animationData = animationModule.default;\n\n animation = Lottie.loadAnimation({\n container: lottieContainer.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 return (\n <S.SpinnerWrapper marginX={marginX} marginY={marginY}>\n <S.Spinner ref={lottieContainer} height={height} width={width} />\n </S.SpinnerWrapper>\n );\n};\n"],"names":["spinnerWhite","Spinner","height","width","marginX","marginY","lottieContainer","useRef","useEffect","animation","animationData","Lottie","jsx","S.SpinnerWrapper","S.Spinner"],"mappings":";;;;AAQA,MAAMA,IAAe,MAAM,OAAO,4DAAyD,GAE9EC,IAAU,CAAC,EAAE,QAAAC,IAAS,IAAI,OAAAC,IAAQ,IAAI,SAAAC,IAAU,GAAG,SAAAC,IAAU,QAAuB;AACzF,QAAAC,IAAkBC,EAAuB,IAAI;AAEnD,SAAAC,EAAU,MAAM;AACd,QAAIC,IAAkC;AAcxB,YAbQ,YAAY;AAEhC,YAAMC,KADkB,MAAMV,KACQ;AAEtC,MAAAS,IAAYE,EAAO,cAAc;AAAA,QAC/B,WAAWL,EAAgB;AAAA,QAC3B,eAAAI;AAAA,QACA,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,MAAA,CACX;AAAA,IAAA,MAKI,MAAM;AACX,MAAAD,KAAA,QAAAA,EAAW;AAAA,IAAQ;AAAA,EAEvB,GAAG,CAAE,CAAA,GAGF,gBAAAG,EAAAC,GAAA,EAAiB,SAAAT,GAAkB,SAAAC,GAClC,UAAA,gBAAAO,EAACE,GAAA,EAAU,KAAKR,GAAiB,QAAAJ,GAAgB,OAAAC,EAAc,CAAA,EACjE,CAAA;AAEJ;"}
1
+ {"version":3,"file":"spinner.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/spinner/spinner.tsx"],"sourcesContent":["import type { TSpinnerProps } from './spinner-types';\n\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './spinner-styled';\n\nexport const Spinner = ({ height = 24, width = 24, marginX = 0, marginY = 0 }: TSpinnerProps) => (\n <Styled.SpinnerWrapper marginX={marginX} marginY={marginY}>\n <LottieAnimation src={LOTTIE.SPINNER_WHITE} height={height} width={width} />\n </Styled.SpinnerWrapper>\n);\n"],"names":["Spinner","height","width","marginX","marginY","Styled.SpinnerWrapper","jsx","LottieAnimation","LOTTIE"],"mappings":";;;;AAMa,MAAAA,IAAU,CAAC,EAAE,QAAAC,IAAS,IAAI,OAAAC,IAAQ,IAAI,SAAAC,IAAU,GAAG,SAAAC,IAAU,EAAE,wBACzEC,GAAA,EAAsB,SAAAF,GAAkB,SAAAC,GACvC,UAAA,gBAAAE,EAACC,GAAgB,EAAA,KAAKC,EAAO,eAAe,QAAAP,GAAgB,OAAAC,EAAc,CAAA,EAC5E,CAAA;"}