@cuemath/leap 2.8.25 → 2.8.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/assets/lottie/lottie.js +61 -0
  2. package/dist/assets/lottie/lottie.js.map +1 -0
  3. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +81 -79
  4. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/game-launcher.js +61 -65
  6. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  7. package/dist/features/circle-games/leaderboard/comps/banner/banner.js +35 -53
  8. package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
  9. package/dist/features/circle-games/leaderboard/leaderboard.js +56 -55
  10. package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
  11. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +40 -41
  12. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  13. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js +4 -8
  14. package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js.map +1 -1
  15. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js +6 -23
  16. package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
  17. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js +40 -35
  18. package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
  19. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +2 -2
  20. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js +8 -23
  21. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
  22. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js +11 -11
  23. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
  24. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js +37 -43
  25. package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
  26. package/dist/features/post-game-stats/accuracy/accuracy.js +38 -34
  27. package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
  28. package/dist/features/post-game-stats/clock/clock.js +43 -39
  29. package/dist/features/post-game-stats/clock/clock.js.map +1 -1
  30. package/dist/features/post-game-stats/points/points.js +43 -44
  31. package/dist/features/post-game-stats/points/points.js.map +1 -1
  32. package/dist/features/post-game-stats/streak/streak.js +30 -28
  33. package/dist/features/post-game-stats/streak/streak.js.map +1 -1
  34. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js +56 -54
  35. package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
  36. package/dist/features/trial-session/comps/parent-app/parent-app.js +25 -20
  37. package/dist/features/trial-session/comps/parent-app/parent-app.js.map +1 -1
  38. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +4 -4
  39. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  40. package/dist/features/trial-session/comps/session-insights/session-insights.js +40 -39
  41. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  42. package/dist/features/trial-session/trial-session-view.js +95 -79
  43. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  44. package/dist/features/ui/loader/circular-loader/circular-loader.js +16 -20
  45. package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
  46. package/dist/features/ui/lottie-animation/helper.js +13 -0
  47. package/dist/features/ui/lottie-animation/helper.js.map +1 -0
  48. package/dist/features/ui/lottie-animation/lottie-animation.js +37 -0
  49. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -0
  50. package/dist/features/ui/nudge/nudge-styled.js +4 -8
  51. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  52. package/dist/features/ui/nudge/nudge.js +13 -30
  53. package/dist/features/ui/nudge/nudge.js.map +1 -1
  54. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +22 -20
  55. package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
  56. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +25 -48
  57. package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
  58. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js +12 -26
  59. package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
  60. package/dist/index.d.ts +58 -0
  61. package/dist/index.js +466 -464
  62. package/dist/index.js.map +1 -1
  63. package/dist/static/accuracy-meter.99585cba.json +4218 -0
  64. package/dist/static/accuracy-needle.cd6e63ac.json +618 -0
  65. package/dist/static/beginner1x.489908a7.json +3508 -0
  66. package/dist/static/bronze-1.da4e4b5f.json +4176 -0
  67. package/dist/static/bronze-2.97f9c639.json +4433 -0
  68. package/dist/static/bronze-3.6a433ebd.json +4786 -0
  69. package/dist/static/circular-loader.a5a1a0a6.json +238 -0
  70. package/dist/static/clock-30min.eae818b8.json +1197 -0
  71. package/dist/static/clock-45min.df8adf51.json +1197 -0
  72. package/dist/static/clock-60min.2b48d875.json +1197 -0
  73. package/dist/static/clock-90min.3e557ed7.json +1407 -0
  74. package/dist/static/color-1.45101b9a.json +4545 -0
  75. package/dist/static/color-2.ccdc7d0a.json +4828 -0
  76. package/dist/static/color-3.5e8e1422.json +5273 -0
  77. package/dist/static/difficult.6846c064.json +2755 -0
  78. package/dist/static/easy-rescheduling-lottie.28026af9.json +9301 -0
  79. package/dist/static/easy.68242ddd.json +2658 -0
  80. package/dist/static/elite-circle.3df58972.json +6876 -0
  81. package/dist/static/error-lottie.b3507a4b.json +5255 -0
  82. package/dist/static/familiar1x.7c9c7f15.json +3046 -0
  83. package/dist/static/fifteen-min-clock.0af4e303.json +715 -0
  84. package/dist/static/five-min-clock.6be5cc41.json +721 -0
  85. package/dist/static/gold-1.ab2489fe.json +4176 -0
  86. package/dist/static/gold-2.34045826.json +4441 -0
  87. package/dist/static/gold-3.d704698b.json +4810 -0
  88. package/dist/static/levelup-rings.b1055283.json +549 -0
  89. package/dist/static/medium.94c3829b.json +2289 -0
  90. package/dist/static/nudge-tap.5cb30093.json +1057 -0
  91. package/dist/static/point1.b53831de.json +2942 -0
  92. package/dist/static/point10.7b5e536d.json +3179 -0
  93. package/dist/static/point100.1df16f82.json +3196 -0
  94. package/dist/static/point15.fea00c32.json +3179 -0
  95. package/dist/static/point20.c88d776d.json +3178 -0
  96. package/dist/static/point25.a18c346a.json +3178 -0
  97. package/dist/static/point30.c5224b0b.json +3202 -0
  98. package/dist/static/point35.fad343dd.json +3058 -0
  99. package/dist/static/point40.10a16f72.json +3082 -0
  100. package/dist/static/point45.2ad7561f.json +3082 -0
  101. package/dist/static/point5.da40ed1f.json +2948 -0
  102. package/dist/static/point50.5718cb3d.json +3046 -0
  103. package/dist/static/point60.17380d9f.json +3076 -0
  104. package/dist/static/proficient1x.fa6e7b80.json +3430 -0
  105. package/dist/static/silver-1.0396328a.json +4168 -0
  106. package/dist/static/silver-2.bf50615f.json +4433 -0
  107. package/dist/static/silver-3.13d66b84.json +4810 -0
  108. package/dist/static/sleepy-boi.031a1165.json +1008 -0
  109. package/dist/static/spinner-white.639e0d87.json +122 -0
  110. package/dist/static/splash-screen.bbf567ce.json +2411 -0
  111. package/dist/static/stay-connected-lottie.111439b3.json +3547 -0
  112. package/dist/static/teacher-validation.7577ecdc.json +245 -0
  113. package/dist/static/total-streak.d5ce7669.json +842 -0
  114. package/dist/static/total-time-spent.434005d3.json +200 -0
  115. package/dist/static/total-time.d979cbb9.json +24383 -0
  116. package/dist/static/tournament-ripple.e5c239a5.json +1047 -0
  117. package/dist/static/track-progress-lottie.422108cf.json +2972 -0
  118. package/package.json +1 -1
  119. package/dist/assets/lotties/circle/100pts.json.js +0 -7957
  120. package/dist/assets/lotties/circle/100pts.json.js.map +0 -1
  121. package/dist/assets/lotties/circle/10pts.json.js +0 -7753
  122. package/dist/assets/lotties/circle/10pts.json.js.map +0 -1
  123. package/dist/assets/lotties/circle/15pts.json.js +0 -7879
  124. package/dist/assets/lotties/circle/15pts.json.js.map +0 -1
  125. package/dist/assets/lotties/circle/1pts.json.js +0 -7257
  126. package/dist/assets/lotties/circle/1pts.json.js.map +0 -1
  127. package/dist/assets/lotties/circle/20pts.json.js +0 -7845
  128. package/dist/assets/lotties/circle/20pts.json.js.map +0 -1
  129. package/dist/assets/lotties/circle/25pts.json.js +0 -7971
  130. package/dist/assets/lotties/circle/25pts.json.js.map +0 -1
  131. package/dist/assets/lotties/circle/30pts.json.js +0 -7941
  132. package/dist/assets/lotties/circle/30pts.json.js.map +0 -1
  133. package/dist/assets/lotties/circle/35pts.json.js +0 -7881
  134. package/dist/assets/lotties/circle/35pts.json.js.map +0 -1
  135. package/dist/assets/lotties/circle/40pts.json.js +0 -7725
  136. package/dist/assets/lotties/circle/40pts.json.js.map +0 -1
  137. package/dist/assets/lotties/circle/45pts.json.js +0 -7851
  138. package/dist/assets/lotties/circle/45pts.json.js.map +0 -1
  139. package/dist/assets/lotties/circle/50pts.json.js +0 -7707
  140. package/dist/assets/lotties/circle/50pts.json.js.map +0 -1
  141. package/dist/assets/lotties/circle/5pts.json.js +0 -7420
  142. package/dist/assets/lotties/circle/5pts.json.js.map +0 -1
  143. package/dist/assets/lotties/circle/60pts.json.js +0 -7701
  144. package/dist/assets/lotties/circle/60pts.json.js.map +0 -1
  145. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js +0 -6811
  146. package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js.map +0 -1
  147. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js +0 -1503
  148. package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js.map +0 -1
  149. package/dist/assets/lotties/circle/circular-loader.json.js +0 -635
  150. package/dist/assets/lotties/circle/circular-loader.json.js.map +0 -1
  151. package/dist/assets/lotties/circle/elite-circle-lottie.json.js +0 -12079
  152. package/dist/assets/lotties/circle/elite-circle-lottie.json.js.map +0 -1
  153. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js +0 -1412
  154. package/dist/assets/lotties/circle/levelup-rings-lottie.json.js.map +0 -1
  155. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js +0 -2632
  156. package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js.map +0 -1
  157. package/dist/assets/lotties/circle/spinner-white.json.js +0 -316
  158. package/dist/assets/lotties/circle/spinner-white.json.js.map +0 -1
  159. package/dist/assets/lotties/circle/splash-screen.json.js +0 -5864
  160. package/dist/assets/lotties/circle/splash-screen.json.js.map +0 -1
  161. package/dist/assets/lotties/circle/total-streak-lottie.json.js +0 -2103
  162. package/dist/assets/lotties/circle/total-streak-lottie.json.js.map +0 -1
  163. package/dist/assets/lotties/circle/total-time-lottie.json.js +0 -33016
  164. package/dist/assets/lotties/circle/total-time-lottie.json.js.map +0 -1
  165. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js +0 -260
  166. package/dist/assets/lotties/circle/total-time-spent-lottie.json.js.map +0 -1
  167. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js +0 -1563
  168. package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js.map +0 -1
  169. package/dist/assets/lotties/common/nudge-tap.json.js +0 -3597
  170. package/dist/assets/lotties/common/nudge-tap.json.js.map +0 -1
  171. package/dist/assets/lotties/error-lottie.json.js +0 -12755
  172. package/dist/assets/lotties/error-lottie.json.js.map +0 -1
  173. package/dist/assets/lotties/perfect-hits/bronze-1.json.js +0 -10871
  174. package/dist/assets/lotties/perfect-hits/bronze-1.json.js.map +0 -1
  175. package/dist/assets/lotties/perfect-hits/bronze-2.json.js +0 -11389
  176. package/dist/assets/lotties/perfect-hits/bronze-2.json.js.map +0 -1
  177. package/dist/assets/lotties/perfect-hits/bronze-3.json.js +0 -12169
  178. package/dist/assets/lotties/perfect-hits/bronze-3.json.js.map +0 -1
  179. package/dist/assets/lotties/perfect-hits/color-1.json.js +0 -12348
  180. package/dist/assets/lotties/perfect-hits/color-1.json.js.map +0 -1
  181. package/dist/assets/lotties/perfect-hits/color-2.json.js +0 -12941
  182. package/dist/assets/lotties/perfect-hits/color-2.json.js.map +0 -1
  183. package/dist/assets/lotties/perfect-hits/color-3.json.js +0 -14034
  184. package/dist/assets/lotties/perfect-hits/color-3.json.js.map +0 -1
  185. package/dist/assets/lotties/perfect-hits/gold-1.json.js +0 -10871
  186. package/dist/assets/lotties/perfect-hits/gold-1.json.js.map +0 -1
  187. package/dist/assets/lotties/perfect-hits/gold-2.json.js +0 -11389
  188. package/dist/assets/lotties/perfect-hits/gold-2.json.js.map +0 -1
  189. package/dist/assets/lotties/perfect-hits/gold-3.json.js +0 -12169
  190. package/dist/assets/lotties/perfect-hits/gold-3.json.js.map +0 -1
  191. package/dist/assets/lotties/perfect-hits/silver-1.json.js +0 -10871
  192. package/dist/assets/lotties/perfect-hits/silver-1.json.js.map +0 -1
  193. package/dist/assets/lotties/perfect-hits/silver-2.json.js +0 -11389
  194. package/dist/assets/lotties/perfect-hits/silver-2.json.js.map +0 -1
  195. package/dist/assets/lotties/perfect-hits/silver-3.json.js +0 -12169
  196. package/dist/assets/lotties/perfect-hits/silver-3.json.js.map +0 -1
  197. package/dist/assets/lotties/teacher-validation.json.js +0 -649
  198. package/dist/assets/lotties/teacher-validation.json.js.map +0 -1
  199. package/dist/assets/lotties/tests-creation/clock_30_min.json.js +0 -2857
  200. package/dist/assets/lotties/tests-creation/clock_30_min.json.js.map +0 -1
  201. package/dist/assets/lotties/tests-creation/clock_45_min.json.js +0 -2857
  202. package/dist/assets/lotties/tests-creation/clock_45_min.json.js.map +0 -1
  203. package/dist/assets/lotties/tests-creation/clock_60_min.json.js +0 -2857
  204. package/dist/assets/lotties/tests-creation/clock_60_min.json.js.map +0 -1
  205. package/dist/assets/lotties/tests-creation/clock_90_min.json.js +0 -3345
  206. package/dist/assets/lotties/tests-creation/clock_90_min.json.js.map +0 -1
  207. package/dist/assets/lotties/tests-creation/difficult.json.js +0 -6713
  208. package/dist/assets/lotties/tests-creation/difficult.json.js.map +0 -1
  209. package/dist/assets/lotties/tests-creation/easy.json.js +0 -6525
  210. package/dist/assets/lotties/tests-creation/easy.json.js.map +0 -1
  211. package/dist/assets/lotties/tests-creation/medium.json.js +0 -5603
  212. package/dist/assets/lotties/tests-creation/medium.json.js.map +0 -1
  213. package/dist/assets/lotties/trial-v3/15min-clock.json.js +0 -2037
  214. package/dist/assets/lotties/trial-v3/15min-clock.json.js.map +0 -1
  215. package/dist/assets/lotties/trial-v3/5min-clock.json.js +0 -2062
  216. package/dist/assets/lotties/trial-v3/5min-clock.json.js.map +0 -1
  217. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js +0 -8517
  218. package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js.map +0 -1
  219. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js +0 -7396
  220. package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js.map +0 -1
  221. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js +0 -8559
  222. package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js.map +0 -1
  223. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js +0 -23284
  224. package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js.map +0 -1
  225. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js +0 -9090
  226. package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js.map +0 -1
  227. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js +0 -8675
  228. package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js.map +0 -1
  229. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js +0 -13
  230. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js.map +0 -1
  231. package/dist/features/circle-games/game-launcher/game-launcher-styled.js +0 -10
  232. package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +0 -1
  233. package/dist/features/post-game-stats/points/points-styled.js +0 -10
  234. package/dist/features/post-game-stats/points/points-styled.js.map +0 -1
  235. package/dist/features/trial-session/comps/render-lottie/index.js +0 -26
  236. package/dist/features/trial-session/comps/render-lottie/index.js.map +0 -1
  237. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js +0 -17
  238. package/dist/features/ui/loader/circular-loader/circular-loader-styled.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-av-panel.js","sources":["../../../../../../src/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.tsx"],"sourcesContent":["import 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 FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useTrialSessionContext } from '../../../context/use-trial-session-context';\nimport { EClassTimeAlertLevel } from '../../../trial-session-types';\nimport Clock from '../../clock/clock';\nimport CountdownProgressBar from '../../countdown-progress-bar/countdown-progress-bar';\nimport * as Styled from './teacher-av-panel-styled';\n\nconst fiveMinClockLottie = () => import('../../../../../assets/lotties/trial-v3/5min-clock.json');\nconst fifteenMinClockLottie = () =>\n import('../../../../../assets/lotties/trial-v3/15min-clock.json');\n\nconst TeacherAVPanel: FC = memo(() => {\n const {\n teacherPanel,\n classStartedOn,\n isTeacher,\n trialHomeData,\n classTimeAlertConfig,\n classDuration,\n } = useTrialSessionContext();\n const {\n alertLevel: classTimeAlertLevel,\n isVisible: showClassTimeAlert,\n onComplete: onClassTimeAlertComplete,\n } = classTimeAlertConfig ?? {};\n const lottieContainer = useRef<HTMLDivElement>(null);\n const lottieInstance = useRef<AnimationItem | null>(null);\n const [showText, setShowText] = useState(false);\n const [showOverlay, setShowOverlay] = useState(false);\n const [timeLeft, setTimeLeft] = useState(0);\n const timerRef = useRef<NodeJS.Timeout | null>(null);\n const audioRef = useRef<HTMLAudioElement | null>(null);\n\n const { teacher } = trialHomeData;\n const { name } = teacher;\n\n const playClassTimeAlertAnimation = useCallback(\n async (type: string) => {\n if (!lottieContainer.current || !type) return;\n\n try {\n const module = await (type === EClassTimeAlertLevel.FIVE_MIN\n ? fiveMinClockLottie()\n : fifteenMinClockLottie());\n const animationData = module.default;\n\n setShowOverlay(true);\n\n const instance = Lottie.loadAnimation({\n container: lottieContainer.current,\n renderer: 'svg',\n loop: false,\n autoplay: false,\n animationData,\n });\n\n lottieInstance.current = instance;\n lottieInstance.current.play();\n\n if (audioRef.current) {\n audioRef.current.currentTime = 0;\n audioRef.current.play();\n }\n\n setTimeout(() => setShowText(true), 233);\n\n lottieInstance.current.addEventListener('complete', () => {\n lottieInstance.current?.destroy();\n lottieInstance.current = null;\n setShowText(false);\n setShowOverlay(false);\n onClassTimeAlertComplete?.();\n });\n } catch (error) {\n return null;\n }\n },\n [onClassTimeAlertComplete],\n );\n\n const getRemainingTime = useCallback(() => {\n if (!classStartedOn || !classDuration) return 0;\n\n const currentTime = Date.now();\n const startTime = new Date(classStartedOn).getTime();\n const timeRemaining = classDuration - (currentTime - startTime) / 1000;\n\n return timeRemaining;\n }, [classDuration, classStartedOn]);\n\n const updateTimeLeft = useCallback(() => {\n const remainingTime = getRemainingTime();\n\n setTimeLeft(remainingTime);\n }, [getRemainingTime]);\n\n const startCountdownPolling = useCallback(() => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n updateTimeLeft();\n timerRef.current = setInterval(() => {\n updateTimeLeft();\n }, 5000);\n }, [updateTimeLeft]);\n\n useEffect(() => {\n if (classTimeAlertLevel && showClassTimeAlert) {\n playClassTimeAlertAnimation(classTimeAlertLevel);\n }\n }, [classTimeAlertLevel, playClassTimeAlertAnimation, showClassTimeAlert]);\n\n useEffect(() => {\n if (classTimeAlertLevel && classTimeAlertLevel === EClassTimeAlertLevel.FIVE_MIN) {\n startCountdownPolling();\n }\n\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n };\n }, [classTimeAlertLevel, startCountdownPolling]);\n\n useEffect(() => {\n const loadAudio = async (alertLevel: EClassTimeAlertLevel) => {\n const audio = new Audio(\n `https://static.qumath.in/static/intel-student/cmpress/${\n alertLevel === EClassTimeAlertLevel.FIFTEEN_MIN ? '15-min-reminder' : '5-min-reminder'\n }.mp3`,\n );\n\n audioRef.current = audio;\n };\n\n if (classTimeAlertLevel) {\n loadAudio(classTimeAlertLevel);\n }\n\n return () => {\n audioRef.current = null;\n };\n }, [classTimeAlertLevel]);\n\n const showCountdownProgressBar =\n classTimeAlertLevel === EClassTimeAlertLevel.FIVE_MIN && timeLeft > 0 && isTeacher;\n\n return (\n <FlexView $position=\"relative\" $width=\"100%\" $height=\"100%\">\n {teacherPanel}\n {isTeacher && (\n <Styled.AnimationContainer\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"BLACK_T_60\"\n $visible={showOverlay}\n >\n <FlexView ref={lottieContainer} $width={80} $height={80} />\n {classTimeAlertLevel && (\n <Styled.TextFadeIn\n $visible={showText}\n $renderAs=\"ac3\"\n $color=\"WHITE\"\n className=\"fade-in\"\n >\n {classTimeAlertLevel === '15min' ? `15 MIN REMAINING` : `5 MIN REMAINING`}\n </Styled.TextFadeIn>\n )}\n </Styled.AnimationContainer>\n )}\n {showCountdownProgressBar && (\n <Styled.ProgressWrapper $width={'100%'}>\n <CountdownProgressBar value={timeLeft} maxValue={300} />\n </Styled.ProgressWrapper>\n )}\n {classStartedOn && isTeacher && (\n <Styled.TimerWrapper\n $background={\n classTimeAlertLevel === '15min'\n ? 'YELLOW_4'\n : classTimeAlertLevel === '5min'\n ? 'ORANGE_4'\n : 'GREEN_4'\n }\n $gapX={0.25}\n $gutterX={0.5}\n $justifyContent=\"center\"\n >\n <Clock startTime={classStartedOn} textRenderAs=\"ac3\" textColor=\"BLACK_T_87\" />\n </Styled.TimerWrapper>\n )}\n {name && !isTeacher && (\n <Styled.TeacherNameWrapper $gapX={0.75} $gutterX={0.75} $width=\"100%\">\n <Text $renderAs=\"ac3-black\" $color=\"WHITE\">\n {name}\n </Text>\n </Styled.TeacherNameWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default TeacherAVPanel;\n"],"names":["fiveMinClockLottie","fifteenMinClockLottie","TeacherAVPanel","memo","teacherPanel","classStartedOn","isTeacher","trialHomeData","classTimeAlertConfig","classDuration","useTrialSessionContext","classTimeAlertLevel","showClassTimeAlert","onClassTimeAlertComplete","lottieContainer","useRef","lottieInstance","showText","setShowText","useState","showOverlay","setShowOverlay","timeLeft","setTimeLeft","timerRef","audioRef","teacher","name","playClassTimeAlertAnimation","useCallback","type","animationData","EClassTimeAlertLevel","instance","Lottie","_a","getRemainingTime","currentTime","startTime","updateTimeLeft","remainingTime","startCountdownPolling","useEffect","alertLevel","audio","showCountdownProgressBar","FlexView","jsxs","Styled.AnimationContainer","jsx","Styled.TextFadeIn","Styled.ProgressWrapper","CountdownProgressBar","Styled.TimerWrapper","Clock","Styled.TeacherNameWrapper","Text"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-av-panel.js","sources":["../../../../../../src/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.tsx"],"sourcesContent":["import 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 FlexView from '../../../../ui/layout/flex-view';\nimport { fetchLottie } from '../../../../ui/lottie-animation/helper';\nimport Text from '../../../../ui/text/text';\nimport { useTrialSessionContext } from '../../../context/use-trial-session-context';\nimport { EClassTimeAlertLevel } from '../../../trial-session-types';\nimport Clock from '../../clock/clock';\nimport CountdownProgressBar from '../../countdown-progress-bar/countdown-progress-bar';\nimport * as Styled from './teacher-av-panel-styled';\n\nconst TeacherAVPanel: FC = memo(() => {\n const {\n teacherPanel,\n classStartedOn,\n isTeacher,\n trialHomeData,\n classTimeAlertConfig,\n classDuration,\n } = useTrialSessionContext();\n const {\n alertLevel: classTimeAlertLevel,\n isVisible: showClassTimeAlert,\n onComplete: onClassTimeAlertComplete,\n } = classTimeAlertConfig ?? {};\n const lottieContainer = useRef<HTMLDivElement>(null);\n const lottieInstance = useRef<AnimationItem | null>(null);\n const [showText, setShowText] = useState(false);\n const [showOverlay, setShowOverlay] = useState(false);\n const [timeLeft, setTimeLeft] = useState(0);\n const timerRef = useRef<NodeJS.Timeout | null>(null);\n const audioRef = useRef<HTMLAudioElement | null>(null);\n\n const { teacher } = trialHomeData;\n const { name } = teacher;\n\n const playClassTimeAlertAnimation = useCallback(\n async (type: string) => {\n if (!lottieContainer.current || !type) return;\n\n try {\n const clockLottiePath =\n type === EClassTimeAlertLevel.FIVE_MIN ? LOTTIE.FIVE_MIN_CLOCK : LOTTIE.FIFTEEN_MIN_CLOCK;\n const animationData = await fetchLottie(clockLottiePath);\n\n setShowOverlay(true);\n\n const instance = Lottie.loadAnimation({\n container: lottieContainer.current,\n renderer: 'svg',\n loop: false,\n autoplay: false,\n animationData,\n });\n\n lottieInstance.current = instance;\n lottieInstance.current.play();\n\n if (audioRef.current) {\n audioRef.current.currentTime = 0;\n audioRef.current.play();\n }\n\n setTimeout(() => setShowText(true), 233);\n\n lottieInstance.current.addEventListener('complete', () => {\n lottieInstance.current?.destroy();\n lottieInstance.current = null;\n setShowText(false);\n setShowOverlay(false);\n onClassTimeAlertComplete?.();\n });\n } catch (error) {\n return null;\n }\n },\n [onClassTimeAlertComplete],\n );\n\n const getRemainingTime = useCallback(() => {\n if (!classStartedOn || !classDuration) return 0;\n\n const currentTime = Date.now();\n const startTime = new Date(classStartedOn).getTime();\n const timeRemaining = classDuration - (currentTime - startTime) / 1000;\n\n return timeRemaining;\n }, [classDuration, classStartedOn]);\n\n const updateTimeLeft = useCallback(() => {\n const remainingTime = getRemainingTime();\n\n setTimeLeft(remainingTime);\n }, [getRemainingTime]);\n\n const startCountdownPolling = useCallback(() => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n updateTimeLeft();\n timerRef.current = setInterval(() => {\n updateTimeLeft();\n }, 5000);\n }, [updateTimeLeft]);\n\n useEffect(() => {\n if (classTimeAlertLevel && showClassTimeAlert) {\n playClassTimeAlertAnimation(classTimeAlertLevel);\n }\n }, [classTimeAlertLevel, playClassTimeAlertAnimation, showClassTimeAlert]);\n\n useEffect(() => {\n if (classTimeAlertLevel && classTimeAlertLevel === EClassTimeAlertLevel.FIVE_MIN) {\n startCountdownPolling();\n }\n\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n };\n }, [classTimeAlertLevel, startCountdownPolling]);\n\n useEffect(() => {\n const loadAudio = async (alertLevel: EClassTimeAlertLevel) => {\n const audio = new Audio(\n `https://static.qumath.in/static/intel-student/cmpress/${\n alertLevel === EClassTimeAlertLevel.FIFTEEN_MIN ? '15-min-reminder' : '5-min-reminder'\n }.mp3`,\n );\n\n audioRef.current = audio;\n };\n\n if (classTimeAlertLevel) {\n loadAudio(classTimeAlertLevel);\n }\n\n return () => {\n audioRef.current = null;\n };\n }, [classTimeAlertLevel]);\n\n const showCountdownProgressBar =\n classTimeAlertLevel === EClassTimeAlertLevel.FIVE_MIN && timeLeft > 0 && isTeacher;\n\n return (\n <FlexView $position=\"relative\" $width=\"100%\" $height=\"100%\">\n {teacherPanel}\n {isTeacher && (\n <Styled.AnimationContainer\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"BLACK_T_60\"\n $visible={showOverlay}\n >\n <FlexView ref={lottieContainer} $width={80} $height={80} />\n {classTimeAlertLevel && (\n <Styled.TextFadeIn\n $visible={showText}\n $renderAs=\"ac3\"\n $color=\"WHITE\"\n className=\"fade-in\"\n >\n {classTimeAlertLevel === '15min' ? `15 MIN REMAINING` : `5 MIN REMAINING`}\n </Styled.TextFadeIn>\n )}\n </Styled.AnimationContainer>\n )}\n {showCountdownProgressBar && (\n <Styled.ProgressWrapper $width={'100%'}>\n <CountdownProgressBar value={timeLeft} maxValue={300} />\n </Styled.ProgressWrapper>\n )}\n {classStartedOn && isTeacher && (\n <Styled.TimerWrapper\n $background={\n classTimeAlertLevel === '15min'\n ? 'YELLOW_4'\n : classTimeAlertLevel === '5min'\n ? 'ORANGE_4'\n : 'GREEN_4'\n }\n $gapX={0.25}\n $gutterX={0.5}\n $justifyContent=\"center\"\n >\n <Clock startTime={classStartedOn} textRenderAs=\"ac3\" textColor=\"BLACK_T_87\" />\n </Styled.TimerWrapper>\n )}\n {name && !isTeacher && (\n <Styled.TeacherNameWrapper $gapX={0.75} $gutterX={0.75} $width=\"100%\">\n <Text $renderAs=\"ac3-black\" $color=\"WHITE\">\n {name}\n </Text>\n </Styled.TeacherNameWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default TeacherAVPanel;\n"],"names":["TeacherAVPanel","memo","teacherPanel","classStartedOn","isTeacher","trialHomeData","classTimeAlertConfig","classDuration","useTrialSessionContext","classTimeAlertLevel","showClassTimeAlert","onClassTimeAlertComplete","lottieContainer","useRef","lottieInstance","showText","setShowText","useState","showOverlay","setShowOverlay","timeLeft","setTimeLeft","timerRef","audioRef","teacher","name","playClassTimeAlertAnimation","useCallback","type","clockLottiePath","EClassTimeAlertLevel","LOTTIE","animationData","fetchLottie","instance","Lottie","_a","getRemainingTime","currentTime","startTime","updateTimeLeft","remainingTime","startCountdownPolling","useEffect","alertLevel","audio","showCountdownProgressBar","FlexView","jsxs","Styled.AnimationContainer","jsx","Styled.TextFadeIn","Styled.ProgressWrapper","CountdownProgressBar","Styled.TimerWrapper","Clock","Styled.TeacherNameWrapper","Text"],"mappings":"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"}
