@cuemath/leap 3.3.34 → 3.3.36-m

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 (224) hide show
  1. package/dist/assets/gif/gif.js +1 -4
  2. package/dist/assets/gif/gif.js.map +1 -1
  3. package/dist/assets/illustrations/illustrations.js +1 -1
  4. package/dist/assets/illustrations/illustrations.js.map +1 -1
  5. package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
  6. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +1 -1
  7. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  8. package/dist/features/auth/comps/otp-input/otp-input.js +29 -35
  9. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  10. package/dist/features/auth/pla-signup/pla-analytics-events.js +3 -12
  11. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  12. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +34 -43
  13. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  14. package/dist/features/chapters-v2/chapter-details/chapter-details.js +101 -140
  15. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  16. package/dist/features/chapters-v2/utils/index.js +16 -20
  17. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  18. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js +6 -6
  19. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js.map +1 -1
  20. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +21 -20
  21. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  22. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  23. package/dist/features/circle-games/sign-up/sign-up.js +6 -6
  24. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  25. package/dist/features/homework/hw-card-list/hw-card-list-view.js +17 -17
  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/journey/journey-id/journey-id-teacher.js +2 -2
  29. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  30. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +0 -400
  31. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  32. package/dist/features/milestone/constants.js +15 -28
  33. package/dist/features/milestone/constants.js.map +1 -1
  34. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  35. package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js +2 -2
  36. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js +16 -23
  37. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  38. package/dist/features/milestone/create/milestone-create-helpers.js +7 -13
  39. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  40. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +22 -28
  41. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -1
  42. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js +1 -1
  43. package/dist/features/parent-dashboard/hooks/use-fetch-parent-home.js.map +1 -1
  44. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +46 -48
  45. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  46. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +12 -0
  47. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +1 -0
  48. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +17 -16
  49. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -1
  50. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +8 -4
  51. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -1
  52. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +3 -3
  53. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -1
  54. package/dist/features/parent-dashboard/parent-dashboard-constants.js +4 -45
  55. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -1
  56. package/dist/features/parent-dashboard/parent-dashboard-types.js +3 -3
  57. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  58. package/dist/features/parent-dashboard/parent-dashboard-view.js +174 -197
  59. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  60. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js +32 -0
  61. package/dist/features/stickers/sticker-selector/hooks/use-handle-sticker-send.js.map +1 -0
  62. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js +72 -0
  63. package/dist/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js.map +1 -0
  64. package/dist/features/stickers/sticker-selector/sticker-selector.js +58 -57
  65. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
  66. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js +34 -0
  67. package/dist/features/stickers/stickers-effects/comps/sticker-with-fallback.js.map +1 -0
  68. package/dist/features/stickers/stickers-effects/constants.js +26 -0
  69. package/dist/features/stickers/stickers-effects/constants.js.map +1 -0
  70. package/dist/features/stickers/stickers-effects/context/sticker-provider.js +28 -0
  71. package/dist/features/stickers/stickers-effects/context/sticker-provider.js.map +1 -0
  72. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js +12 -0
  73. package/dist/features/stickers/stickers-effects/hooks/use-stickers.js.map +1 -0
  74. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -1
  75. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +32 -17
  76. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -1
  77. package/dist/features/stickers/stickers-effects/stickers-effects-types.js +6 -0
  78. package/dist/features/stickers/stickers-effects/stickers-effects-types.js.map +1 -0
  79. package/dist/features/stickers/stickers-effects/stickers-effects.js +40 -56
  80. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -1
  81. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  82. package/dist/features/trial-session/comps/class-preference/class-preference.js +58 -74
  83. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  84. package/dist/features/trial-session/comps/learning-plan/index.js +45 -47
  85. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  86. package/dist/features/trial-session/comps/navigation-bar/index.js +40 -41
  87. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  88. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/next-steps/next-steps-constants.js +1 -1
  89. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
  90. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/next-steps/next-steps-styled.js +1 -1
  91. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
  92. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/next-steps/next-steps.js +5 -5
  93. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
  94. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
  95. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
  96. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +132 -0
  97. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
  98. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
  99. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
  100. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
  101. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
  102. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/session-status/session-status-styled.js +2 -2
  103. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
  104. package/dist/features/trial-session/comps/pla/session-status/session-status.js +127 -0
  105. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
  106. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/session-summary/session-summary-constants.js +12 -18
  107. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
  108. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +53 -0
  109. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
  110. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/session-summary/summary-card/summary-card-styled.js +1 -1
  111. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
  112. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
  113. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
  114. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  115. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions-styled.js +1 -1
  116. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  117. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  118. package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions.js +14 -14
  119. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
  120. package/dist/features/trial-session/comps/school-goals/school-goals.js +57 -59
  121. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  122. package/dist/features/trial-session/comps/session-report/session-report.js +15 -15
  123. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  124. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +40 -41
  125. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  126. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js +0 -5
  127. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  128. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +51 -96
  129. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  130. package/dist/features/trial-session/comps/student-profile/student-profile.js +63 -70
  131. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  132. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +44 -43
  133. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  134. package/dist/features/trial-session/comps/test-prep/test-prep.js +40 -41
  135. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  136. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js +61 -60
  137. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  138. package/dist/features/trial-session/helper.js +61 -76
  139. package/dist/features/trial-session/helper.js.map +1 -1
  140. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +144 -174
  141. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  142. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  143. package/dist/features/trial-session/trial-session-view.js +110 -99
  144. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  145. package/dist/features/ui/accordion/accordion-items/accordion-items.js +13 -13
  146. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -1
  147. package/dist/features/ui/modals/modal-styled.js +13 -45
  148. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  149. package/dist/features/ui/modals/modal.js +31 -31
  150. package/dist/features/ui/modals/modal.js.map +1 -1
  151. package/dist/features/utils/utils.js +1 -1
  152. package/dist/features/utils/utils.js.map +1 -1
  153. package/dist/index.d.ts +145 -94
  154. package/dist/index.js +301 -292
  155. package/dist/index.js.map +1 -1
  156. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
  157. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  158. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  159. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  160. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  161. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  162. package/dist/static/trophy.a8ea85ef.json +6813 -0
  163. package/package.json +3 -2
  164. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +0 -86
  165. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +0 -1
  166. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +0 -140
  167. package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +0 -1
  168. package/dist/features/parent-dashboard/api/cancel-subscription.js +0 -9
  169. package/dist/features/parent-dashboard/api/cancel-subscription.js.map +0 -1
  170. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js +0 -20
  171. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js.map +0 -1
  172. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js +0 -74
  173. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +0 -1
  174. package/dist/features/parent-dashboard/comps/next-steps/next-steps-constants.js.map +0 -1
  175. package/dist/features/parent-dashboard/comps/next-steps/next-steps-styled.js.map +0 -1
  176. package/dist/features/parent-dashboard/comps/next-steps/next-steps.js.map +0 -1
  177. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js +0 -34
  178. package/dist/features/parent-dashboard/comps/session-status/hooks/use-countdown.js.map +0 -1
  179. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js +0 -137
  180. package/dist/features/parent-dashboard/comps/session-status/hooks/use-session-status-config.js.map +0 -1
  181. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js +0 -20
  182. package/dist/features/parent-dashboard/comps/session-status/session-status-constants.js.map +0 -1
  183. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js +0 -19
  184. package/dist/features/parent-dashboard/comps/session-status/session-status-helpers.js.map +0 -1
  185. package/dist/features/parent-dashboard/comps/session-status/session-status-styled.js.map +0 -1
  186. package/dist/features/parent-dashboard/comps/session-status/session-status.js +0 -124
  187. package/dist/features/parent-dashboard/comps/session-status/session-status.js.map +0 -1
  188. package/dist/features/parent-dashboard/comps/session-summary/session-summary-constants.js.map +0 -1
  189. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js +0 -54
  190. package/dist/features/parent-dashboard/comps/session-summary/session-summary.js.map +0 -1
  191. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card-styled.js.map +0 -1
  192. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js +0 -72
  193. package/dist/features/parent-dashboard/comps/session-summary/summary-card/summary-card.js.map +0 -1
  194. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-constants.js.map +0 -1
  195. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-styled.js.map +0 -1
  196. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions-types.js.map +0 -1
  197. package/dist/features/parent-dashboard/comps/upcoming-sessions/upcoming-sessions.js.map +0 -1
  198. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js +0 -21
  199. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js.map +0 -1
  200. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js +0 -85
  201. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +0 -1
  202. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js +0 -23
  203. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js.map +0 -1
  204. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js +0 -55
  205. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js.map +0 -1
  206. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js +0 -71
  207. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js.map +0 -1
  208. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js +0 -119
  209. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +0 -1
  210. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js +0 -58
  211. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +0 -1
  212. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js +0 -76
  213. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js.map +0 -1
  214. package/dist/features/trial-session/api/teacher-availability.js +0 -9
  215. package/dist/features/trial-session/api/teacher-availability.js.map +0 -1
  216. package/dist/features/trial-session/comps/class-preference/helpers.js +0 -28
  217. package/dist/features/trial-session/comps/class-preference/helpers.js.map +0 -1
  218. package/dist/features/trial-session/hooks/use-slide-config-update.js +0 -49
  219. package/dist/features/trial-session/hooks/use-slide-config-update.js.map +0 -1
  220. package/dist/static/learning-session-grid-bg-mobile.8d2b7258.gif +0 -0
  221. package/dist/static/way-forward-grid-bg-mobile.374043d7.gif +0 -0
  222. package/dist/static/your-goals-grid-bg-mobile.62557024.gif +0 -0
  223. /package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions-constants.js +0 -0
  224. /package/dist/features/{parent-dashboard/comps → trial-session/comps/pla}/upcoming-sessions/upcoming-sessions-types.js +0 -0