@@ -1,27 +1,32 @@
1
- import { jsxs as e, jsx as t } from "react/jsx-runtime";
2
- import { IMAGES as i } from "../../../../assets/images/images.js";
3
- import o from "../../../ui/image/image.js";
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
+ import { IMAGES as o } from "../../../../assets/images/images.js";
3
+ import { LOTTIE as e } from "../../../../assets/lottie/lottie.js";
4
+ import h from "../../../ui/image/image.js";
4
5
  import n from "../../../ui/layout/flex-view.js";
5
- import r from "../../../ui/separator/separator.js";
6
- import a from "../../../ui/text/text.js";
7
- import m from "../render-lottie/index.js";
8
- import d from "../slide-header/index.js";
9
- import { Container as c, Wrapper as s } from "./parent-app-styled.js";
10
- const f = () => import("../../../../assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js"), l = () => import("../../../../assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js"), g = () => import("../../../../assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js"), $ = [f, l, g], j = () => /* @__PURE__ */ e(c, { children: [
11
- /* @__PURE__ */ t(r, { height: 60 }),
12
- /* @__PURE__ */ t(d, {}),
13
- /* @__PURE__ */ t(n, { $justifyContent: "center", $flexDirection: "row", $flexGap: 50, children: $.map((h, p) => /* @__PURE__ */ t(m, { width: 200, height: 300, lottiePromise: h }, p)) }),
14
- /* @__PURE__ */ t(r, { height: 51 }),
15
- /* @__PURE__ */ e(s, { $width: 448, $height: 99, $background: "WHITE", $gapX: 0.75, children: [
16
- /* @__PURE__ */ e(n, { $width: 450, $justifyContent: "center", $flexDirection: "row", children: [
17
- /* @__PURE__ */ t(o, { withLoader: !0, src: i.PLAYSTORE, width: 150, height: 50 }),
18
- /* @__PURE__ */ t(o, { withLoader: !0, src: i.APPSTORE, width: 150, height: 50 })
6
+ import a from "../../../ui/lottie-animation/lottie-animation.js";
7
+ import i from "../../../ui/separator/separator.js";
8
+ import d from "../../../ui/text/text.js";
9
+ import c from "../slide-header/index.js";
10
+ import { Container as f, Wrapper as T } from "./parent-app-styled.js";
11
+ const l = [
12
+ e.STAY_CONNECTED_LOTTIE,
13
+ e.TRACK_PROGRESS_LOTTIE,
14
+ e.EASY_RESCHEDULING_LOTTIE
15
+ ], x = () => /* @__PURE__ */ t(f, { children: [
16
+ /* @__PURE__ */ r(i, { height: 60 }),
17
+ /* @__PURE__ */ r(c, {}),
18
+ /* @__PURE__ */ r(n, { $justifyContent: "center", $flexDirection: "row", $flexGap: 50, children: l.map((m, p) => /* @__PURE__ */ r(a, { width: 200, height: 300, src: m }, p)) }),
19
+ /* @__PURE__ */ r(i, { height: 51 }),
20
+ /* @__PURE__ */ t(T, { $width: 448, $height: 99, $background: "WHITE", $gapX: 0.75, children: [
21
+ /* @__PURE__ */ t(n, { $width: 450, $justifyContent: "center", $flexDirection: "row", children: [
22
+ /* @__PURE__ */ r(h, { withLoader: !0, src: o.PLAYSTORE, width: 150, height: 50 }),
23
+ /* @__PURE__ */ r(h, { withLoader: !0, src: o.APPSTORE, width: 150, height: 50 })
19
24
  ] }),
20
- /* @__PURE__ */ t(r, { height: 6 }),
21
- /* @__PURE__ */ t(a, { $align: "center", $renderAs: "ub3", children: "The Cuemath App is available on iOS & Android" })
25
+ /* @__PURE__ */ r(i, { height: 6 }),
26
+ /* @__PURE__ */ r(d, { $align: "center", $renderAs: "ub3", children: "The Cuemath App is available on iOS & Android" })
22
27
  ] })
23
28
  ] });
24
29
  export {
25
- j as default
30
+ x as default
26
31
  };
27
32
  //# sourceMappingURL=parent-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parent-app.js","sources":["../../../../../src/features/trial-session/comps/parent-app/parent-app.tsx"],"sourcesContent":["import React from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport RenderLottie from '../render-lottie';\nimport SlideHeader from '../slide-header';\nimport * as Styled from './parent-app-styled';\n\nconst stayConnected = () =>\n import('../../../../assets/lotties/trial-v3/parent-app/stay-connected-lottie.json');\nconst trackProgress = () =>\n import('../../../../assets/lotties/trial-v3/parent-app/track-progress-lottie.json');\nconst easyRescheduling = () =>\n import('../../../../assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json');\n\nconst parentAppLottie = [stayConnected, trackProgress, easyRescheduling];\n\nconst ParentApp: React.FC = () => {\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <FlexView $justifyContent=\"center\" $flexDirection=\"row\" $flexGap={50}>\n {parentAppLottie.map((lottiePromise, index) => (\n <RenderLottie key={index} width={200} height={300} lottiePromise={lottiePromise} />\n ))}\n </FlexView>\n <Separator height={51} />\n <Styled.Wrapper $width={448} $height={99} $background=\"WHITE\" $gapX={0.75}>\n <FlexView $width={450} $justifyContent=\"center\" $flexDirection=\"row\">\n <Image withLoader src={IMAGES.PLAYSTORE} width={150} height={50} />\n <Image withLoader src={IMAGES.APPSTORE} width={150} height={50} />\n </FlexView>\n <Separator height={6} />\n <Text $align=\"center\" $renderAs=\"ub3\">\n The Cuemath App is available on iOS & Android\n </Text>\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default ParentApp;\n"],"names":["stayConnected","trackProgress","easyRescheduling","parentAppLottie","ParentApp","jsxs","Styled.Container","jsx","Separator","SlideHeader","FlexView","lottiePromise","index","RenderLottie","Styled.Wrapper","Image","IMAGES","Text"],"mappings":";;;;;;;;;AAWA,MAAMA,IAAgB,MACpB,OAAO,8EAA2E,GAC9EC,IAAgB,MACpB,OAAO,8EAA2E,GAC9EC,IAAmB,MACvB,OAAO,iFAA8E,GAEjFC,IAAkB,CAACH,GAAeC,GAAeC,CAAgB,GAEjEE,IAAsB,MAExB,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,oBACtBC,GAAY,EAAA;AAAA,EACb,gBAAAF,EAACG,KAAS,iBAAgB,UAAS,gBAAe,OAAM,UAAU,IAC/D,UAAAP,EAAgB,IAAI,CAACQ,GAAeC,MACnC,gBAAAL,EAACM,KAAyB,OAAO,KAAK,QAAQ,KAAK,eAAAF,EAAA,GAAhCC,CAA8D,CAClF,EACH,CAAA;AAAA,EACA,gBAAAL,EAACC,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,EACvB,gBAAAH,EAACS,GAAA,EAAe,QAAQ,KAAK,SAAS,IAAI,aAAY,SAAQ,OAAO,MACnE,UAAA;AAAA,IAAA,gBAAAT,EAACK,KAAS,QAAQ,KAAK,iBAAgB,UAAS,gBAAe,OAC7D,UAAA;AAAA,MAAC,gBAAAH,EAAAQ,GAAA,EAAM,YAAU,IAAC,KAAKC,EAAO,WAAW,OAAO,KAAK,QAAQ,GAAI,CAAA;AAAA,MACjE,gBAAAT,EAACQ,GAAM,EAAA,YAAU,IAAC,KAAKC,EAAO,UAAU,OAAO,KAAK,QAAQ,GAAI,CAAA;AAAA,IAAA,GAClE;AAAA,IACA,gBAAAT,EAACC,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,sBACrBS,GAAK,EAAA,QAAO,UAAS,WAAU,OAAM,UAEtC,iDAAA;AAAA,EAAA,GACF;AACF,EAAA,CAAA;"}
1
+ {"version":3,"file":"parent-app.js","sources":["../../../../../src/features/trial-session/comps/parent-app/parent-app.tsx"],"sourcesContent":["import React from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport SlideHeader from '../slide-header';\nimport * as Styled from './parent-app-styled';\n\nconst parentAppLottie = [\n LOTTIE.STAY_CONNECTED_LOTTIE,\n LOTTIE.TRACK_PROGRESS_LOTTIE,\n LOTTIE.EASY_RESCHEDULING_LOTTIE,\n];\n\nconst ParentApp: React.FC = () => {\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <FlexView $justifyContent=\"center\" $flexDirection=\"row\" $flexGap={50}>\n {parentAppLottie.map((lottiePath, index) => (\n <LottieAnimation key={index} width={200} height={300} src={lottiePath} />\n ))}\n </FlexView>\n <Separator height={51} />\n <Styled.Wrapper $width={448} $height={99} $background=\"WHITE\" $gapX={0.75}>\n <FlexView $width={450} $justifyContent=\"center\" $flexDirection=\"row\">\n <Image withLoader src={IMAGES.PLAYSTORE} width={150} height={50} />\n <Image withLoader src={IMAGES.APPSTORE} width={150} height={50} />\n </FlexView>\n <Separator height={6} />\n <Text $align=\"center\" $renderAs=\"ub3\">\n The Cuemath App is available on iOS & Android\n </Text>\n </Styled.Wrapper>\n </Styled.Container>\n );\n};\n\nexport default ParentApp;\n"],"names":["parentAppLottie","LOTTIE","ParentApp","jsxs","Styled.Container","jsx","Separator","SlideHeader","FlexView","lottiePath","index","LottieAnimation","Styled.Wrapper","Image","IMAGES","Text"],"mappings":";;;;;;;;;;AAYA,MAAMA,IAAkB;AAAA,EACtBC,EAAO;AAAA,EACPA,EAAO;AAAA,EACPA,EAAO;AACT,GAEMC,IAAsB,MAExB,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,oBACtBC,GAAY,EAAA;AAAA,EACb,gBAAAF,EAACG,KAAS,iBAAgB,UAAS,gBAAe,OAAM,UAAU,IAC/D,UAAAR,EAAgB,IAAI,CAACS,GAAYC,MAChC,gBAAAL,EAACM,GAA4B,EAAA,OAAO,KAAK,QAAQ,KAAK,KAAKF,EAAA,GAArCC,CAAiD,CACxE,EACH,CAAA;AAAA,EACA,gBAAAL,EAACC,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,EACvB,gBAAAH,EAACS,GAAA,EAAe,QAAQ,KAAK,SAAS,IAAI,aAAY,SAAQ,OAAO,MACnE,UAAA;AAAA,IAAA,gBAAAT,EAACK,KAAS,QAAQ,KAAK,iBAAgB,UAAS,gBAAe,OAC7D,UAAA;AAAA,MAAC,gBAAAH,EAAAQ,GAAA,EAAM,YAAU,IAAC,KAAKC,EAAO,WAAW,OAAO,KAAK,QAAQ,GAAI,CAAA;AAAA,MACjE,gBAAAT,EAACQ,GAAM,EAAA,YAAU,IAAC,KAAKC,EAAO,UAAU,OAAO,KAAK,QAAQ,GAAI,CAAA;AAAA,IAAA,GAClE;AAAA,IACA,gBAAAT,EAACC,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,sBACrBS,GAAK,EAAA,QAAO,UAAS,WAAU,OAAM,UAEtC,iDAAA;AAAA,EAAA,GACF;AACF,EAAA,CAAA;"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
2
  import { GIF as c } from "../../../../assets/gif/gif.js";
3
3
  import f from "../../../ui/image/image.js";
4
- import o from "../../../ui/inputs/searchable-select-input/searchable-select-input.js";
5
- import C from "../../../ui/inputs/select-input/select-input.js";
4
+ import C from "../../../ui/inputs/searchable-select-input/searchable-select-input.js";
5
+ import o from "../../../ui/inputs/select-input/select-input.js";
6
6
  import b from "../../../ui/inputs/text-input/text-input.js";
7
7
  import S from "../../../ui/layout/flex-view.js";
8
8
  import g from "../../../ui/separator/separator.js";
@@ -66,7 +66,7 @@ const D = ({
66
66
  )
67
67
  ] }),
68
68
  /* @__PURE__ */ e(
69
- C,
69
+ o,
70
70
  {
71
71
  renderAs: "primary",
72
72
  label: "Curriculum",
@@ -81,7 +81,7 @@ const D = ({
81
81
  }
82
82
  ),
83
83
  /* @__PURE__ */ e(
84
- o,
84
+ C,
85
85
  {
86
86
  renderAs: "primary",
87
87
  label: "Goal",
@@ -1 +1 @@
1
- {"version":3,"file":"school-goals-view.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals-view.tsx"],"sourcesContent":["import type { TCurriculumStandardOption } from '../../../milestone/create/milestone-create-types';\nimport type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\nimport type { ISectionOption } from '../../../ui/section-list/section-list-types';\n\nimport { GIF } from '../../../../assets/gif/gif';\nimport Image from '../../../ui/image/image';\nimport SearchableSelectInput from '../../../ui/inputs/searchable-select-input/searchable-select-input';\nimport SelectInput from '../../../ui/inputs/select-input/select-input';\nimport TextInput from '../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport SlideHeader from '../slide-header';\nimport * as Styled from './school-goals-styled';\n\ninterface ISchoolGoals {\n header?: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n grades: ISelectOption<string>[];\n curriculumStandards: ISectionOption<TCurriculumStandardOption>[];\n goalsList: ISelectOption<string>[];\n selectedGoal?: string;\n onNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n onGradeChange: (value: string) => void;\n onCurriculumChange: (value: string) => void;\n onGoalChange: (value: string, option: ISelectOption<string | number>) => void;\n}\n\nconst SchoolGoalsView = ({\n name,\n onNameChange,\n grade,\n grades,\n onGradeChange,\n curriculum,\n curriculumStandards,\n onCurriculumChange,\n selectedGoal,\n goalsList,\n onGoalChange,\n}: ISchoolGoals) => {\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <Styled.ContentWrapper $flexDirection=\"row\" $justifyContent=\"center\">\n <Styled.ImageWrapper>\n <Image withLoader height={402} width={302} src={GIF.SCHOOL_SUCCESS} className=\"image\" />\n </Styled.ImageWrapper>\n <Styled.InputContainer\n $flexGap={24}\n $justifyContent=\"center\"\n $background=\"PURPLE_1\"\n $borderColor=\"BLACK_1\"\n $gapX={2.5}\n $gutterX={2.5}\n >\n <FlexView $flexDirection=\"row\" $flexColumnGapX={1.5}>\n <TextInput\n renderAs=\"primary\"\n label=\"Student name\"\n value={name}\n type=\"text\"\n name=\"name\"\n shape=\"borderLess\"\n onChange={onNameChange}\n width=\"100%\"\n isTransparent\n />\n <SearchableSelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={grade}\n options={grades}\n shape=\"borderLess\"\n onChange={onGradeChange}\n theme=\"dark\"\n widthX={10}\n isTransparent\n />\n </FlexView>\n <SelectInput\n renderAs=\"primary\"\n label=\"Curriculum\"\n value={curriculum}\n options={curriculumStandards}\n disabled={!grade}\n shape=\"borderLess\"\n renderOptionsAs=\"section-list\"\n theme=\"dark\"\n onChange={onCurriculumChange}\n isTransparent\n />\n <SearchableSelectInput\n renderAs=\"primary\"\n label=\"Goal\"\n value={selectedGoal}\n options={goalsList}\n shape=\"borderLess\"\n theme=\"dark\"\n onChange={onGoalChange}\n isTransparent\n disabled={!grade || !curriculum}\n />\n </Styled.InputContainer>\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n};\n\nexport default SchoolGoalsView;\n"],"names":["SchoolGoalsView","name","onNameChange","grade","grades","onGradeChange","curriculum","curriculumStandards","onCurriculumChange","selectedGoal","goalsList","onGoalChange","jsxs","Styled.Container","jsx","Separator","SlideHeader","Styled.ContentWrapper","Styled.ImageWrapper","Image","GIF","Styled.InputContainer","FlexView","TextInput","SearchableSelectInput","SelectInput"],"mappings":";;;;;;;;;;AA6BA,MAAMA,IAAkB,CAAC;AAAA,EACvB,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AACF,MAEI,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,oBACtBC,GAAY,EAAA;AAAA,oBACZC,GAAA,EAAsB,gBAAe,OAAM,iBAAgB,UAC1D,UAAA;AAAA,IAAA,gBAAAH,EAACI,GAAA,EACC,UAAC,gBAAAJ,EAAAK,GAAA,EAAM,YAAU,IAAC,QAAQ,KAAK,OAAO,KAAK,KAAKC,EAAI,gBAAgB,WAAU,QAAQ,CAAA,GACxF;AAAA,IACA,gBAAAR;AAAA,MAACS;AAAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,cAAa;AAAA,QACb,OAAO;AAAA,QACP,UAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAT,EAACU,GAAS,EAAA,gBAAe,OAAM,iBAAiB,KAC9C,UAAA;AAAA,YAAA,gBAAAR;AAAA,cAACS;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,OAAM;AAAA,gBACN,OAAOtB;AAAA,gBACP,MAAK;AAAA,gBACL,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,UAAUC;AAAA,gBACV,OAAM;AAAA,gBACN,eAAa;AAAA,cAAA;AAAA,YACf;AAAA,YACA,gBAAAY;AAAA,cAACU;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,OAAM;AAAA,gBACN,OAAOrB;AAAA,gBACP,SAASC;AAAA,gBACT,OAAM;AAAA,gBACN,UAAUC;AAAA,gBACV,OAAM;AAAA,gBACN,QAAQ;AAAA,gBACR,eAAa;AAAA,cAAA;AAAA,YACf;AAAA,UAAA,GACF;AAAA,UACA,gBAAAS;AAAA,YAACW;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,OAAM;AAAA,cACN,OAAOnB;AAAA,cACP,SAASC;AAAA,cACT,UAAU,CAACJ;AAAA,cACX,OAAM;AAAA,cACN,iBAAgB;AAAA,cAChB,OAAM;AAAA,cACN,UAAUK;AAAA,cACV,eAAa;AAAA,YAAA;AAAA,UACf;AAAA,UACA,gBAAAM;AAAA,YAACU;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,OAAM;AAAA,cACN,OAAOf;AAAA,cACP,SAASC;AAAA,cACT,OAAM;AAAA,cACN,OAAM;AAAA,cACN,UAAUC;AAAA,cACV,eAAa;AAAA,cACb,UAAU,CAACR,KAAS,CAACG;AAAA,YAAA;AAAA,UACvB;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,GACF;AACF,EAAA,CAAA;"}
1
+ {"version":3,"file":"school-goals-view.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals-view.tsx"],"sourcesContent":["import type { TCurriculumStandardOption } from '../../../milestone/create/milestone-create-types';\nimport type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\nimport type { ISectionOption } from '../../../ui/section-list/section-list-types';\n\nimport { GIF } from '../../../../assets/gif/gif';\nimport Image from '../../../ui/image/image';\nimport SearchableSelectInput from '../../../ui/inputs/searchable-select-input/searchable-select-input';\nimport SelectInput from '../../../ui/inputs/select-input/select-input';\nimport TextInput from '../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport SlideHeader from '../slide-header';\nimport * as Styled from './school-goals-styled';\n\ninterface ISchoolGoals {\n header?: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n grades: ISelectOption<string>[];\n curriculumStandards: ISectionOption<TCurriculumStandardOption>[];\n goalsList: ISelectOption<string>[];\n selectedGoal?: string;\n onNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n onGradeChange: (value: string) => void;\n onCurriculumChange: (value: string) => void;\n onGoalChange: (value: string, option: ISelectOption<string | number>) => void;\n}\n\nconst SchoolGoalsView = ({\n name,\n onNameChange,\n grade,\n grades,\n onGradeChange,\n curriculum,\n curriculumStandards,\n onCurriculumChange,\n selectedGoal,\n goalsList,\n onGoalChange,\n}: ISchoolGoals) => {\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <Styled.ContentWrapper $flexDirection=\"row\" $justifyContent=\"center\">\n <Styled.ImageWrapper>\n <Image withLoader height={402} width={302} src={GIF.SCHOOL_SUCCESS} className=\"image\" />\n </Styled.ImageWrapper>\n <Styled.InputContainer\n $flexGap={24}\n $justifyContent=\"center\"\n $background=\"PURPLE_1\"\n $borderColor=\"BLACK_1\"\n $gapX={2.5}\n $gutterX={2.5}\n >\n <FlexView $flexDirection=\"row\" $flexColumnGapX={1.5}>\n <TextInput\n renderAs=\"primary\"\n label=\"Student name\"\n value={name}\n type=\"text\"\n name=\"name\"\n shape=\"borderLess\"\n onChange={onNameChange}\n width=\"100%\"\n isTransparent\n />\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={grade}\n options={grades}\n shape=\"borderLess\"\n onChange={onGradeChange}\n theme=\"dark\"\n widthX={10}\n isTransparent\n />\n </FlexView>\n <SelectInput\n renderAs=\"primary\"\n label=\"Curriculum\"\n value={curriculum}\n options={curriculumStandards}\n disabled={!grade}\n shape=\"borderLess\"\n renderOptionsAs=\"section-list\"\n theme=\"dark\"\n onChange={onCurriculumChange}\n isTransparent\n />\n <SearchableSelectInput\n renderAs=\"primary\"\n label=\"Goal\"\n value={selectedGoal}\n options={goalsList}\n shape=\"borderLess\"\n theme=\"dark\"\n onChange={onGoalChange}\n isTransparent\n disabled={!grade || !curriculum}\n />\n </Styled.InputContainer>\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n};\n\nexport default SchoolGoalsView;\n"],"names":["SchoolGoalsView","name","onNameChange","grade","grades","onGradeChange","curriculum","curriculumStandards","onCurriculumChange","selectedGoal","goalsList","onGoalChange","jsxs","Styled.Container","jsx","Separator","SlideHeader","Styled.ContentWrapper","Styled.ImageWrapper","Image","GIF","Styled.InputContainer","FlexView","TextInput","SelectInput","SearchableSelectInput"],"mappings":";;;;;;;;;;AA6BA,MAAMA,IAAkB,CAAC;AAAA,EACvB,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AACF,MAEI,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,oBACtBC,GAAY,EAAA;AAAA,oBACZC,GAAA,EAAsB,gBAAe,OAAM,iBAAgB,UAC1D,UAAA;AAAA,IAAA,gBAAAH,EAACI,GAAA,EACC,UAAC,gBAAAJ,EAAAK,GAAA,EAAM,YAAU,IAAC,QAAQ,KAAK,OAAO,KAAK,KAAKC,EAAI,gBAAgB,WAAU,QAAQ,CAAA,GACxF;AAAA,IACA,gBAAAR;AAAA,MAACS;AAAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,cAAa;AAAA,QACb,OAAO;AAAA,QACP,UAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAT,EAACU,GAAS,EAAA,gBAAe,OAAM,iBAAiB,KAC9C,UAAA;AAAA,YAAA,gBAAAR;AAAA,cAACS;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,OAAM;AAAA,gBACN,OAAOtB;AAAA,gBACP,MAAK;AAAA,gBACL,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,UAAUC;AAAA,gBACV,OAAM;AAAA,gBACN,eAAa;AAAA,cAAA;AAAA,YACf;AAAA,YACA,gBAAAY;AAAA,cAACU;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,OAAM;AAAA,gBACN,OAAOrB;AAAA,gBACP,SAASC;AAAA,gBACT,OAAM;AAAA,gBACN,UAAUC;AAAA,gBACV,OAAM;AAAA,gBACN,QAAQ;AAAA,gBACR,eAAa;AAAA,cAAA;AAAA,YACf;AAAA,UAAA,GACF;AAAA,UACA,gBAAAS;AAAA,YAACU;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,OAAM;AAAA,cACN,OAAOlB;AAAA,cACP,SAASC;AAAA,cACT,UAAU,CAACJ;AAAA,cACX,OAAM;AAAA,cACN,iBAAgB;AAAA,cAChB,OAAM;AAAA,cACN,UAAUK;AAAA,cACV,eAAa;AAAA,YAAA;AAAA,UACf;AAAA,UACA,gBAAAM;AAAA,YAACW;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,OAAM;AAAA,cACN,OAAOhB;AAAA,cACP,SAASC;AAAA,cACT,OAAM;AAAA,cACN,OAAM;AAAA,cACN,UAAUC;AAAA,cACV,eAAa;AAAA,cACb,UAAU,CAACR,KAAS,CAACG;AAAA,YAAA;AAAA,UACvB;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,GACF;AACF,EAAA,CAAA;"}
@@ -1,37 +1,38 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { memo as I, useCallback as u, useEffect as L } from "react";
3
- import { ILLUSTRATIONS as l } from "../../../../assets/illustrations/illustrations.js";
4
- import C from "../../../ui/error/error.js";
2
+ import { memo as L, useCallback as u, useEffect as C } from "react";
3
+ import { ILLUSTRATIONS as p } from "../../../../assets/illustrations/illustrations.js";
4
+ import { LOTTIE as h } from "../../../../assets/lottie/lottie.js";
5
+ import E from "../../../ui/error/error.js";
5
6
  import d from "../../../ui/layout/flex-view.js";
6
7
  import S from "../../../ui/loader/app-loader/app-loader.js";
7
- import h from "../../../ui/separator/separator.js";
8
+ import R from "../../../ui/lottie-animation/lottie-animation.js";
9
+ import g from "../../../ui/separator/separator.js";
8
10
  import o from "../../../ui/text/text.js";
9
- import { useGetSessionInsights as E } from "../../api/trial-home.js";
10
- import { useTrialSessionContext as b } from "../../context/use-trial-session-context.js";
11
- import R from "../render-lottie/index.js";
11
+ import { useGetSessionInsights as b } from "../../api/trial-home.js";
12
+ import { useTrialSessionContext as N } from "../../context/use-trial-session-context.js";
12
13
  import w from "../slide-header/index.js";
13
- import { Container as D, ContentWrapper as x, TopicWrapper as B, TopicName as N, LottieWrapper as F, RatingBlock as K } from "./session-insights-styled.js";
14
- const j = {
15
- BEGINNER: () => import("../../../../assets/lotties/trial-v3/insight/beginner1x.json.js"),
16
- FAMILIAR: () => import("../../../../assets/lotties/trial-v3/insight/familiar1x.json.js"),
17
- PROFICIENT: () => import("../../../../assets/lotties/trial-v3/insight/proficient1x.json.js")
18
- }, k = {
19
- 1: l.ONE_STAR_FILLED,
20
- 2: l.TWO_STARS_FILLED,
21
- 3: l.THREE_STARS_FILLED
22
- }, J = I(() => {
23
- const { formData: $ } = b(), { attemptId: n = "kdbkb" } = $ || {}, {
24
- data: g,
25
- get: m,
26
- isProcessing: f,
27
- isProcessingFailed: _
28
- } = E(), { topic_aggregation: A = [], depth_aggregation: T = [] } = g || {}, c = u(() => {
29
- n && m(n);
30
- }, [n, m]);
31
- return L(() => {
14
+ import { Container as D, ContentWrapper as x, TopicWrapper as B, TopicName as F, LottieWrapper as K, RatingBlock as O } from "./session-insights-styled.js";
15
+ const X = {
16
+ BEGINNER: h.BEGINNER1X,
17
+ FAMILIAR: h.FAMILIAR1X,
18
+ PROFICIENT: h.PROFICIENT1X
19
+ }, j = {
20
+ 1: p.ONE_STAR_FILLED,
21
+ 2: p.TWO_STARS_FILLED,
22
+ 3: p.THREE_STARS_FILLED
23
+ }, Y = L(() => {
24
+ const { formData: f } = N(), { attemptId: n = "kdbkb" } = f || {}, {
25
+ data: m,
26
+ get: $,
27
+ isProcessing: _,
28
+ isProcessingFailed: I
29
+ } = b(), { topic_aggregation: A = [], depth_aggregation: T = [] } = m || {}, c = u(() => {
30
+ n && $(n);
31
+ }, [n, $]);
32
+ return C(() => {
32
33
  c();
33
- }, [c]), _ ? /* @__PURE__ */ e(C, { height: "70vh", onTryAgain: c }) : f || !g ? /* @__PURE__ */ e(S, { height: "100vh" }) : /* @__PURE__ */ t(D, { children: [
34
- /* @__PURE__ */ e(h, { height: 60 }),
34
+ }, [c]), I ? /* @__PURE__ */ e(E, { height: "70vh", onTryAgain: c }) : _ || !m ? /* @__PURE__ */ e(S, { height: "100vh" }) : /* @__PURE__ */ t(D, { children: [
35
+ /* @__PURE__ */ e(g, { height: 60 }),
35
36
  /* @__PURE__ */ e(w, {}),
36
37
  /* @__PURE__ */ t(x, { $alignItems: "center", $width: 650, $alignSelf: "center", children: [
37
38
  /* @__PURE__ */ e(
@@ -45,7 +46,7 @@ const j = {
45
46
  const {
46
47
  level: r,
47
48
  topic_name: i,
48
- level_description: p
49
+ level_description: l
49
50
  } = s;
50
51
  return /* @__PURE__ */ t(
51
52
  B,
@@ -57,11 +58,11 @@ const j = {
57
58
  $flexDirection: "column",
58
59
  $justifyContent: "space-between",
59
60
  children: [
60
- /* @__PURE__ */ e(N, { title: i, $renderAs: "ab2-bold", $color: "BLACK_T_87", children: i }),
61
- /* @__PURE__ */ e(F, { children: /* @__PURE__ */ e(R, { height: 272, lottiePromise: j[r] }) }),
61
+ /* @__PURE__ */ e(F, { title: i, $renderAs: "ab2-bold", $color: "BLACK_T_87", children: i }),
62
+ /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(R, { height: 272, src: X[r] }) }),
62
63
  /* @__PURE__ */ t("div", { children: [
63
64
  /* @__PURE__ */ e(o, { $renderAs: "ac4", $color: "BLACK_T_87", children: r }),
64
- /* @__PURE__ */ e(o, { $renderAs: "ub2", $color: "BLACK_T_60", children: p })
65
+ /* @__PURE__ */ e(o, { $renderAs: "ub2", $color: "BLACK_T_60", children: l })
65
66
  ] })
66
67
  ]
67
68
  },
@@ -71,7 +72,7 @@ const j = {
71
72
  }
72
73
  ),
73
74
  /* @__PURE__ */ e(
74
- K,
75
+ O,
75
76
  {
76
77
  $width: "100%",
77
78
  $borderColor: "BLACK_T_87",
@@ -85,11 +86,11 @@ const j = {
85
86
  const {
86
87
  star: r,
87
88
  depth_description: i,
88
- star_description: p
89
+ star_description: l
89
90
  } = s;
90
91
  return /* @__PURE__ */ t(d, { $width: 88, children: [
91
- /* @__PURE__ */ e("img", { src: k[r], height: 24, width: 88 }),
92
- /* @__PURE__ */ e(h, { height: 4 }),
92
+ /* @__PURE__ */ e("img", { src: j[r], height: 24, width: 88 }),
93
+ /* @__PURE__ */ e(g, { height: 4 }),
93
94
  /* @__PURE__ */ e(
94
95
  d,
95
96
  {
@@ -100,10 +101,10 @@ const j = {
100
101
  $alignItems: "center",
101
102
  $width: "fit-content",
102
103
  $alignSelf: "center",
103
- children: /* @__PURE__ */ e(o, { $renderAs: "ub3", $color: "BLACK_T_87", children: p })
104
+ children: /* @__PURE__ */ e(o, { $renderAs: "ub3", $color: "BLACK_T_87", children: l })
104
105
  }
105
106
  ),
106
- /* @__PURE__ */ e(h, { heightX: 1 }),
107
+ /* @__PURE__ */ e(g, { heightX: 1 }),
107
108
  /* @__PURE__ */ e(o, { $renderAs: "ac4", $color: "BLACK_T_87", $align: "center", children: i })
108
109
  ] }, a);
109
110
  })
@@ -113,6 +114,6 @@ const j = {
113
114
  ] });
114
115
  });
115
116
  export {
116
- J as default
117
+ Y as default
117
118
  };
118
119
  //# sourceMappingURL=session-insights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-insights.js","sources":["../../../../../src/features/trial-session/comps/session-insights/session-insights.tsx"],"sourcesContent":["import type { TDepthAggregation, TProficiencyLottieMap } from './session-insights-types';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Error from '../../../ui/error/error';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetSessionInsights } from '../../api/trial-home';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport RenderLottie from '../render-lottie';\nimport SlideHeader from '../slide-header';\nimport * as Styled from './session-insights-styled';\n\nconst proficiencyLottieMap: TProficiencyLottieMap = {\n BEGINNER: () => import('../../../../assets/lotties/trial-v3/insight/beginner1x.json'),\n FAMILIAR: () => import('../../../../assets/lotties/trial-v3/insight/familiar1x.json'),\n PROFICIENT: () => import('../../../../assets/lotties/trial-v3/insight/proficient1x.json'),\n};\n\nconst STAR_RATING_ICONS: Record<TDepthAggregation['star'], string> = {\n 1: ILLUSTRATIONS.ONE_STAR_FILLED,\n 2: ILLUSTRATIONS.TWO_STARS_FILLED,\n 3: ILLUSTRATIONS.THREE_STARS_FILLED,\n};\n\nconst SessionInsights = memo(() => {\n const { formData } = useTrialSessionContext();\n const { attemptId = 'kdbkb' } = formData || {};\n\n const {\n data: sessionInsights,\n get: getSessionInsights,\n isProcessing,\n isProcessingFailed,\n } = useGetSessionInsights();\n\n const { topic_aggregation: topicAggregation = [], depth_aggregation: depthAggregation = [] } =\n sessionInsights || {};\n\n const fetchData = useCallback(() => {\n if (attemptId) {\n getSessionInsights(attemptId);\n }\n }, [attemptId, getSessionInsights]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isProcessingFailed) {\n return <Error height=\"70vh\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !sessionInsights) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <Styled.ContentWrapper $alignItems=\"center\" $width={650} $alignSelf=\"center\">\n <FlexView\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $borderColor=\"BLACK_T_87\"\n $width=\"100%\"\n >\n {topicAggregation.map((aggregation, index) => {\n const {\n level,\n topic_name: topicName,\n level_description: levelDescription,\n } = aggregation;\n\n return (\n <Styled.TopicWrapper\n key={index}\n $gapX={1}\n $gutterX={1}\n $width=\"100%\"\n $height={250}\n $flexDirection=\"column\"\n $justifyContent=\"space-between\"\n >\n <Styled.TopicName title={topicName} $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n {topicName}\n </Styled.TopicName>\n <Styled.LottieWrapper>\n <RenderLottie height={272} lottiePromise={proficiencyLottieMap[level]} />\n </Styled.LottieWrapper>\n <div>\n <Text $renderAs=\"ac4\" $color=\"BLACK_T_87\">\n {level}\n </Text>\n <Text $renderAs=\"ub2\" $color=\"BLACK_T_60\">\n {levelDescription}\n </Text>\n </div>\n </Styled.TopicWrapper>\n );\n })}\n </FlexView>\n <Styled.RatingBlock\n $width=\"100%\"\n $borderColor=\"BLACK_T_87\"\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $flexGap={80}\n $background=\"WHITE\"\n $gap={25.5}\n >\n {depthAggregation.map((aggregation, index) => {\n const {\n star,\n depth_description: depthDescription,\n star_description: starDescription,\n } = aggregation;\n\n return (\n <FlexView key={index} $width={88}>\n <img src={STAR_RATING_ICONS[star]} height={24} width={88} />\n <Separator height={4} />\n <FlexView\n $background=\"WHITE_4\"\n $gutterX={0.25}\n $gap={2}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $width=\"fit-content\"\n $alignSelf=\"center\"\n >\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_87\">\n {starDescription}\n </Text>\n </FlexView>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4\" $color=\"BLACK_T_87\" $align=\"center\">\n {depthDescription}\n </Text>\n </FlexView>\n );\n })}\n </Styled.RatingBlock>\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n});\n\nexport default SessionInsights;\n"],"names":["proficiencyLottieMap","STAR_RATING_ICONS","ILLUSTRATIONS","SessionInsights","memo","formData","useTrialSessionContext","attemptId","sessionInsights","getSessionInsights","isProcessing","isProcessingFailed","useGetSessionInsights","topicAggregation","depthAggregation","fetchData","useCallback","useEffect","jsx","Error","AppLoader","jsxs","Styled.Container","Separator","SlideHeader","Styled.ContentWrapper","FlexView","aggregation","index","level","topicName","levelDescription","Styled.TopicWrapper","Styled.TopicName","Styled.LottieWrapper","RenderLottie","Text","Styled.RatingBlock","star","depthDescription","starDescription"],"mappings":"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"}
1
+ {"version":3,"file":"session-insights.js","sources":["../../../../../src/features/trial-session/comps/session-insights/session-insights.tsx"],"sourcesContent":["import type { TDepthAggregation, TProficiencyLottieMap } from './session-insights-types';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport Error from '../../../ui/error/error';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetSessionInsights } from '../../api/trial-home';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport SlideHeader from '../slide-header';\nimport * as Styled from './session-insights-styled';\n\nconst proficiencyLottieMap: TProficiencyLottieMap = {\n BEGINNER: LOTTIE.BEGINNER1X,\n FAMILIAR: LOTTIE.FAMILIAR1X,\n PROFICIENT: LOTTIE.PROFICIENT1X,\n};\n\nconst STAR_RATING_ICONS: Record<TDepthAggregation['star'], string> = {\n 1: ILLUSTRATIONS.ONE_STAR_FILLED,\n 2: ILLUSTRATIONS.TWO_STARS_FILLED,\n 3: ILLUSTRATIONS.THREE_STARS_FILLED,\n};\n\nconst SessionInsights = memo(() => {\n const { formData } = useTrialSessionContext();\n const { attemptId = 'kdbkb' } = formData || {};\n\n const {\n data: sessionInsights,\n get: getSessionInsights,\n isProcessing,\n isProcessingFailed,\n } = useGetSessionInsights();\n\n const { topic_aggregation: topicAggregation = [], depth_aggregation: depthAggregation = [] } =\n sessionInsights || {};\n\n const fetchData = useCallback(() => {\n if (attemptId) {\n getSessionInsights(attemptId);\n }\n }, [attemptId, getSessionInsights]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isProcessingFailed) {\n return <Error height=\"70vh\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !sessionInsights) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <Styled.ContentWrapper $alignItems=\"center\" $width={650} $alignSelf=\"center\">\n <FlexView\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $borderColor=\"BLACK_T_87\"\n $width=\"100%\"\n >\n {topicAggregation.map((aggregation, index) => {\n const {\n level,\n topic_name: topicName,\n level_description: levelDescription,\n } = aggregation;\n\n return (\n <Styled.TopicWrapper\n key={index}\n $gapX={1}\n $gutterX={1}\n $width=\"100%\"\n $height={250}\n $flexDirection=\"column\"\n $justifyContent=\"space-between\"\n >\n <Styled.TopicName title={topicName} $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n {topicName}\n </Styled.TopicName>\n <Styled.LottieWrapper>\n <LottieAnimation height={272} src={proficiencyLottieMap[level]} />\n </Styled.LottieWrapper>\n <div>\n <Text $renderAs=\"ac4\" $color=\"BLACK_T_87\">\n {level}\n </Text>\n <Text $renderAs=\"ub2\" $color=\"BLACK_T_60\">\n {levelDescription}\n </Text>\n </div>\n </Styled.TopicWrapper>\n );\n })}\n </FlexView>\n <Styled.RatingBlock\n $width=\"100%\"\n $borderColor=\"BLACK_T_87\"\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $flexGap={80}\n $background=\"WHITE\"\n $gap={25.5}\n >\n {depthAggregation.map((aggregation, index) => {\n const {\n star,\n depth_description: depthDescription,\n star_description: starDescription,\n } = aggregation;\n\n return (\n <FlexView key={index} $width={88}>\n <img src={STAR_RATING_ICONS[star]} height={24} width={88} />\n <Separator height={4} />\n <FlexView\n $background=\"WHITE_4\"\n $gutterX={0.25}\n $gap={2}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $width=\"fit-content\"\n $alignSelf=\"center\"\n >\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_87\">\n {starDescription}\n </Text>\n </FlexView>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4\" $color=\"BLACK_T_87\" $align=\"center\">\n {depthDescription}\n </Text>\n </FlexView>\n );\n })}\n </Styled.RatingBlock>\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n});\n\nexport default SessionInsights;\n"],"names":["proficiencyLottieMap","LOTTIE","STAR_RATING_ICONS","ILLUSTRATIONS","SessionInsights","memo","formData","useTrialSessionContext","attemptId","sessionInsights","getSessionInsights","isProcessing","isProcessingFailed","useGetSessionInsights","topicAggregation","depthAggregation","fetchData","useCallback","useEffect","jsx","Error","AppLoader","jsxs","Styled.Container","Separator","SlideHeader","Styled.ContentWrapper","FlexView","aggregation","index","level","topicName","levelDescription","Styled.TopicWrapper","Styled.TopicName","Styled.LottieWrapper","LottieAnimation","Text","Styled.RatingBlock","star","depthDescription","starDescription"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAMA,IAA8C;AAAA,EAClD,UAAUC,EAAO;AAAA,EACjB,UAAUA,EAAO;AAAA,EACjB,YAAYA,EAAO;AACrB,GAEMC,IAA+D;AAAA,EACnE,GAAGC,EAAc;AAAA,EACjB,GAAGA,EAAc;AAAA,EACjB,GAAGA,EAAc;AACnB,GAEMC,IAAkBC,EAAK,MAAM;AAC3B,QAAA,EAAE,UAAAC,MAAaC,KACf,EAAE,WAAAC,IAAY,YAAYF,KAAY,CAAA,GAEtC;AAAA,IACJ,MAAMG;AAAA,IACN,KAAKC;AAAA,IACL,cAAAC;AAAA,IACA,oBAAAC;AAAA,MACEC,EAAsB,GAEpB,EAAE,mBAAmBC,IAAmB,IAAI,mBAAmBC,IAAmB,CAAC,EAAA,IACvFN,KAAmB,IAEfO,IAAYC,EAAY,MAAM;AAClC,IAAIT,KACFE,EAAmBF,CAAS;AAAA,EAC9B,GACC,CAACA,GAAWE,CAAkB,CAAC;AAMlC,SAJAQ,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEVJ,IACM,gBAAAO,EAAAC,GAAA,EAAM,QAAO,QAAO,YAAYJ,EAAW,CAAA,IAGjDL,KAAgB,CAACF,IACZ,gBAAAU,EAACE,GAAU,EAAA,QAAO,QAAQ,CAAA,IAIjC,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,IAAC,gBAAAJ,EAAAK,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,sBACtBC,GAAY,EAAA;AAAA,IACb,gBAAAH,EAACI,GAAA,EAAsB,aAAY,UAAS,QAAQ,KAAK,YAAW,UAClE,UAAA;AAAA,MAAA,gBAAAP;AAAA,QAACQ;AAAA,QAAA;AAAA,UACC,gBAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,cAAa;AAAA,UACb,QAAO;AAAA,UAEN,UAAiBb,EAAA,IAAI,CAACc,GAAaC,MAAU;AACtC,kBAAA;AAAA,cACJ,OAAAC;AAAA,cACA,YAAYC;AAAA,cACZ,mBAAmBC;AAAA,YACjB,IAAAJ;AAGF,mBAAA,gBAAAN;AAAA,cAACW;AAAAA,cAAA;AAAA,gBAEC,OAAO;AAAA,gBACP,UAAU;AAAA,gBACV,QAAO;AAAA,gBACP,SAAS;AAAA,gBACT,gBAAe;AAAA,gBACf,iBAAgB;AAAA,gBAEhB,UAAA;AAAA,kBAAC,gBAAAd,EAAAe,GAAA,EAAiB,OAAOH,GAAW,WAAU,YAAW,QAAO,cAC7D,UACHA,EAAA,CAAA;AAAA,kBACC,gBAAAZ,EAAAgB,GAAA,EACC,UAAC,gBAAAhB,EAAAiB,GAAA,EAAgB,QAAQ,KAAK,KAAKpC,EAAqB8B,CAAK,EAAA,CAAG,EAClE,CAAA;AAAA,oCACC,OACC,EAAA,UAAA;AAAA,oBAAA,gBAAAX,EAACkB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHP,GAAA;AAAA,sCACCO,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHL,GAAA;AAAA,kBAAA,GACF;AAAA,gBAAA;AAAA,cAAA;AAAA,cArBKH;AAAA,YAAA;AAAA,UAsBP,CAEH;AAAA,QAAA;AAAA,MACH;AAAA,MACA,gBAAAV;AAAA,QAACmB;AAAAA,QAAA;AAAA,UACC,QAAO;AAAA,UACP,cAAa;AAAA,UACb,gBAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,aAAY;AAAA,UACZ,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,MAAM;AAAA,UAEL,UAAiBvB,EAAA,IAAI,CAACa,GAAaC,MAAU;AACtC,kBAAA;AAAA,cACJ,MAAAU;AAAA,cACA,mBAAmBC;AAAA,cACnB,kBAAkBC;AAAA,YAChB,IAAAb;AAGF,mBAAA,gBAAAN,EAACK,GAAqB,EAAA,QAAQ,IAC5B,UAAA;AAAA,cAAC,gBAAAR,EAAA,OAAA,EAAI,KAAKjB,EAAkBqC,CAAI,GAAG,QAAQ,IAAI,OAAO,IAAI;AAAA,cAC1D,gBAAApB,EAACK,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,cACtB,gBAAAL;AAAA,gBAACQ;AAAA,gBAAA;AAAA,kBACC,aAAY;AAAA,kBACZ,UAAU;AAAA,kBACV,MAAM;AAAA,kBACN,iBAAgB;AAAA,kBAChB,aAAY;AAAA,kBACZ,QAAO;AAAA,kBACP,YAAW;AAAA,kBAEX,4BAACU,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHI,GAAA;AAAA,gBAAA;AAAA,cACF;AAAA,cACA,gBAAAtB,EAACK,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,cACvB,gBAAAL,EAACkB,KAAK,WAAU,OAAM,QAAO,cAAa,QAAO,UAC9C,UACHG,EAAA,CAAA;AAAA,YAAA,EAAA,GAnBaX,CAoBf;AAAA,UAAA,CAEH;AAAA,QAAA;AAAA,MACH;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,122 +1,138 @@
1
- import { jsx as h, jsxs as U } from "react/jsx-runtime";
2
- import { memo as z, useState as J, useMemo as p, useCallback as K, useEffect as C } from "react";
3
- import Q from "../ui/layout/flex-view.js";
4
- import W from "./context/trial-session-context.js";
5
- import { useButtonStateForLeftPanel as X } from "./hooks/use-left-panel-button-state.js";
6
- import Y from "./left-panel/index.js";
7
- import Z from "./right-panel/index.js";
8
- const ie = z((B) => {
1
+ import { jsx as D, jsxs as z } from "react/jsx-runtime";
2
+ import { memo as J, useState as K, useMemo as m, useCallback as Q, useEffect as I } from "react";
3
+ import { getGradesFromConfig as W } from "../milestone/create/milestone-create-helpers.js";
4
+ import X from "../ui/layout/flex-view.js";
5
+ import Y from "./context/trial-session-context.js";
6
+ import { useButtonStateForLeftPanel as Z } from "./hooks/use-left-panel-button-state.js";
7
+ import ee from "./left-panel/index.js";
8
+ import te from "./right-panel/index.js";
9
+ const de = J((H) => {
9
10
  const {
10
11
  userType: o,
11
- teacherPanel: D,
12
- studentPanel: S,
13
- trialGameUrl: _,
12
+ teacherPanel: S,
13
+ studentPanel: _,
14
+ trialGameUrl: T,
14
15
  formData: i,
15
- height: H = "100vh",
16
- trialHomeData: e,
17
- milestoneConfig: I,
18
- onFormDataChange: c,
19
- worksheet: T,
16
+ height: L = "100vh",
17
+ trialHomeData: t,
18
+ milestoneConfig: l,
19
+ onFormDataChange: u,
20
+ worksheet: x,
20
21
  studentId: r,
21
22
  teacherId: s,
22
23
  classStartedOn: P,
23
24
  worksheetNavigationPanel: v,
24
- questionsRatingPanel: x,
25
- studentAbsentInClass: y,
25
+ questionsRatingPanel: y,
26
+ studentAbsentInClass: E,
26
27
  openEndClassModal: $,
27
28
  onTrialInformationUpdate: w,
28
- onStudentTimezoneUpdate: d,
29
- handleInfoMessage: E,
30
- onRemoveOptionalSlides: k,
31
- classDuration: F,
32
- studentTimezone: m,
33
- classTimeAlertConfig: M
34
- } = B, t = o === "TEACHER", { pages: u = [], student: L } = e, { name: R, grade: b } = L || {}, [n, O] = J(i), f = t ? n : i, g = f == null ? void 0 : f.id, j = p(
35
- () => u.find((a) => a.id === g) ?? u[0],
36
- [g, u]
37
- ), A = p(() => {
38
- const a = {
39
- circleConfig: e.circle_trial_game_config,
29
+ onStudentTimezoneUpdate: f,
30
+ handleInfoMessage: F,
31
+ onRemoveOptionalSlides: G,
32
+ classDuration: M,
33
+ studentTimezone: g,
34
+ classTimeAlertConfig: k
35
+ } = H, a = o === "TEACHER", { pages: h = [], student: O } = t, { name: R, grade: c } = O || {}, [n, q] = K(i), p = a ? n : i, C = p == null ? void 0 : p.id, b = m(
36
+ () => h.find((e) => e.id === C) ?? h[0],
37
+ [C, h]
38
+ ), j = m(() => {
39
+ const e = {
40
+ circleConfig: t.circle_trial_game_config,
40
41
  playerDetails: {
41
42
  matchMakingId: `${s}_${r}_trial_v3`,
42
- userId: t ? s : r,
43
- circle_username: e[t ? "teacher" : "student"].circle_username,
44
- user_avatar: e[t ? "teacher" : "student"].user_avatar,
43
+ userId: a ? s : r,
44
+ circle_username: t[a ? "teacher" : "student"].circle_username,
45
+ user_avatar: t[a ? "teacher" : "student"].user_avatar,
45
46
  playerType: o
46
47
  }
47
48
  };
48
- return o === "STUDENT" && (a.playerDetails.grade = e.student.grade), a;
49
- }, [t, r, s, e, o]), l = K((a) => {
50
- O((V) => V ? { ...V, ...a } : a);
51
- }, []), { buttonState: G, updateButtonState: N } = X(), q = p(
49
+ return o === "STUDENT" && (e.playerDetails.grade = t.student.grade), e;
50
+ }, [a, r, s, t, o]), d = Q((e) => {
51
+ q((B) => B ? { ...B, ...e } : e);
52
+ }, []), { buttonState: A, updateButtonState: N } = Z(), U = m(
52
53
  () => ({
53
- teacherPanel: D,
54
- studentPanel: S,
55
- isTeacher: t,
56
- slideConfig: j,
57
- milestoneConfig: I,
58
- formData: t ? n : i,
59
- updateSlideConfig: l,
60
- worksheet: T,
61
- buttonState: G,
54
+ teacherPanel: S,
55
+ studentPanel: _,
56
+ isTeacher: a,
57
+ slideConfig: b,
58
+ milestoneConfig: l,
59
+ formData: a ? n : i,
60
+ updateSlideConfig: d,
61
+ worksheet: x,
62
+ buttonState: A,
62
63
  updateButtonState: N,
63
64
  studentId: r,
64
65
  teacherId: s,
65
66
  classStartedOn: P,
66
- trialHomeData: e,
67
+ trialHomeData: t,
67
68
  worksheetNavigationPanel: v,
68
- questionsRatingPanel: x,
69
+ questionsRatingPanel: y,
69
70
  onTrialInformationUpdate: w,
70
71
  openEndClassModal: $,
71
- studentAbsentInClass: y,
72
- circleGames: A,
73
- trialGameUrl: _,
74
- handleInfoMessage: E,
75
- onRemoveOptionalSlides: k,
76
- classDuration: F,
77
- classTimeAlertConfig: M
72
+ studentAbsentInClass: E,
73
+ circleGames: j,
74
+ trialGameUrl: T,
75
+ handleInfoMessage: F,
76
+ onRemoveOptionalSlides: G,
77
+ classDuration: M,
78
+ classTimeAlertConfig: k
78
79
  }),
79
80
  [
80
- D,
81
81
  S,
82
- t,
83
- j,
84
- I,
82
+ _,
83
+ a,
84
+ b,
85
+ l,
85
86
  n,
86
87
  i,
87
- l,
88
- T,
89
- G,
88
+ d,
89
+ x,
90
+ A,
90
91
  N,
91
92
  r,
92
93
  s,
93
94
  P,
94
- e,
95
+ t,
95
96
  v,
96
- x,
97
+ y,
97
98
  w,
98
99
  $,
99
- y,
100
- A,
101
- _,
102
100
  E,
103
- k,
101
+ j,
102
+ T,
104
103
  F,
105
- M
104
+ G,
105
+ M,
106
+ k
106
107
  ]
107
108
  );
108
- return C(() => {
109
- n && c && c(n);
110
- }, [c, n]), C(() => {
111
- m || d == null || d();
112
- }, [g]), C(() => {
113
- l({ name: R, grade: b, studentTimezone: m });
114
- }, [R, b, l, m]), /* @__PURE__ */ h(W.Provider, { value: q, children: /* @__PURE__ */ U(Q, { $height: H, $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
115
- /* @__PURE__ */ h(Y, {}),
116
- /* @__PURE__ */ h(Z, {})
109
+ I(() => {
110
+ n && u && u(n);
111
+ }, [u, n]), I(() => {
112
+ g || f == null || f();
113
+ }, [C]);
114
+ const V = m(
115
+ () => !!W(l).find((e) => e.id === c),
116
+ [l, c]
117
+ );
118
+ return I(() => {
119
+ d({
120
+ studentTimezone: g,
121
+ name: R,
122
+ grade: V ? c : ""
123
+ });
124
+ }, [
125
+ R,
126
+ c,
127
+ d,
128
+ g,
129
+ V
130
+ ]), /* @__PURE__ */ D(Y.Provider, { value: U, children: /* @__PURE__ */ z(X, { $height: L, $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
131
+ /* @__PURE__ */ D(ee, {}),
132
+ /* @__PURE__ */ D(te, {})
117
133
  ] }) });
118
134
  });
119
135
  export {
120
- ie as default
136
+ de as default
121
137
  };
122
138
  //# sourceMappingURL=trial-session-view.js.map