@@ -1,217 +1,187 @@
1
- import { useCallback as m, useEffect as te } from "react";
2
- import { COURSE_STREAMS as oe } from "../../milestone/constants.js";
3
- import { useMilestoneBulkPost as se } from "../../milestone/create/api/milestone-bulk.js";
4
- import { usePostStudentPreferences as ae } from "../api/course-stream.js";
5
- import { usePatchStudentInformation as ne } from "../api/student-information.js";
6
- import { usePostTeacherAvailability as ie } from "../api/teacher-availability.js";
7
- import { usePatchTrialHome as re } from "../api/trial-home.js";
8
- import { useTrialSessionContext as ce } from "../context/use-trial-session-context.js";
9
- import { getFormattedPreferences as V, getWeekdayAndStartTimeFromPreference as le, getFormattedStudentPersonalizedPreference as de } from "../helper.js";
10
- import { DEFAULT_BUTTON_STATE as p, TrialPageId as t } from "../trial-session-constants.js";
11
- import W from "../../../node_modules/uuid/dist/esm-browser/v4.js";
12
- const be = () => {
1
+ import { useCallback as d, useEffect as q } from "react";
2
+ import { COURSE_STREAMS as J } from "../../milestone/constants.js";
3
+ import { useMilestoneBulkPost as Q } from "../../milestone/create/api/milestone-bulk.js";
4
+ import { usePostStudentPreferences as X } from "../api/course-stream.js";
5
+ import { usePatchStudentInformation as Y } from "../api/student-information.js";
6
+ import { usePatchTrialHome as $ } from "../api/trial-home.js";
7
+ import { useTrialSessionContext as ee } from "../context/use-trial-session-context.js";
8
+ import { getFormattedPreferences as te, getFormattedStudentPersonalizedPreference as oe } from "../helper.js";
9
+ import { DEFAULT_BUTTON_STATE as S, TrialPageId as e } from "../trial-session-constants.js";
10
+ import B from "../../../node_modules/uuid/dist/esm-browser/v4.js";
11
+ const fe = () => {
13
12
  const {
14
- updateSlideConfig: n,
15
- slideConfig: Z,
16
- formData: j,
17
- updateButtonState: a,
18
- teacherId: i,
19
- studentId: r,
20
- milestoneConfig: A,
21
- handleInfoMessage: _,
22
- onTrialInformationUpdate: b,
23
- trialHomeData: q,
13
+ updateSlideConfig: s,
14
+ slideConfig: H,
15
+ formData: w,
16
+ updateButtonState: n,
17
+ teacherId: l,
18
+ studentId: a,
19
+ milestoneConfig: N,
20
+ onTrialInformationUpdate: h,
21
+ trialHomeData: K,
24
22
  worksheetNavigationPanel: I
25
- } = ce(), { nextPage: J, id: u } = Z || {}, { demo_info: Q } = q, { stream: v, region_data: X } = Q, { opportunity_country: T = "US" } = X || {}, { pageId: c } = J || {}, {
26
- name: f,
27
- grade: E,
28
- goals: R,
29
- curriculum: L,
30
- studentTimezone: P,
31
- preferences: S = [],
32
- personalizedLevel: k = [],
33
- personalizedFocus: y = [],
34
- personalizedBehaviors: D = [],
35
- personalizedObjectives: O = [],
36
- personalizedPosition: G = []
37
- } = j || {}, l = m(() => {
38
- a("both", {
23
+ } = ee(), { nextPage: Z, id: r } = H || {}, { demo_info: W } = K, { stream: P, region_data: V } = W, { opportunity_country: C = "US" } = V || {}, { pageId: i } = Z || {}, {
24
+ name: m,
25
+ grade: p,
26
+ goals: g,
27
+ curriculum: E,
28
+ studentTimezone: T,
29
+ preferences: R = [],
30
+ personalizedLevel: A = [],
31
+ personalizedFocus: b = [],
32
+ personalizedBehaviors: O = [],
33
+ personalizedObjectives: v = []
34
+ } = w || {}, c = d(() => {
35
+ n("both", {
39
36
  left: { isDisabled: !0, isLoading: !1 },
40
37
  right: { isDisabled: !0, isLoading: !0 }
41
38
  });
42
- }, [a]), N = (o) => {
39
+ }, [n]), _ = (o) => {
43
40
  if (!o) {
44
- const e = {};
45
- (c === t.CIRCLE_GAME || c === t.CIRCLE_PUZZLE || c === t.CIRCLE_SKILL) && (e.matchmakingId = W(), e.showCircleGameScreen = !0), n({ id: c, ...e });
41
+ const t = {};
42
+ (i === e.CIRCLE_GAME || i === e.CIRCLE_PUZZLE || i === e.CIRCLE_SKILL) && (t.matchmakingId = B(), t.showCircleGameScreen = !0), s({ id: i, ...t });
46
43
  }
47
- a("both", p), u === t.LEARNING_LEVEL && (b == null || b());
48
- }, { patch: z } = re({ onComplete: N }), { patch: x } = ne({
49
- onComplete: N
50
- }), { post: F } = se({
51
- onComplete: N
52
- }), { post: M } = ae({
53
- onComplete: N
54
- }), Y = m(
55
- (o, e) => {
56
- if ((e ?? []).some((s) => !s.is_available)) {
57
- const ee = (e ?? []).filter((C) => !C.is_available).map((C) => C.reason).join(`
58
- `);
59
- _ == null || _({ message: ee, position: "bottom" }), a("both", p);
60
- return;
61
- }
62
- const h = V(S, P);
63
- h.length > 0 ? z("trial-v3-patch", {
64
- action: "UPDATE_DEMO",
65
- action_data: {
66
- trial_details: {
67
- selected_regular_slots: h
68
- }
69
- },
70
- teacher_id: i,
71
- student_id: r
72
- }) : a("both", p);
73
- },
74
- [
75
- _,
76
- z,
77
- S,
78
- r,
79
- P,
80
- i,
81
- a
82
- ]
83
- ), { post: U } = ie({
84
- onComplete: Y
85
- }), B = m(() => {
86
- var s;
87
- const [o, e] = ((s = f == null ? void 0 : f.trim()) == null ? void 0 : s.split(" ")) || [], d = {
44
+ n("both", S), (r === e.STUDENT_INFORMATION || r === e.SCHOOL_GOALS) && (h == null || h());
45
+ }, { patch: k } = $({ onComplete: _ }), { patch: D } = Y({
46
+ onComplete: _
47
+ }), { post: G } = Q({
48
+ onComplete: _
49
+ }), { post: M } = X({
50
+ onComplete: _
51
+ }), U = d(() => {
52
+ const [o, t] = (m == null ? void 0 : m.split(" ")) || [], u = {
88
53
  first_name: o,
89
- last_name: e,
90
- grade: E,
91
- board: L,
54
+ last_name: t,
55
+ grade: p,
56
+ board: E,
92
57
  demo_type: "TRIAL_V3",
93
- teacher_id: i,
94
- country_alpha_2: T
58
+ teacher_id: l,
59
+ country_alpha_2: C
95
60
  };
96
- /\d/.test(f || "") ? n({ numberInNameError: !0 }) : (l(), x(r, d));
61
+ /\d/.test(m || "") ? s({ numberInNameError: !0 }) : (c(), D(a, u));
97
62
  }, [
98
- f,
63
+ m,
64
+ p,
99
65
  E,
100
- L,
101
- i,
102
- T,
103
66
  l,
104
- n,
105
- x,
106
- r
107
- ]), H = m(() => {
108
- const o = V(S, P), e = le(o);
67
+ C,
68
+ c,
69
+ s,
70
+ D,
71
+ a
72
+ ]), x = d(() => {
73
+ const o = te(R, T);
109
74
  if (o.length > 0) {
110
- const d = {
111
- teacher_id: i,
112
- session_list: e
75
+ const t = {
76
+ trial_details: {
77
+ selected_regular_slots: o
78
+ }
113
79
  };
114
- l(), U(d);
80
+ c(), k("trial-v3-patch", {
81
+ action: "UPDATE_DEMO",
82
+ action_data: t,
83
+ teacher_id: l,
84
+ student_id: a
85
+ });
115
86
  } else
116
- n({ id: c }), a("both", p);
87
+ s({ id: i }), n("both", S);
117
88
  }, [
118
- S,
119
- P,
120
- i,
121
- U,
122
- l,
123
- n,
89
+ R,
90
+ T,
124
91
  c,
125
- a
126
- ]), w = m(() => {
92
+ k,
93
+ l,
94
+ a,
95
+ s,
96
+ i,
97
+ n
98
+ ]), y = d(() => {
127
99
  const o = {
128
- course_stream: v,
129
- grade: E,
130
- teacher_id: i,
131
- board: L,
132
- goals: R
100
+ course_stream: P,
101
+ grade: p,
102
+ teacher_id: l,
103
+ board: E,
104
+ goals: g
133
105
  };
134
- l(), F(o, {
135
- studentId: r
106
+ c(), G(o, {
107
+ studentId: a
136
108
  });
137
109
  }, [
138
- L,
139
- l,
140
- R,
141
110
  E,
142
- F,
143
- v,
144
- r,
145
- i
146
- ]), K = m(() => {
147
- const e = { preferences: de(A, [
148
- ...k,
149
- ...y,
150
- ...D,
111
+ c,
112
+ g,
113
+ p,
114
+ G,
115
+ P,
116
+ a,
117
+ l
118
+ ]), z = d(() => {
119
+ const t = { preferences: oe(N, [
120
+ ...A,
121
+ ...b,
151
122
  ...O,
152
- ...G
153
- ]) }, d = { stream: oe.MATH, studentId: r };
154
- l(), M(e, d);
123
+ ...v
124
+ ]) }, u = { stream: J.MATH, studentId: a };
125
+ c(), M(t, u);
155
126
  }, [
156
- A,
157
- k,
158
- y,
159
- D,
127
+ c,
128
+ N,
160
129
  O,
161
- G,
162
- r,
163
- l,
164
- M
165
- ]), g = m(
166
- (o, e) => {
167
- if (!n) return;
168
- const d = u === t.STUDENT_PROFILE, h = u === t.LEARNING_PLAN, s = {};
169
- if ((e === t.CIRCLE_GAME || e === t.CIRCLE_PUZZLE || e === t.CIRCLE_SKILL) && (s.matchmakingId = W(), s.showCircleGameScreen = !0), o === "prev" && (n({
170
- id: e,
171
- ...d && { studentProfile: void 0 },
172
- ...h && {
130
+ b,
131
+ A,
132
+ M,
133
+ v,
134
+ a
135
+ ]), L = d(
136
+ (o, t) => {
137
+ if (!s) return;
138
+ const u = r === e.STUDENT_PROFILE, F = r === e.LEARNING_PLAN, f = {};
139
+ if ((t === e.CIRCLE_GAME || t === e.CIRCLE_PUZZLE || t === e.CIRCLE_SKILL) && (f.matchmakingId = B(), f.showCircleGameScreen = !0), o === "prev" && (s({
140
+ id: t,
141
+ ...u && { studentProfile: void 0 },
142
+ ...F && {
173
143
  chapterId: void 0
174
144
  },
175
- ...s
176
- }), a("both", p)), o === "next")
177
- switch (u) {
178
- case t.STUDENT_INFORMATION:
179
- case t.SCHOOL_GOALS:
180
- B();
145
+ ...f
146
+ }), n("both", S)), o === "next")
147
+ switch (r) {
148
+ case e.STUDENT_INFORMATION:
149
+ case e.SCHOOL_GOALS:
150
+ U();
181
151
  break;
182
- case t.LEARNING_WORKSHEET:
183
- w();
152
+ case e.LEARNING_WORKSHEET:
153
+ y();
184
154
  break;
185
- case t.CLASS_PREFERENCE:
186
- H();
155
+ case e.CLASS_PREFERENCE:
156
+ x();
187
157
  break;
188
- case t.LEARNING_LEVEL:
189
- K();
158
+ case e.LEARNING_LEVEL:
159
+ z();
190
160
  break;
191
- case t.LEARNING_PLAN:
192
- n({ id: e, chapterId: void 0, ...s });
161
+ case e.LEARNING_PLAN:
162
+ s({ id: t, chapterId: void 0, ...f });
193
163
  break;
194
164
  default:
195
- n({ id: e, ...s }), a("both", p);
165
+ s({ id: t, ...f }), n("both", S);
196
166
  }
197
167
  },
198
168
  [
169
+ s,
170
+ r,
199
171
  n,
200
- u,
201
- a,
202
- B,
203
- w,
204
- H,
205
- K
172
+ U,
173
+ y,
174
+ x,
175
+ z
206
176
  ]
207
- ), $ = m(() => {
208
- !I && u === t.LEARNING_WORKSHEET && g("next", c);
209
- }, [u, g, c, I]);
210
- return te(() => {
211
- $();
212
- }, [I]), { handleNavigation: g };
177
+ ), j = d(() => {
178
+ !I && r === e.LEARNING_WORKSHEET && L("next", i);
179
+ }, [r, L, i, I]);
180
+ return q(() => {
181
+ j();
182
+ }, [I]), { handleNavigation: L };
213
183
  };
214
184
  export {
215
- be as useTrialSessionNavigation
185
+ fe as useTrialSessionNavigation
216
186
  };
217
187
  //# sourceMappingURL=use-trial-session-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import type { TTeacherAvailabilityResponse } from '../api/teacher-availability';\nimport type { ITrialSessionFormFields } from '../trial-session-types';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport { usePostTeacherAvailability } from '../api/teacher-availability';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport {\n getFormattedPreferences,\n getFormattedStudentPersonalizedPreference,\n getWeekdayAndStartTimeFromPreference,\n} from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n handleInfoMessage,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n personalizedObjectives = [],\n personalizedPosition = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (currentPageId === TrialPageId.LEARNING_LEVEL) {\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n const onTeacherAvailabilityValidate = useCallback(\n (_: string | null, data?: TTeacherAvailabilityResponse) => {\n const hasNotAvailable = (data ?? []).some(item => !item.is_available);\n\n if (hasNotAvailable) {\n const notAvailable = (data ?? []).filter(item => !item.is_available);\n const reason = notAvailable.map(item => item.reason).join('\\n');\n\n handleInfoMessage?.({ message: reason, position: 'bottom' });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n return;\n }\n\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else updateButtonState('both', DEFAULT_BUTTON_STATE);\n },\n [\n handleInfoMessage,\n patchTrialSession,\n preferences,\n studentId,\n studentTimezone,\n teacherId,\n updateButtonState,\n ],\n );\n\n const { post: postTeacherAvailability } = usePostTeacherAvailability({\n onComplete: onTeacherAvailabilityValidate,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.trim()?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: 'TRIAL_V3',\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n const isNumberExistsInName = /\\d/.test(name || '');\n\n if (isNumberExistsInName) {\n updateSlideConfig({ numberInNameError: true });\n } else {\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }\n }, [\n name,\n grade,\n curriculum,\n teacherId,\n countryCode,\n disableNavButtons,\n updateSlideConfig,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n const sessionList = getWeekdayAndStartTimeFromPreference(selectedRegularSlots);\n\n if (selectedRegularSlots.length > 0) {\n const availabilityPayload = {\n teacher_id: teacherId,\n session_list: sessionList,\n };\n\n disableNavButtons();\n postTeacherAvailability(availabilityPayload);\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n teacherId,\n postTeacherAvailability,\n disableNavButtons,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ...personalizedObjectives,\n ...personalizedPosition,\n ]);\n\n const payload = { preferences: personalizedPreferences };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n milestoneConfig,\n personalizedLevel,\n personalizedFocus,\n personalizedBehaviors,\n personalizedObjectives,\n personalizedPosition,\n studentId,\n disableNavButtons,\n postStudentPreferences,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: string) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n switch (currentPageId) {\n //TODO: remove STUDENT_INFORMATION\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleMileStoneBulkPost();\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.LEARNING_LEVEL:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n handleStudentInformation,\n handleMileStoneBulkPost,\n handleClassPreferences,\n handleStudentPreferencesPatch,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","formData","updateButtonState","teacherId","studentId","milestoneConfig","handleInfoMessage","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","personalizedObjectives","personalizedPosition","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","onTeacherAvailabilityValidate","_","data","item","reason","selectedRegularSlots","getFormattedPreferences","postTeacherAvailability","usePostTeacherAvailability","handleStudentInformation","firstName","lastName","_a","payload","handleClassPreferences","sessionList","getWeekdayAndStartTimeFromPreference","availabilityPayload","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-trial-session-navigation.js","sources":["../../../../src/features/trial-session/hooks/use-trial-session-navigation.ts"],"sourcesContent":["import type { ITrialSessionFormFields } from '../trial-session-types';\n\nimport { useCallback, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { COURSE_STREAMS } from '../../milestone/constants';\nimport { useMilestoneBulkPost } from '../../milestone/create/api/milestone-bulk';\nimport { usePostStudentPreferences } from '../api/course-stream';\nimport { usePatchStudentInformation } from '../api/student-information';\nimport { usePatchTrialHome } from '../api/trial-home';\nimport { useTrialSessionContext } from '../context/use-trial-session-context';\nimport { getFormattedPreferences, getFormattedStudentPersonalizedPreference } from '../helper';\nimport { DEFAULT_BUTTON_STATE, TrialPageId } from '../trial-session-constants';\n\nconst useTrialSessionNavigation = () => {\n const {\n updateSlideConfig,\n slideConfig,\n formData,\n updateButtonState,\n teacherId,\n studentId,\n milestoneConfig,\n onTrialInformationUpdate,\n trialHomeData,\n worksheetNavigationPanel,\n } = useTrialSessionContext();\n const { nextPage, id: currentPageId } = slideConfig || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const { pageId: nextPageId } = nextPage || {};\n const {\n name,\n grade,\n goals,\n curriculum,\n studentTimezone,\n preferences = [],\n personalizedLevel = [],\n personalizedFocus = [],\n personalizedBehaviors = [],\n personalizedObjectives = [],\n } = formData || {};\n\n const disableNavButtons = useCallback(() => {\n updateButtonState('both', {\n left: { isDisabled: true, isLoading: false },\n right: { isDisabled: true, isLoading: true },\n });\n }, [updateButtonState]);\n\n const onAcknowledge = (errorMessage: string | null) => {\n if (!errorMessage) {\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n nextPageId === TrialPageId.CIRCLE_GAME ||\n nextPageId === TrialPageId.CIRCLE_PUZZLE ||\n nextPageId === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n updateSlideConfig({ id: nextPageId, ...overrides });\n }\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n\n if (\n currentPageId === TrialPageId.STUDENT_INFORMATION ||\n currentPageId === TrialPageId.SCHOOL_GOALS\n ) {\n //TODO: remove TrialPageId.STUDENT_INFORMATION\n onTrialInformationUpdate?.();\n }\n };\n\n // API specifications\n const { patch: patchTrialSession } = usePatchTrialHome({ onComplete: onAcknowledge });\n const { patch: patchStudentInformation } = usePatchStudentInformation({\n onComplete: onAcknowledge,\n });\n const { post: postMilestoneBulk } = useMilestoneBulkPost({\n onComplete: onAcknowledge,\n });\n const { post: postStudentPreferences } = usePostStudentPreferences({\n onComplete: onAcknowledge,\n });\n\n // Function to call API and updates states\n const handleStudentInformation = useCallback(() => {\n const [firstName, lastName] = name?.split(' ') || [];\n const payload = {\n first_name: firstName,\n last_name: lastName,\n grade,\n board: curriculum,\n demo_type: 'TRIAL_V3',\n teacher_id: teacherId,\n country_alpha_2: countryCode,\n };\n const isNumberExistsInName = /\\d/.test(name || '');\n\n if (isNumberExistsInName) {\n updateSlideConfig({ numberInNameError: true });\n } else {\n disableNavButtons();\n patchStudentInformation(studentId, payload);\n }\n }, [\n name,\n grade,\n curriculum,\n teacherId,\n countryCode,\n disableNavButtons,\n updateSlideConfig,\n patchStudentInformation,\n studentId,\n ]);\n\n const handleClassPreferences = useCallback(() => {\n const selectedRegularSlots = getFormattedPreferences(preferences, studentTimezone);\n\n if (selectedRegularSlots.length > 0) {\n const actionData = {\n trial_details: {\n selected_regular_slots: selectedRegularSlots,\n },\n };\n\n disableNavButtons();\n patchTrialSession('trial-v3-patch', {\n action: 'UPDATE_DEMO',\n action_data: actionData,\n teacher_id: teacherId,\n student_id: studentId,\n });\n } else {\n updateSlideConfig({ id: nextPageId });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }, [\n preferences,\n studentTimezone,\n disableNavButtons,\n patchTrialSession,\n teacherId,\n studentId,\n updateSlideConfig,\n nextPageId,\n updateButtonState,\n ]);\n\n const handleMileStoneBulkPost = useCallback(() => {\n const payload = {\n course_stream: stream,\n grade,\n teacher_id: teacherId,\n board: curriculum,\n goals,\n };\n\n disableNavButtons();\n postMilestoneBulk(payload, {\n studentId,\n });\n }, [\n curriculum,\n disableNavButtons,\n goals,\n grade,\n postMilestoneBulk,\n stream,\n studentId,\n teacherId,\n ]);\n\n const handleStudentPreferencesPatch = useCallback(() => {\n const personalizedPreferences = getFormattedStudentPersonalizedPreference(milestoneConfig, [\n ...personalizedLevel,\n ...personalizedFocus,\n ...personalizedBehaviors,\n ...personalizedObjectives,\n ]);\n\n const payload = { preferences: personalizedPreferences };\n const meta = { stream: COURSE_STREAMS.MATH, studentId };\n\n disableNavButtons();\n postStudentPreferences(payload, meta);\n }, [\n disableNavButtons,\n milestoneConfig,\n personalizedBehaviors,\n personalizedFocus,\n personalizedLevel,\n postStudentPreferences,\n personalizedObjectives,\n studentId,\n ]);\n\n // Navigation logic\n const handleNavigation = useCallback(\n (dir: string, id?: string) => {\n if (!updateSlideConfig) return;\n\n const isStudentProfilePage = currentPageId === TrialPageId.STUDENT_PROFILE;\n const isLearningPlanSlide = currentPageId === TrialPageId.LEARNING_PLAN;\n const overrides: Partial<ITrialSessionFormFields> = {};\n\n if (\n id === TrialPageId.CIRCLE_GAME ||\n id === TrialPageId.CIRCLE_PUZZLE ||\n id === TrialPageId.CIRCLE_SKILL\n ) {\n overrides.matchmakingId = uuidv4();\n overrides.showCircleGameScreen = true;\n }\n\n if (dir === 'prev') {\n updateSlideConfig({\n id,\n ...(isStudentProfilePage && { studentProfile: undefined }),\n ...(isLearningPlanSlide && {\n chapterId: undefined,\n }),\n ...overrides,\n });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n\n if (dir === 'next') {\n switch (currentPageId) {\n //TODO: remove STUDENT_INFORMATION\n case TrialPageId.STUDENT_INFORMATION:\n case TrialPageId.SCHOOL_GOALS:\n handleStudentInformation();\n break;\n case TrialPageId.LEARNING_WORKSHEET:\n handleMileStoneBulkPost();\n break;\n case TrialPageId.CLASS_PREFERENCE:\n handleClassPreferences();\n break;\n case TrialPageId.LEARNING_LEVEL:\n handleStudentPreferencesPatch();\n break;\n case TrialPageId.LEARNING_PLAN:\n updateSlideConfig({ id, chapterId: undefined, ...overrides });\n break;\n default: {\n updateSlideConfig({ id, ...overrides });\n updateButtonState('both', DEFAULT_BUTTON_STATE);\n }\n }\n }\n },\n [\n updateSlideConfig,\n currentPageId,\n updateButtonState,\n handleStudentInformation,\n handleMileStoneBulkPost,\n handleClassPreferences,\n handleStudentPreferencesPatch,\n ],\n );\n\n const sessionWorksheetNavigation = useCallback(() => {\n if (!worksheetNavigationPanel && currentPageId === TrialPageId.LEARNING_WORKSHEET) {\n handleNavigation('next', nextPageId);\n }\n }, [currentPageId, handleNavigation, nextPageId, worksheetNavigationPanel]);\n\n useEffect(() => {\n sessionWorksheetNavigation();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [worksheetNavigationPanel]);\n\n return { handleNavigation };\n};\n\nexport { useTrialSessionNavigation };\n"],"names":["useTrialSessionNavigation","updateSlideConfig","slideConfig","formData","updateButtonState","teacherId","studentId","milestoneConfig","onTrialInformationUpdate","trialHomeData","worksheetNavigationPanel","useTrialSessionContext","nextPage","currentPageId","demoInfo","stream","regionData","countryCode","nextPageId","name","grade","goals","curriculum","studentTimezone","preferences","personalizedLevel","personalizedFocus","personalizedBehaviors","personalizedObjectives","disableNavButtons","useCallback","onAcknowledge","errorMessage","overrides","TrialPageId","uuidv4","DEFAULT_BUTTON_STATE","patchTrialSession","usePatchTrialHome","patchStudentInformation","usePatchStudentInformation","postMilestoneBulk","useMilestoneBulkPost","postStudentPreferences","usePostStudentPreferences","handleStudentInformation","firstName","lastName","payload","handleClassPreferences","selectedRegularSlots","getFormattedPreferences","actionData","handleMileStoneBulkPost","handleStudentPreferencesPatch","getFormattedStudentPersonalizedPreference","meta","COURSE_STREAMS","handleNavigation","dir","id","isStudentProfilePage","isLearningPlanSlide","sessionWorksheetNavigation","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n personalizedPosition?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n chapterId?: string;\n matchmakingId?: string;\n numberInNameError?: boolean;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n scheduled_start_time: number;\n course?: string;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n intel_student?: {\n source?: string;\n student_preference?: {\n preferences?: TPreferenceSchema[];\n };\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AA+BY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n chapterId?: string;\n matchmakingId?: string;\n numberInNameError?: boolean;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n course?: string;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n countryCode?: string;\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AA+BY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}