@cuemath/leap 3.3.18-j2 → 3.3.18-m-af

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 (104) hide show
  1. package/dist/assets/lottie/lottie.js +2 -2
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +6 -6
  4. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  5. package/dist/features/auth/comps/pill-button/pill-button.js +19 -19
  6. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  7. package/dist/features/auth/pla-signup/pla-analytics-events.js +4 -5
  8. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  9. package/dist/features/auth/pla-signup/signup-header/signup-header.js +1 -1
  10. package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +1 -1
  11. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +24 -24
  12. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  13. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js +5 -7
  14. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js.map +1 -1
  15. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +71 -75
  16. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  17. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +12 -12
  18. package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
  19. package/dist/features/circle-games/sign-up/sign-up-types.js.map +1 -1
  20. package/dist/features/circle-games/sign-up/sign-up.js +128 -156
  21. package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
  22. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +42 -45
  23. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  24. package/dist/features/parent-dashboard/parent-dashboard-types.js +2 -3
  25. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  26. package/dist/features/parent-dashboard/parent-dashboard-view.js +127 -139
  27. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  28. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +7 -8
  29. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -1
  30. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +26 -27
  31. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -1
  32. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +16 -16
  33. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -1
  34. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +13 -15
  35. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
  36. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +1 -1
  37. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
  38. package/dist/features/trial-session/comps/worksheet/worksheet.js +23 -23
  39. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  40. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  41. package/dist/index.d.ts +20 -68
  42. package/dist/index.js +367 -383
  43. package/dist/index.js.map +1 -1
  44. package/dist/node_modules/query-string/base.js +1 -1
  45. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  46. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  47. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  48. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  49. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  50. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  51. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  52. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  53. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  54. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  55. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  56. package/dist/static/error.cbe1ddde.json +1 -0
  57. package/dist/static/username.9e034d51.json +1 -0
  58. package/package.json +1 -1
  59. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js +0 -16
  60. package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js.map +0 -1
  61. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js +0 -62
  62. package/dist/features/auth/signup-unavailable/signup-unavailable-view.js.map +0 -1
  63. package/dist/features/auth/signup-unavailable/signup-unavailable.js +0 -17
  64. package/dist/features/auth/signup-unavailable/signup-unavailable.js.map +0 -1
  65. package/dist/features/circle-games/hooks/use-circle-sounds/helper.js +0 -19
  66. package/dist/features/circle-games/hooks/use-circle-sounds/helper.js.map +0 -1
  67. package/dist/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.js +0 -9
  68. package/dist/features/circle-games/sign-up/api/use-update-username-api/use-update-username-api.js.map +0 -1
  69. package/dist/features/circle-games/sign-up/dal/update-username-dal/update-username-dal.js +0 -34
  70. package/dist/features/circle-games/sign-up/dal/update-username-dal/update-username-dal.js.map +0 -1
  71. package/dist/features/parent-dashboard/api/get-student-profile-summary.js +0 -9
  72. package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +0 -1
  73. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js +0 -10
  74. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js.map +0 -1
  75. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +0 -42
  76. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +0 -1
  77. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js +0 -24
  78. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js.map +0 -1
  79. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js +0 -40
  80. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js.map +0 -1
  81. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js +0 -44
  82. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js.map +0 -1
  83. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js +0 -32
  84. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +0 -1
  85. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +0 -12
  86. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +0 -1
  87. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +0 -44
  88. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +0 -1
  89. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +0 -13
  90. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +0 -1
  91. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +0 -28
  92. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +0 -1
  93. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js +0 -43
  94. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js.map +0 -1
  95. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +0 -59
  96. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +0 -1
  97. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js +0 -86
  98. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +0 -1
  99. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  100. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  101. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  102. package/dist/static/error.dd744fa5.json +0 -1
  103. package/dist/static/username.2c755605.json +0 -1
  104. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -1,100 +1,83 @@
1
- import { jsx as r, jsxs as s, Fragment as se } from "react/jsx-runtime";
2
- import { useState as o, useRef as oe, useCallback as le, useEffect as ie } from "react";
3
- import { ILLUSTRATIONS as g } from "../../../assets/illustrations/illustrations.js";
4
- import R from "../../ui/image/image.js";
5
- import Y from "../../ui/layout/flex-view.js";
6
- import ae from "../../ui/separator/separator.js";
7
- import d from "../../ui/text/text.js";
8
- import { CircularSteps as ce } from "./comp/circular-steps/circular-steps.js";
9
- import { GradeInputBox as ue, SelectUserGrade as pe } from "./comp/select-user-grade/select-user-grade.js";
10
- import { Spinner as de } from "./comp/spinner/spinner.js";
11
- import { SplashScreen as me } from "./comp/splash-screen/splash-screen.js";
12
- import { ErrorMessage as I } from "./comp/username-input/constants.js";
13
- import { UsernameInput as he } from "./comp/username-input/username-input.js";
14
- import { GRADES as j, CONTAINER_WIDTH as Se, CONTAINER_HEIGHT as fe } from "./constants.js";
15
- import { useCreateUserDal as ge } from "./dal/create-user-dal/create-user-dal.js";
16
- import { useUpdateUserDal as Ee } from "./dal/update-user-dal/update-user-dal.js";
17
- import { useUpdateUsernameDal as Te } from "./dal/update-username-dal/update-username-dal.js";
18
- import { getTrialScreenUsername as Re, getSplashScreenText as Ie } from "./helper.js";
19
- import { BottomButtonContainer as b, SignupBtn as N, SmileyImage as be, ThemeText as Ne, BackgroundOverlay as ye, SignUpWrapper as Ce, SignUpContainer as ke, SignupText as xe } from "./sign-up-styled.js";
20
- const Xe = ({
21
- mathGymEnrolledUser: y,
22
- circleEnrolledUser: C,
23
- circleOnLeapPremiumDays: k,
24
- circleUsername: l,
25
- countryCode: x,
26
- grade: L,
27
- state: G,
28
- circleOnLeapPremiumEnabled: E,
29
- studentId: m,
30
- isSignUpProcessing: w,
31
- onCreateUser: A,
32
- onUpdateUser: B,
33
- onSignupStepsComplete: X,
34
- isPLAStudent: c
1
+ import { jsx as t, jsxs as a, Fragment as ee } from "react/jsx-runtime";
2
+ import { useState as s, useRef as te, useCallback as re, useEffect as se } from "react";
3
+ import { ILLUSTRATIONS as S } from "../../../assets/illustrations/illustrations.js";
4
+ import E from "../../ui/image/image.js";
5
+ import H from "../../ui/text/text.js";
6
+ import { CircularSteps as ne } from "./comp/circular-steps/circular-steps.js";
7
+ import { GradeInputBox as oe, SelectUserGrade as le } from "./comp/select-user-grade/select-user-grade.js";
8
+ import { Spinner as ie } from "./comp/spinner/spinner.js";
9
+ import { SplashScreen as ae } from "./comp/splash-screen/splash-screen.js";
10
+ import { ErrorMessage as $ } from "./comp/username-input/constants.js";
11
+ import { UsernameInput as ue } from "./comp/username-input/username-input.js";
12
+ import { GRADES as L, CONTAINER_WIDTH as ce, CONTAINER_HEIGHT as pe } from "./constants.js";
13
+ import { useCreateUserDal as de } from "./dal/create-user-dal/create-user-dal.js";
14
+ import { useUpdateUserDal as Se } from "./dal/update-user-dal/update-user-dal.js";
15
+ import { getTrialScreenUsername as me, getSplashScreenText as he } from "./helper.js";
16
+ import { BottomButtonContainer as T, SignupBtn as I, SmileyImage as fe, ThemeText as ge, BackgroundOverlay as Ee, SignUpWrapper as Te, SignUpContainer as Ie, SignupText as Re } from "./sign-up-styled.js";
17
+ const $e = ({
18
+ mathGymEnrolledUser: R,
19
+ circleEnrolledUser: b,
20
+ circleOnLeapPremiumDays: A,
21
+ circleUsername: n,
22
+ countryCode: C,
23
+ grade: q,
24
+ state: x,
25
+ circleOnLeapPremiumEnabled: m,
26
+ studentId: h,
27
+ isSignUpProcessing: y,
28
+ onCreateUser: B,
29
+ onUpdateUser: N,
30
+ onSignupStepsComplete: V
35
31
  }) => {
36
- const [v, U] = o(0), [n, u] = o(l), [h, p] = o(""), [t, _] = o(
37
- j.find((e) => e.key === L) ?? null
38
- ), [S, i] = o(!1), W = Re(G), f = oe(null), [z, $] = o(!1), [J, O] = o(!1), P = (e) => {
39
- i(!1), e ? (f.current = e, u(e.username), A && A(e), a()) : p(I.SOMETHING_WENT_WRONG);
40
- }, Q = (e) => {
41
- i(!1), e ? (f.current = e, u(e.username), B && B(e), a()) : p(I.SOMETHING_WENT_WRONG);
42
- }, Z = (e) => {
43
- i(!1), e ? (u(e.username), f.current = e, a()) : p(I.SOMETHING_WENT_WRONG);
44
- }, { createUser: D } = ge(P), { updateUser: H } = Ee(Q), { updateUsername: q } = Te(Z), ee = () => {
45
- O(!0), setTimeout(() => {
46
- $(!0);
32
+ const [M, k] = s(0), [o, u] = s(n), [c, p] = s(""), [r, w] = s(
33
+ L.find((e) => e.key === q) ?? null
34
+ ), [d, l] = s(!1), G = me(x), f = te(null), [F, _] = s(!1), [K, U] = s(!1), P = (e) => {
35
+ l(!1), e ? (f.current = e, u(e.username), B && B(e), i()) : p($.SOMETHING_WENT_WRONG);
36
+ }, j = (e) => {
37
+ l(!1), e ? (f.current = e, u(e.username), N && N(e), i()) : p($.SOMETHING_WENT_WRONG);
38
+ }, { createUser: W } = de(P), { updateUser: D } = Se(j), Y = () => {
39
+ U(!0), setTimeout(() => {
40
+ _(!0);
47
41
  }, 500);
48
- }, re = async (e) => {
49
- _(e);
50
- }, te = le(async () => {
51
- if (i(!0), h === "") {
52
- if (c && n) {
53
- q({
54
- username: n,
55
- studentId: m
56
- });
57
- return;
58
- }
59
- l === "" || l === void 0 || l === null ? D({
60
- circleOnLeapPremiumEnabled: E,
61
- grade: (t == null ? void 0 : t.key) || "",
62
- username: n,
63
- countryCode: x,
64
- studentId: m
65
- }) : H({
66
- circleOnLeapPremiumEnabled: E,
67
- grade: (t == null ? void 0 : t.key) || "",
68
- username: n,
69
- studentId: m
70
- });
71
- }
42
+ }, X = async (e) => {
43
+ w(e);
44
+ }, v = re(async () => {
45
+ l(!0), c === "" && (n === "" || n === void 0 || n === null ? W({
46
+ circleOnLeapPremiumEnabled: m,
47
+ grade: (r == null ? void 0 : r.key) || "",
48
+ username: o,
49
+ countryCode: C,
50
+ studentId: h
51
+ }) : D({
52
+ circleOnLeapPremiumEnabled: m,
53
+ grade: (r == null ? void 0 : r.key) || "",
54
+ username: o,
55
+ studentId: h
56
+ }));
72
57
  }, [
73
- E,
74
- l,
75
- x,
76
- D,
77
- h,
78
- t == null ? void 0 : t.key,
79
- c,
80
58
  m,
81
- H,
82
- q,
83
- n
84
- ]), a = () => {
85
- U((e) => e === K.steps.length - 1 ? (X(f.current), e) : e + 1);
86
- }, T = () => {
87
- S || U((e) => e === 0 ? e : e - 1);
88
- }, V = {
59
+ n,
60
+ C,
61
+ W,
62
+ c,
63
+ r == null ? void 0 : r.key,
64
+ h,
65
+ D,
66
+ o
67
+ ]), i = () => {
68
+ k((e) => e === O.steps.length - 1 ? (V(f.current), e) : e + 1);
69
+ }, g = () => {
70
+ d || k((e) => e === 0 ? e : e - 1);
71
+ }, z = {
89
72
  id: "step-0",
90
73
  label: null,
91
74
  custEle: null,
92
75
  custEleInsideStep: null,
93
- background: /* @__PURE__ */ r(me, { animationCompleted: ee }),
94
- custEleBelowStep: /* @__PURE__ */ s(b, { paddingX: y && C ? 1 : 2.5, children: [
95
- J && /* @__PURE__ */ r(xe, { $renderAs: "ab2", $color: "WHITE", $align: "center", children: Ie({ state: G, circleEnrolledUser: C, mathGymEnrolledUser: y }) }),
96
- z && /* @__PURE__ */ r(
97
- N,
76
+ background: /* @__PURE__ */ t(ae, { animationCompleted: Y }),
77
+ custEleBelowStep: /* @__PURE__ */ a(T, { paddingX: R && b ? 1 : 2.5, children: [
78
+ K && /* @__PURE__ */ t(Re, { $renderAs: "ab2", $color: "WHITE", $align: "center", children: he({ state: x, circleEnrolledUser: b, mathGymEnrolledUser: R }) }),
79
+ F && /* @__PURE__ */ t(
80
+ I,
98
81
  {
99
82
  label: "Let’s start",
100
83
  renderAs: "secondary",
@@ -102,139 +85,128 @@ const Xe = ({
102
85
  width: 144,
103
86
  isVisible: !0,
104
87
  onClick: () => {
105
- a(), O(!1), $(!1);
88
+ i(), U(!1), _(!1);
106
89
  }
107
90
  }
108
91
  )
109
92
  ] }),
110
93
  isProgressAnimationRequired: !1
111
- }, ne = {
94
+ }, J = {
112
95
  id: "step-1",
113
96
  label: "What’s your school grade?",
114
97
  custEle: null,
115
- custEleInsideStep: /* @__PURE__ */ r(ue, { gradeInfo: t, showSpinner: S }),
116
- background: /* @__PURE__ */ r(
117
- R,
98
+ custEleInsideStep: /* @__PURE__ */ t(oe, { gradeInfo: r, showSpinner: d }),
99
+ background: /* @__PURE__ */ t(
100
+ E,
118
101
  {
119
- src: g.GRADE_GRID_BACKGROUND,
102
+ src: S.GRADE_GRID_BACKGROUND,
120
103
  height: "100%",
121
104
  width: "100%",
122
105
  withLoader: !1,
123
106
  alt: "play"
124
107
  }
125
108
  ),
126
- custEleBelowStep: /* @__PURE__ */ r(
127
- pe,
109
+ custEleBelowStep: /* @__PURE__ */ t(
110
+ le,
128
111
  {
129
- grades: j,
130
- selected: (t == null ? void 0 : t.key) || null,
131
- onSelect: (e) => re(e),
132
- onNext: a
112
+ grades: L,
113
+ selected: (r == null ? void 0 : r.key) || null,
114
+ onSelect: (e) => X(e),
115
+ onNext: i
133
116
  }
134
117
  ),
135
- onBack: T,
118
+ onBack: g,
136
119
  isProgressAnimationRequired: !0
137
- }, M = {
120
+ }, Q = {
138
121
  id: "step-2",
139
- label: c ? `Create a unique username
140
- for your child` : "Claim your unique alias",
122
+ label: "Claim your unique alias",
141
123
  custEle: null,
142
- custEleInsideStep: /* @__PURE__ */ r(
143
- he,
124
+ custEleInsideStep: /* @__PURE__ */ t(
125
+ ue,
144
126
  {
145
- username: n,
146
- circleUsername: l,
127
+ username: o,
128
+ circleUsername: n,
147
129
  isEdit: !1,
148
- error: h,
130
+ error: c,
149
131
  setError: p,
150
- showSpinner: S,
151
- setShowSpinner: i,
132
+ showSpinner: d,
133
+ setShowSpinner: l,
152
134
  setUsername: u
153
135
  }
154
136
  ),
155
- background: /* @__PURE__ */ r(
156
- R,
137
+ background: /* @__PURE__ */ t(
138
+ E,
157
139
  {
158
- src: g.USER_PROFILE_BACKGROUND,
140
+ src: S.USER_PROFILE_BACKGROUND,
159
141
  height: "100%",
160
142
  width: "100%",
161
143
  withLoader: !1,
162
144
  alt: "play"
163
145
  }
164
146
  ),
165
- custEleBelowStep: /* @__PURE__ */ r(b, { children: n !== "" && /* @__PURE__ */ r(
166
- N,
147
+ custEleBelowStep: /* @__PURE__ */ t(T, { children: o !== "" && /* @__PURE__ */ t(
148
+ I,
167
149
  {
168
150
  label: "Next",
169
- disabled: S || h !== "",
151
+ disabled: d || c !== "",
170
152
  renderAs: "secondary",
171
- onClick: () => te(),
153
+ onClick: () => v(),
172
154
  marginTop: 88
173
155
  }
174
156
  ) }),
175
- onBack: T,
157
+ onBack: g,
176
158
  isProgressAnimationRequired: !0
177
- }, F = {
159
+ }, Z = {
178
160
  id: "step-3",
179
161
  label: null,
180
162
  custEle: null,
181
- custEleInsideStep: /* @__PURE__ */ r(be, { src: g.SMILEY, height: "100%", width: "100%", alt: "play" }),
182
- background: /* @__PURE__ */ r(
183
- R,
163
+ custEleInsideStep: /* @__PURE__ */ t(fe, { src: S.SMILEY, height: "100%", width: "100%", alt: "play" }),
164
+ background: /* @__PURE__ */ t(
165
+ E,
184
166
  {
185
- src: g.USER_CROWN_GRID_BACKGROUND,
167
+ src: S.USER_CROWN_GRID_BACKGROUND,
186
168
  height: "100%",
187
169
  width: "100%",
188
170
  withLoader: !1,
189
171
  alt: "play"
190
172
  }
191
173
  ),
192
- custEleBelowStep: /* @__PURE__ */ s(b, { children: [
193
- c ? /* @__PURE__ */ s(Y, { children: [
194
- /* @__PURE__ */ r(d, { $renderAs: "ac4-black", $align: "center", $color: "GREEN_4", children: "Premium access unlocked!" }),
195
- /* @__PURE__ */ r(ae, { height: 12 }),
196
- /* @__PURE__ */ s(d, { $renderAs: "ub2", $color: "WHITE", children: [
197
- "Your child can directly login to leap.cuemath.com using “",
198
- /* @__PURE__ */ r(d, { $color: "GREEN_4", $renderAs: "ub2", $inline: !0, children: n }),
199
- "” as both username and password."
174
+ custEleBelowStep: /* @__PURE__ */ a(T, { children: [
175
+ /* @__PURE__ */ a(H, { $renderAs: "ab1", $color: "WHITE", children: [
176
+ G.primaryText,
177
+ A && /* @__PURE__ */ a(ge, { children: [
178
+ " ",
179
+ A,
180
+ " days of FREE"
200
181
  ] })
201
- ] }) : /* @__PURE__ */ s(Y, { children: [
202
- /* @__PURE__ */ s(d, { $renderAs: "ab1", $color: "WHITE", children: [
203
- W.primaryText,
204
- k && /* @__PURE__ */ s(Ne, { children: [
205
- " ",
206
- k,
207
- " days of FREE"
208
- ] })
209
- ] }),
210
- /* @__PURE__ */ r(d, { $renderAs: "ab1", $color: "WHITE", children: W.secondaryText })
211
182
  ] }),
212
- w ? /* @__PURE__ */ r(de, { marginY: 24 }) : /* @__PURE__ */ r(
213
- N,
183
+ /* @__PURE__ */ t(H, { $renderAs: "ab1", $color: "WHITE", children: G.secondaryText }),
184
+ y ? /* @__PURE__ */ t(ie, { marginY: 24 }) : /* @__PURE__ */ t(
185
+ I,
214
186
  {
215
187
  label: "Woohoo! Let me in!",
216
188
  renderAs: "secondary",
217
189
  marginTop: 24,
218
190
  width: 250,
219
- onClick: () => a()
191
+ onClick: () => i()
220
192
  }
221
193
  )
222
194
  ] }),
223
- onBack: w ? void 0 : T,
195
+ onBack: y ? void 0 : g,
224
196
  isProgressAnimationRequired: !0
225
- }, K = {
226
- steps: c ? [V, M, F] : [V, ne, M, F],
197
+ }, O = {
198
+ steps: [z, J, Q, Z],
227
199
  currentStepIndex: 0,
228
- dimensions: { width: Se, height: fe }
200
+ dimensions: { width: ce, height: pe }
229
201
  };
230
- return ie(() => () => {
231
- i(!1), u(""), _(null), p("");
232
- }, []), /* @__PURE__ */ s(se, { children: [
233
- /* @__PURE__ */ r(ye, {}),
234
- /* @__PURE__ */ r(Ce, { children: /* @__PURE__ */ r(ke, { children: /* @__PURE__ */ r(ce, { ...K, currentStepIndex: v }) }) })
202
+ return se(() => () => {
203
+ l(!1), u(""), w(null), p("");
204
+ }, []), /* @__PURE__ */ a(ee, { children: [
205
+ /* @__PURE__ */ t(Ee, {}),
206
+ /* @__PURE__ */ t(Te, { children: /* @__PURE__ */ t(Ie, { children: /* @__PURE__ */ t(ne, { ...O, currentStepIndex: M }) }) })
235
207
  ] });
236
208
  };
237
209
  export {
238
- Xe as SignUp
210
+ $e as SignUp
239
211
  };
240
212
  //# sourceMappingURL=sign-up.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sign-up.js","sources":["../../../../src/features/circle-games/sign-up/sign-up.tsx"],"sourcesContent":["import type { IUpdateUsernameResponse } from './api/use-update-username-api/use-update-username-api-types';\nimport type {\n ICircularSteps,\n ICircularStepsProps,\n} from './comp/circular-steps/circular-steps-types';\nimport type { Grade } from './comp/grade-input/grade-input-types';\nimport type { ICreateUserResponseDal } from './dal/create-user-dal/create-user-dal-types';\nimport type { IUpdateUserPayloadDal } from './dal/update-user-dal/update-user-dal-types';\nimport type { ISignUpProps } from './sign-up-types';\n\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\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 { CircularSteps } from './comp/circular-steps/circular-steps';\nimport { GradeInputBox, SelectUserGrade } from './comp/select-user-grade/select-user-grade';\nimport { Spinner } from './comp/spinner/spinner';\nimport { SplashScreen } from './comp/splash-screen/splash-screen';\nimport { ErrorMessage } from './comp/username-input/constants';\nimport { UsernameInput } from './comp/username-input/username-input';\nimport { CONTAINER_HEIGHT, CONTAINER_WIDTH, GRADES } from './constants';\nimport { useCreateUserDal } from './dal/create-user-dal/create-user-dal';\nimport { useUpdateUserDal } from './dal/update-user-dal/update-user-dal';\nimport { useUpdateUsernameDal } from './dal/update-username-dal/update-username-dal';\nimport { getSplashScreenText, getTrialScreenUsername } from './helper';\nimport * as Styled from './sign-up-styled';\n\nexport const SignUp = ({\n mathGymEnrolledUser,\n circleEnrolledUser,\n circleOnLeapPremiumDays,\n circleUsername,\n countryCode,\n grade: defaultGrade,\n state,\n circleOnLeapPremiumEnabled,\n studentId,\n isSignUpProcessing,\n onCreateUser,\n onUpdateUser,\n onSignupStepsComplete,\n isPLAStudent,\n}: ISignUpProps) => {\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const [username, setUsername] = useState(circleUsername);\n const [error, setError] = useState('');\n const [grade, setGrade] = useState<Grade | null>(\n GRADES.find(g => g.key === defaultGrade) ?? null,\n );\n const [showSpinner, setShowSpinner] = useState(false);\n const trialScreenContent = getTrialScreenUsername(state);\n\n const userCreateUpdateResponseData = useRef<\n ICreateUserResponseDal | IUpdateUserPayloadDal | IUpdateUsernameResponse | null\n >(null);\n\n const [splashBtnVisible, setSplashBtnVisible] = useState(false);\n const [splashTxtVisible, setSplashTxtVisible] = useState(false);\n\n const handleCreateUserResponse = (data: ICreateUserResponseDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onCreateUser && onCreateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n const handleUpdateUserResponse = (data: IUpdateUserPayloadDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onUpdateUser && onUpdateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n const handleUpdateUsernameResponse = (data: IUpdateUsernameResponse | null) => {\n setShowSpinner(false);\n if (data) {\n setUsername(data.username);\n userCreateUpdateResponseData.current = data;\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n\n const { createUser } = useCreateUserDal(handleCreateUserResponse);\n const { updateUser } = useUpdateUserDal(handleUpdateUserResponse);\n const { updateUsername } = useUpdateUsernameDal(handleUpdateUsernameResponse);\n // Animate the text and btns a fter the splash animation is completed in splash screen\n const onSplashScreenBgAnimationComplete = () => {\n setSplashTxtVisible(true);\n setTimeout(() => {\n setSplashBtnVisible(true);\n }, 500);\n };\n\n const handleGradeSelect = async (_grade: Grade) => {\n setGrade(_grade);\n };\n\n const handleUsernameSubmit = useCallback(async () => {\n setShowSpinner(true);\n if (error !== '') {\n return;\n }\n\n if (isPLAStudent && username) {\n //TODO: This should be migrated to use for both PLA and Non PLA\n // If the user is a PLA student, we need to set the username as both username and password for the Login as well along with setting as circle username\n updateUsername({\n username,\n studentId,\n });\n\n return;\n }\n\n if (circleUsername === '' || circleUsername === undefined || circleUsername === null) {\n createUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n countryCode,\n studentId,\n });\n } else {\n updateUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n studentId,\n });\n }\n }, [\n circleOnLeapPremiumEnabled,\n circleUsername,\n countryCode,\n createUser,\n error,\n grade?.key,\n isPLAStudent,\n studentId,\n updateUser,\n updateUsername,\n username,\n ]);\n\n const goToNextStep = () => {\n setCurrentStepIndex(prev => {\n if (prev === SignupProps.steps.length - 1) {\n onSignupStepsComplete(userCreateUpdateResponseData.current);\n\n return prev;\n }\n\n return prev + 1;\n });\n };\n\n const goToPrevStep = () => {\n if (showSpinner) {\n return;\n }\n setCurrentStepIndex(prev => {\n if (prev === 0) {\n return prev;\n }\n\n return prev - 1;\n });\n };\n\n const splashScreenStep: ICircularSteps = {\n id: 'step-0',\n label: null,\n custEle: null,\n custEleInsideStep: null,\n background: <SplashScreen animationCompleted={onSplashScreenBgAnimationComplete} />,\n custEleBelowStep: (\n <Styled.BottomButtonContainer paddingX={mathGymEnrolledUser && circleEnrolledUser ? 1 : 2.5}>\n {splashTxtVisible && (\n <Styled.SignupText $renderAs=\"ab2\" $color=\"WHITE\" $align=\"center\">\n {getSplashScreenText({ state, circleEnrolledUser, mathGymEnrolledUser })}\n </Styled.SignupText>\n )}\n {splashBtnVisible && (\n <Styled.SignupBtn\n label=\"Let’s start\"\n renderAs=\"secondary\"\n marginTop={24}\n width={144}\n isVisible={true}\n onClick={() => {\n goToNextStep();\n setSplashTxtVisible(false);\n setSplashBtnVisible(false);\n }}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n isProgressAnimationRequired: false,\n };\n\n const gradeStep: ICircularSteps = {\n id: 'step-1',\n label: 'What’s your school grade?',\n custEle: null,\n custEleInsideStep: <GradeInputBox gradeInfo={grade} showSpinner={showSpinner} />,\n background: (\n <Image\n src={ILLUSTRATIONS.GRADE_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <SelectUserGrade\n grades={GRADES}\n selected={grade?.key || null}\n onSelect={_grade => handleGradeSelect(_grade)}\n onNext={goToNextStep}\n />\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const usernameStep: ICircularSteps = {\n id: 'step-2',\n label: isPLAStudent ? `Create a unique username\\nfor your child` : 'Claim your unique alias',\n custEle: null,\n custEleInsideStep: (\n <UsernameInput\n username={username}\n circleUsername={circleUsername}\n isEdit={false}\n error={error}\n setError={setError}\n showSpinner={showSpinner}\n setShowSpinner={setShowSpinner}\n setUsername={setUsername}\n />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_PROFILE_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n {username !== '' && (\n <Styled.SignupBtn\n label=\"Next\"\n disabled={showSpinner || error !== ''}\n renderAs=\"secondary\"\n onClick={() => handleUsernameSubmit()}\n marginTop={88}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const trialScreenStep: ICircularSteps = {\n id: 'step-3',\n label: null,\n custEle: null,\n custEleInsideStep: (\n <Styled.SmileyImage src={ILLUSTRATIONS.SMILEY} height={'100%'} width={'100%'} alt=\"play\" />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_CROWN_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n {isPLAStudent ? (\n <FlexView>\n <Text $renderAs=\"ac4-black\" $align=\"center\" $color=\"GREEN_4\">\n Premium access unlocked!\n </Text>\n <Separator height={12} />\n <Text $renderAs=\"ub2\" $color=\"WHITE\">\n Your child can directly login to leap.cuemath.com using “\n <Text $color=\"GREEN_4\" $renderAs=\"ub2\" $inline>\n {username}\n </Text>\n ” as both username and password.\n </Text>\n </FlexView>\n ) : (\n <FlexView>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.primaryText}\n {circleOnLeapPremiumDays && (\n <Styled.ThemeText> {circleOnLeapPremiumDays} days of FREE</Styled.ThemeText>\n )}\n </Text>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.secondaryText}\n </Text>\n </FlexView>\n )}\n {isSignUpProcessing ? (\n <Spinner marginY={24} />\n ) : (\n <Styled.SignupBtn\n label=\"Woohoo! Let me in!\"\n renderAs=\"secondary\"\n marginTop={24}\n width={250}\n onClick={() => goToNextStep()}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: isSignUpProcessing ? undefined : goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const SignupProps: ICircularStepsProps = {\n steps: isPLAStudent\n ? [splashScreenStep, usernameStep, trialScreenStep]\n : [splashScreenStep, gradeStep, usernameStep, trialScreenStep],\n currentStepIndex: 0,\n dimensions: { width: CONTAINER_WIDTH, height: CONTAINER_HEIGHT },\n };\n\n // Reset states on unmount\n useEffect(() => {\n return () => {\n setShowSpinner(false);\n setUsername('');\n setGrade(null);\n setError('');\n };\n }, []);\n\n return (\n <>\n <Styled.BackgroundOverlay />\n <Styled.SignUpWrapper>\n <Styled.SignUpContainer>\n <CircularSteps {...SignupProps} currentStepIndex={currentStepIndex} />\n </Styled.SignUpContainer>\n </Styled.SignUpWrapper>\n </>\n );\n};\n"],"names":["SignUp","mathGymEnrolledUser","circleEnrolledUser","circleOnLeapPremiumDays","circleUsername","countryCode","defaultGrade","state","circleOnLeapPremiumEnabled","studentId","isSignUpProcessing","onCreateUser","onUpdateUser","onSignupStepsComplete","isPLAStudent","currentStepIndex","setCurrentStepIndex","useState","username","setUsername","error","setError","grade","setGrade","GRADES","g","showSpinner","setShowSpinner","trialScreenContent","getTrialScreenUsername","userCreateUpdateResponseData","useRef","splashBtnVisible","setSplashBtnVisible","splashTxtVisible","setSplashTxtVisible","handleCreateUserResponse","data","goToNextStep","ErrorMessage","handleUpdateUserResponse","handleUpdateUsernameResponse","createUser","useCreateUserDal","updateUser","useUpdateUserDal","updateUsername","useUpdateUsernameDal","onSplashScreenBgAnimationComplete","handleGradeSelect","_grade","handleUsernameSubmit","useCallback","prev","SignupProps","goToPrevStep","splashScreenStep","jsx","SplashScreen","Styled.BottomButtonContainer","Styled.SignupText","Styled.SignupBtn","gradeStep","GradeInputBox","Image","ILLUSTRATIONS","SelectUserGrade","usernameStep","UsernameInput","trialScreenStep","Styled.SmileyImage","jsxs","FlexView","Text","Separator","Styled.ThemeText","Spinner","CONTAINER_WIDTH","CONTAINER_HEIGHT","useEffect","Fragment","Styled.BackgroundOverlay","Styled.SignUpWrapper","Styled.SignUpContainer","CircularSteps"],"mappings":"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"}
1
+ {"version":3,"file":"sign-up.js","sources":["../../../../src/features/circle-games/sign-up/sign-up.tsx"],"sourcesContent":["import type {\n ICircularSteps,\n ICircularStepsProps,\n} from './comp/circular-steps/circular-steps-types';\nimport type { Grade } from './comp/grade-input/grade-input-types';\nimport type { ICreateUserResponseDal } from './dal/create-user-dal/create-user-dal-types';\nimport type { IUpdateUserPayloadDal } from './dal/update-user-dal/update-user-dal-types';\nimport type { ISignUpProps } from './sign-up-types';\n\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport Image from '../../ui/image/image';\nimport Text from '../../ui/text/text';\nimport { CircularSteps } from './comp/circular-steps/circular-steps';\nimport { GradeInputBox, SelectUserGrade } from './comp/select-user-grade/select-user-grade';\nimport { Spinner } from './comp/spinner/spinner';\nimport { SplashScreen } from './comp/splash-screen/splash-screen';\nimport { ErrorMessage } from './comp/username-input/constants';\nimport { UsernameInput } from './comp/username-input/username-input';\nimport { CONTAINER_HEIGHT, CONTAINER_WIDTH, GRADES } from './constants';\nimport { useCreateUserDal } from './dal/create-user-dal/create-user-dal';\nimport { useUpdateUserDal } from './dal/update-user-dal/update-user-dal';\nimport { getSplashScreenText, getTrialScreenUsername } from './helper';\nimport * as Styled from './sign-up-styled';\n\nexport const SignUp = ({\n mathGymEnrolledUser,\n circleEnrolledUser,\n circleOnLeapPremiumDays,\n circleUsername,\n countryCode,\n grade: defaultGrade,\n state,\n circleOnLeapPremiumEnabled,\n studentId,\n isSignUpProcessing,\n onCreateUser,\n onUpdateUser,\n onSignupStepsComplete,\n}: ISignUpProps) => {\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const [username, setUsername] = useState(circleUsername);\n const [error, setError] = useState('');\n const [grade, setGrade] = useState<Grade | null>(\n GRADES.find(g => g.key === defaultGrade) ?? null,\n );\n const [showSpinner, setShowSpinner] = useState(false);\n const trialScreenContent = getTrialScreenUsername(state);\n\n const userCreateUpdateResponseData = useRef<\n ICreateUserResponseDal | IUpdateUserPayloadDal | null\n >(null);\n\n const [splashBtnVisible, setSplashBtnVisible] = useState(false);\n const [splashTxtVisible, setSplashTxtVisible] = useState(false);\n\n const handleCreateUserResponse = (data: ICreateUserResponseDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onCreateUser && onCreateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n const handleUpdateUserResponse = (data: IUpdateUserPayloadDal | null) => {\n setShowSpinner(false);\n if (data) {\n userCreateUpdateResponseData.current = data;\n setUsername(data.username);\n onUpdateUser && onUpdateUser(data);\n goToNextStep();\n } else {\n setError(ErrorMessage.SOMETHING_WENT_WRONG);\n }\n };\n\n const { createUser } = useCreateUserDal(handleCreateUserResponse);\n const { updateUser } = useUpdateUserDal(handleUpdateUserResponse);\n\n // Animate the text and btns after the splash animation is completed in splash screen\n const onSplashScreenBgAnimationComplete = () => {\n setSplashTxtVisible(true);\n setTimeout(() => {\n setSplashBtnVisible(true);\n }, 500);\n };\n\n const handleGradeSelect = async (_grade: Grade) => {\n setGrade(_grade);\n };\n\n const handleUsernameSubmit = useCallback(async () => {\n setShowSpinner(true);\n if (error !== '') {\n return;\n }\n\n if (circleUsername === '' || circleUsername === undefined || circleUsername === null) {\n createUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n countryCode,\n studentId,\n });\n } else {\n updateUser({\n circleOnLeapPremiumEnabled,\n grade: grade?.key || '',\n username,\n studentId,\n });\n }\n }, [\n circleOnLeapPremiumEnabled,\n circleUsername,\n countryCode,\n createUser,\n error,\n grade?.key,\n studentId,\n updateUser,\n username,\n ]);\n\n const goToNextStep = () => {\n setCurrentStepIndex(prev => {\n if (prev === SignupProps.steps.length - 1) {\n onSignupStepsComplete(userCreateUpdateResponseData.current);\n\n return prev;\n }\n\n return prev + 1;\n });\n };\n\n const goToPrevStep = () => {\n if (showSpinner) {\n return;\n }\n setCurrentStepIndex(prev => {\n if (prev === 0) {\n return prev;\n }\n\n return prev - 1;\n });\n };\n\n const splashScreenStep: ICircularSteps = {\n id: 'step-0',\n label: null,\n custEle: null,\n custEleInsideStep: null,\n background: <SplashScreen animationCompleted={onSplashScreenBgAnimationComplete} />,\n custEleBelowStep: (\n <Styled.BottomButtonContainer paddingX={mathGymEnrolledUser && circleEnrolledUser ? 1 : 2.5}>\n {splashTxtVisible && (\n <Styled.SignupText $renderAs=\"ab2\" $color=\"WHITE\" $align=\"center\">\n {getSplashScreenText({ state, circleEnrolledUser, mathGymEnrolledUser })}\n </Styled.SignupText>\n )}\n {splashBtnVisible && (\n <Styled.SignupBtn\n label=\"Let’s start\"\n renderAs=\"secondary\"\n marginTop={24}\n width={144}\n isVisible={true}\n onClick={() => {\n goToNextStep();\n setSplashTxtVisible(false);\n setSplashBtnVisible(false);\n }}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n isProgressAnimationRequired: false,\n };\n\n const gradeStep: ICircularSteps = {\n id: 'step-1',\n label: 'What’s your school grade?',\n custEle: null,\n custEleInsideStep: <GradeInputBox gradeInfo={grade} showSpinner={showSpinner} />,\n background: (\n <Image\n src={ILLUSTRATIONS.GRADE_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <SelectUserGrade\n grades={GRADES}\n selected={grade?.key || null}\n onSelect={_grade => handleGradeSelect(_grade)}\n onNext={goToNextStep}\n />\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const usernameStep: ICircularSteps = {\n id: 'step-2',\n label: 'Claim your unique alias',\n custEle: null,\n custEleInsideStep: (\n <UsernameInput\n username={username}\n circleUsername={circleUsername}\n isEdit={false}\n error={error}\n setError={setError}\n showSpinner={showSpinner}\n setShowSpinner={setShowSpinner}\n setUsername={setUsername}\n />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_PROFILE_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n {username !== '' && (\n <Styled.SignupBtn\n label=\"Next\"\n disabled={showSpinner || error !== ''}\n renderAs=\"secondary\"\n onClick={() => handleUsernameSubmit()}\n marginTop={88}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const trialScreenStep: ICircularSteps = {\n id: 'step-3',\n label: null,\n custEle: null,\n custEleInsideStep: (\n <Styled.SmileyImage src={ILLUSTRATIONS.SMILEY} height={'100%'} width={'100%'} alt=\"play\" />\n ),\n background: (\n <Image\n src={ILLUSTRATIONS.USER_CROWN_GRID_BACKGROUND}\n height={'100%'}\n width={'100%'}\n withLoader={false}\n alt=\"play\"\n />\n ),\n custEleBelowStep: (\n <Styled.BottomButtonContainer>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.primaryText}\n {circleOnLeapPremiumDays && (\n <Styled.ThemeText> {circleOnLeapPremiumDays} days of FREE</Styled.ThemeText>\n )}\n </Text>\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n {trialScreenContent.secondaryText}\n </Text>\n {isSignUpProcessing ? (\n <Spinner marginY={24} />\n ) : (\n <Styled.SignupBtn\n label=\"Woohoo! Let me in!\"\n renderAs=\"secondary\"\n marginTop={24}\n width={250}\n onClick={() => goToNextStep()}\n />\n )}\n </Styled.BottomButtonContainer>\n ),\n onBack: isSignUpProcessing ? undefined : goToPrevStep,\n isProgressAnimationRequired: true,\n };\n\n const SignupProps: ICircularStepsProps = {\n steps: [splashScreenStep, gradeStep, usernameStep, trialScreenStep],\n currentStepIndex: 0,\n dimensions: { width: CONTAINER_WIDTH, height: CONTAINER_HEIGHT },\n };\n\n // Reset states on unmount\n useEffect(() => {\n return () => {\n setShowSpinner(false);\n setUsername('');\n setGrade(null);\n setError('');\n };\n }, []);\n\n return (\n <>\n <Styled.BackgroundOverlay />\n <Styled.SignUpWrapper>\n <Styled.SignUpContainer>\n <CircularSteps {...SignupProps} currentStepIndex={currentStepIndex} />\n </Styled.SignUpContainer>\n </Styled.SignUpWrapper>\n </>\n );\n};\n"],"names":["SignUp","mathGymEnrolledUser","circleEnrolledUser","circleOnLeapPremiumDays","circleUsername","countryCode","defaultGrade","state","circleOnLeapPremiumEnabled","studentId","isSignUpProcessing","onCreateUser","onUpdateUser","onSignupStepsComplete","currentStepIndex","setCurrentStepIndex","useState","username","setUsername","error","setError","grade","setGrade","GRADES","g","showSpinner","setShowSpinner","trialScreenContent","getTrialScreenUsername","userCreateUpdateResponseData","useRef","splashBtnVisible","setSplashBtnVisible","splashTxtVisible","setSplashTxtVisible","handleCreateUserResponse","data","goToNextStep","ErrorMessage","handleUpdateUserResponse","createUser","useCreateUserDal","updateUser","useUpdateUserDal","onSplashScreenBgAnimationComplete","handleGradeSelect","_grade","handleUsernameSubmit","useCallback","prev","SignupProps","goToPrevStep","splashScreenStep","jsx","SplashScreen","Styled.BottomButtonContainer","Styled.SignupText","Styled.SignupBtn","gradeStep","GradeInputBox","Image","ILLUSTRATIONS","SelectUserGrade","usernameStep","UsernameInput","trialScreenStep","Styled.SmileyImage","jsxs","Text","Styled.ThemeText","Spinner","CONTAINER_WIDTH","CONTAINER_HEIGHT","useEffect","Fragment","Styled.BackgroundOverlay","Styled.SignUpWrapper","Styled.SignUpContainer","CircularSteps"],"mappings":"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"}
@@ -1,26 +1,27 @@
1
- import { useCallback as H, useEffect as p, useMemo as O } from "react";
2
- import { useParentHomeGet as P } from "../api/parent-home.js";
3
- import { formatDate as b } from "../../../node_modules/date-fns/format.js";
4
- const k = (s) => {
1
+ import { useEffect as O, useMemo as P } from "react";
2
+ import { useParentHomeGet as C } from "../api/parent-home.js";
3
+ const T = ({
4
+ studentName: o,
5
+ studentServiceId: s
6
+ }) => {
5
7
  const {
6
- get: n,
7
- data: a,
8
- isStale: i,
9
- isProcessingFailed: m
10
- } = P(s), e = H(() => {
11
- s && n(s);
12
- }, [n, s]);
13
- return p(() => {
14
- e();
15
- }, [e]), p(() => {
16
- i && e();
17
- }, [e, i]), O(() => {
18
- var d;
19
- const { teacher_details: r = null, session_details: o } = a ?? {};
20
- if (!o)
8
+ get: t,
9
+ data: i,
10
+ isProcessing: a,
11
+ isProcessed: l,
12
+ isStale: m,
13
+ isProcessingFailed: r
14
+ } = C(s);
15
+ return O(() => {
16
+ s && (!a && !r && !l || m) && t(s);
17
+ }, [s, m, a, t, r, l]), P(() => {
18
+ const { teacher_details: c = null, session_details: n } = i ?? {};
19
+ if (!n)
21
20
  return {
22
21
  sessionDetails: null,
23
22
  teacherDetails: null,
23
+ studentName: o,
24
+ teacherName: "",
24
25
  isOnlyOneSessionCompleted: !1,
25
26
  isMoreThanOneSessionCompleted: !1,
26
27
  isDemoDone: !1,
@@ -28,40 +29,36 @@ const k = (s) => {
28
29
  completedSessions: 0,
29
30
  nextSessionEnd: 0,
30
31
  nextSessionStart: 0,
32
+ classStatus: void 0,
31
33
  upcomingSessions: [],
32
- showLoading: !0,
33
- isProcessingFailed: m,
34
- fetchData: e
34
+ showLoading: !0
35
35
  };
36
36
  const {
37
- completed_sessions: t = 0,
38
- next_session_end: u,
39
- next_session_start: l,
37
+ completed_sessions: e = 0,
38
+ next_session_end: p,
39
+ next_session_start: u,
40
40
  demo_class_status: S,
41
- upcoming_sessions: f = [],
42
- student_demo_id: _,
43
- user_attempt_id: D
44
- } = o, { first_name: h = "", last_name: x = "" } = r ?? {}, M = (d = `${h} ${x}`) == null ? void 0 : d.trim(), c = t > 0, g = c && t === 1, E = t > 1, C = b(l, "EEEE, MMM d 'at' h:mm a");
41
+ upcoming_sessions: _ = [],
42
+ student_demo_id: f
43
+ } = n, { first_name: D = "", last_name: g = "" } = c ?? {}, h = `${D} ${g}`.trim(), d = e > 0, x = d && e === 1, H = e > 1;
45
44
  return {
46
- sessionDetails: o,
47
- teacherDetails: r,
48
- teacherName: M,
49
- completedSessions: t,
50
- nextSessionEnd: u,
51
- nextSessionStart: l,
45
+ sessionDetails: n,
46
+ teacherDetails: c,
47
+ studentName: o,
48
+ teacherName: h,
49
+ completedSessions: e,
50
+ nextSessionEnd: p,
51
+ nextSessionStart: u,
52
52
  classStatus: S,
53
- upcomingSessions: f,
54
- isDemoDone: c,
55
- isOnlyOneSessionCompleted: g,
56
- isMoreThanOneSessionCompleted: E,
57
- demoId: _,
58
- userAttemptId: D,
59
- fetchData: e,
60
- formattedNextSessionStart: C
53
+ upcomingSessions: _,
54
+ isDemoDone: d,
55
+ isOnlyOneSessionCompleted: x,
56
+ isMoreThanOneSessionCompleted: H,
57
+ demoId: f
61
58
  };
62
- }, [e, m, a]);
59
+ }, [i, o]);
63
60
  };
64
61
  export {
65
- k as default
62
+ T as default
66
63
  };
67
64
  //# sourceMappingURL=use-parent-home-data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-parent-home-data.js","sources":["../../../../src/features/parent-dashboard/hooks/use-parent-home-data.ts"],"sourcesContent":["import type { TSession } from '../../trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types';\nimport type { EClassStatus, ISessionDetails, ITeacherDetails } from '../parent-dashboard-types';\n\nimport { format } from 'date-fns';\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport { useParentHomeGet } from '../api/parent-home';\n\ninterface IUseParentHomeDataReturn {\n sessionDetails: ISessionDetails | null;\n teacherDetails: ITeacherDetails | null;\n completedSessions: number;\n nextSessionEnd: number;\n nextSessionStart: number;\n classStatus?: EClassStatus | null;\n teacherName?: string;\n upcomingSessions?: TSession[];\n isDemoDone: boolean;\n isOnlyOneSessionCompleted: boolean;\n isMoreThanOneSessionCompleted: boolean;\n showLoading?: boolean;\n demoId?: string;\n userAttemptId?: string;\n isProcessingFailed?: boolean;\n fetchData: () => void;\n formattedNextSessionStart?: string;\n}\n\nconst useParentHomeData = (studentId: string): IUseParentHomeDataReturn => {\n const {\n get: getParentHome,\n data: parentHomeData,\n isStale,\n isProcessingFailed,\n } = useParentHomeGet(studentId);\n\n const fetchData = useCallback(() => {\n studentId && getParentHome(studentId);\n }, [getParentHome, studentId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n useEffect(() => {\n if (isStale) {\n fetchData();\n }\n }, [fetchData, isStale]);\n\n const parentHomeDataMemoised = useMemo(() => {\n const { teacher_details: teacherDetails = null, session_details: sessionDetails } =\n parentHomeData ?? {};\n\n if (!sessionDetails) {\n return {\n sessionDetails: null,\n teacherDetails: null,\n isOnlyOneSessionCompleted: false,\n isMoreThanOneSessionCompleted: false,\n isDemoDone: false,\n isSubscriptionCancelled: false,\n completedSessions: 0,\n nextSessionEnd: 0,\n nextSessionStart: 0,\n upcomingSessions: [],\n showLoading: true,\n isProcessingFailed,\n fetchData,\n };\n }\n\n const {\n completed_sessions: completedSessions = 0,\n next_session_end: nextSessionEnd,\n next_session_start: nextSessionStart,\n demo_class_status: classStatus,\n upcoming_sessions: upcomingSessions = [],\n student_demo_id: demoId,\n user_attempt_id: userAttemptId,\n } = sessionDetails;\n\n const { first_name = '', last_name = '' } = teacherDetails ?? {};\n const teacherName = `${first_name} ${last_name}`?.trim();\n\n const isDemoDone = completedSessions > 0;\n const isOnlyOneSessionCompleted = isDemoDone && completedSessions === 1;\n const isMoreThanOneSessionCompleted = completedSessions > 1;\n\n const formattedNextSessionStart = format(nextSessionStart, \"EEEE, MMM d 'at' h:mm a\");\n\n return {\n sessionDetails,\n teacherDetails,\n teacherName,\n completedSessions,\n nextSessionEnd,\n nextSessionStart,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n demoId,\n userAttemptId,\n fetchData,\n formattedNextSessionStart,\n };\n }, [fetchData, isProcessingFailed, parentHomeData]);\n\n return parentHomeDataMemoised;\n};\n\nexport default useParentHomeData;\n"],"names":["useParentHomeData","studentId","getParentHome","parentHomeData","isStale","isProcessingFailed","useParentHomeGet","fetchData","useCallback","useEffect","useMemo","teacherDetails","sessionDetails","completedSessions","nextSessionEnd","nextSessionStart","classStatus","upcomingSessions","demoId","userAttemptId","first_name","last_name","teacherName","_a","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted","formattedNextSessionStart","format"],"mappings":";;;AA4BM,MAAAA,IAAoB,CAACC,MAAgD;AACnE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,SAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAiBL,CAAS,GAExBM,IAAYC,EAAY,MAAM;AAClC,IAAAP,KAAaC,EAAcD,CAAS;AAAA,EAAA,GACnC,CAACC,GAAeD,CAAS,CAAC;AAE7B,SAAAQ,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEdE,EAAU,MAAM;AACd,IAAIL,KACQG;EACZ,GACC,CAACA,GAAWH,CAAO,CAAC,GAEQM,EAAQ,MAAM;;AACrC,UAAA,EAAE,iBAAiBC,IAAiB,MAAM,iBAAiBC,EAAe,IAC9ET,KAAkB;AAEpB,QAAI,CAACS;AACI,aAAA;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,2BAA2B;AAAA,QAC3B,+BAA+B;AAAA,QAC/B,YAAY;AAAA,QACZ,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,QAClB,kBAAkB,CAAC;AAAA,QACnB,aAAa;AAAA,QACb,oBAAAP;AAAA,QACA,WAAAE;AAAA,MAAA;AAIE,UAAA;AAAA,MACJ,oBAAoBM,IAAoB;AAAA,MACxC,kBAAkBC;AAAA,MAClB,oBAAoBC;AAAA,MACpB,mBAAmBC;AAAA,MACnB,mBAAmBC,IAAmB,CAAC;AAAA,MACvC,iBAAiBC;AAAA,MACjB,iBAAiBC;AAAA,IACf,IAAAP,GAEE,EAAE,YAAAQ,IAAa,IAAI,WAAAC,IAAY,GAAG,IAAIV,KAAkB,IACxDW,KAAcC,IAAA,GAAGH,CAAU,IAAIC,CAAS,OAA1B,gBAAAE,EAA8B,QAE5CC,IAAaX,IAAoB,GACjCY,IAA4BD,KAAcX,MAAsB,GAChEa,IAAgCb,IAAoB,GAEpDc,IAA4BC,EAAOb,GAAkB,yBAAyB;AAE7E,WAAA;AAAA,MACL,gBAAAH;AAAA,MACA,gBAAAD;AAAA,MACA,aAAAW;AAAA,MACA,mBAAAT;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,YAAAO;AAAA,MACA,2BAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,QAAAR;AAAA,MACA,eAAAC;AAAA,MACA,WAAAZ;AAAA,MACA,2BAAAoB;AAAA,IAAA;AAAA,EAED,GAAA,CAACpB,GAAWF,GAAoBF,CAAc,CAAC;AAGpD;"}
1
+ {"version":3,"file":"use-parent-home-data.js","sources":["../../../../src/features/parent-dashboard/hooks/use-parent-home-data.ts"],"sourcesContent":["import type { TSession } from '../../trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types';\nimport type { EClassStatus, ISessionDetails, ITeacherDetails } from '../parent-dashboard-types';\n\nimport { useEffect, useMemo } from 'react';\n\nimport { useParentHomeGet } from '../api/parent-home';\n\ninterface IUseParentHomeData {\n studentName: string;\n studentServiceId: string;\n}\ninterface IUseParentHomeDataReturn {\n sessionDetails: ISessionDetails | null;\n teacherDetails: ITeacherDetails | null;\n completedSessions: number;\n nextSessionEnd: number;\n nextSessionStart: number;\n classStatus?: EClassStatus | null;\n teacherName: string;\n upcomingSessions?: TSession[];\n isDemoDone: boolean;\n isOnlyOneSessionCompleted: boolean;\n isMoreThanOneSessionCompleted: boolean;\n showLoading?: boolean;\n demoId?: string;\n}\n\nconst useParentHomeData = ({\n studentName,\n studentServiceId,\n}: IUseParentHomeData): IUseParentHomeDataReturn => {\n const {\n get: getParentHome,\n data: parentHomeData,\n isProcessing,\n isProcessed,\n isStale,\n isProcessingFailed,\n } = useParentHomeGet(studentServiceId);\n\n useEffect(() => {\n if (studentServiceId && ((!isProcessing && !isProcessingFailed && !isProcessed) || isStale)) {\n getParentHome(studentServiceId);\n }\n }, [studentServiceId, isStale, isProcessing, getParentHome, isProcessingFailed, isProcessed]);\n\n const parentHomeDataMemoised = useMemo(() => {\n const { teacher_details: teacherDetails = null, session_details: sessionDetails } =\n parentHomeData ?? {};\n\n if (!sessionDetails) {\n return {\n sessionDetails: null,\n teacherDetails: null,\n studentName,\n teacherName: '',\n isOnlyOneSessionCompleted: false,\n isMoreThanOneSessionCompleted: false,\n isDemoDone: false,\n isSubscriptionCancelled: false,\n completedSessions: 0,\n nextSessionEnd: 0,\n nextSessionStart: 0,\n classStatus: undefined,\n upcomingSessions: [],\n showLoading: true,\n };\n }\n\n const {\n completed_sessions: completedSessions = 0,\n next_session_end: nextSessionEnd,\n next_session_start: nextSessionStart,\n demo_class_status: classStatus,\n upcoming_sessions: upcomingSessions = [],\n student_demo_id: demoId,\n } = sessionDetails;\n\n const { first_name = '', last_name = '' } = teacherDetails ?? {};\n const teacherName = `${first_name} ${last_name}`.trim();\n\n const isDemoDone = completedSessions > 0;\n const isOnlyOneSessionCompleted = isDemoDone && completedSessions === 1;\n const isMoreThanOneSessionCompleted = completedSessions > 1;\n\n return {\n sessionDetails,\n teacherDetails,\n studentName,\n teacherName,\n completedSessions,\n nextSessionEnd,\n nextSessionStart,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n demoId,\n };\n }, [parentHomeData, studentName]);\n\n return parentHomeDataMemoised;\n};\n\nexport default useParentHomeData;\n"],"names":["useParentHomeData","studentName","studentServiceId","getParentHome","parentHomeData","isProcessing","isProcessed","isStale","isProcessingFailed","useParentHomeGet","useEffect","useMemo","teacherDetails","sessionDetails","completedSessions","nextSessionEnd","nextSessionStart","classStatus","upcomingSessions","demoId","first_name","last_name","teacherName","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted"],"mappings":";;AA2BA,MAAMA,IAAoB,CAAC;AAAA,EACzB,aAAAC;AAAA,EACA,kBAAAC;AACF,MAAoD;AAC5C,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAiBP,CAAgB;AAErC,SAAAQ,EAAU,MAAM;AACd,IAAIR,MAAsB,CAACG,KAAgB,CAACG,KAAsB,CAACF,KAAgBC,MACjFJ,EAAcD,CAAgB;AAAA,EAChC,GACC,CAACA,GAAkBK,GAASF,GAAcF,GAAeK,GAAoBF,CAAW,CAAC,GAE7DK,EAAQ,MAAM;AACrC,UAAA,EAAE,iBAAiBC,IAAiB,MAAM,iBAAiBC,EAAe,IAC9ET,KAAkB;AAEpB,QAAI,CAACS;AACI,aAAA;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,aAAAZ;AAAA,QACA,aAAa;AAAA,QACb,2BAA2B;AAAA,QAC3B,+BAA+B;AAAA,QAC/B,YAAY;AAAA,QACZ,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,QAClB,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,QACnB,aAAa;AAAA,MAAA;AAIX,UAAA;AAAA,MACJ,oBAAoBa,IAAoB;AAAA,MACxC,kBAAkBC;AAAA,MAClB,oBAAoBC;AAAA,MACpB,mBAAmBC;AAAA,MACnB,mBAAmBC,IAAmB,CAAC;AAAA,MACvC,iBAAiBC;AAAA,IACf,IAAAN,GAEE,EAAE,YAAAO,IAAa,IAAI,WAAAC,IAAY,GAAG,IAAIT,KAAkB,IACxDU,IAAc,GAAGF,CAAU,IAAIC,CAAS,GAAG,QAE3CE,IAAaT,IAAoB,GACjCU,IAA4BD,KAAcT,MAAsB,GAChEW,IAAgCX,IAAoB;AAEnD,WAAA;AAAA,MACL,gBAAAD;AAAA,MACA,gBAAAD;AAAA,MACA,aAAAX;AAAA,MACA,aAAAqB;AAAA,MACA,mBAAAR;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,YAAAK;AAAA,MACA,2BAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,QAAAN;AAAA,IAAA;AAAA,EACF,GACC,CAACf,GAAgBH,CAAW,CAAC;AAGlC;"}
@@ -1,6 +1,5 @@
1
- var N = /* @__PURE__ */ ((_) => (_.S_NO_SHOW = "S_NO_SHOW", _.T_NO_SHOW = "T_NO_SHOW", _))(N || {}), O = /* @__PURE__ */ ((_) => (_.STUDENT_PROFILE = "studentProfile", _.INSIGHTS = "insights", _.LEARNING_PLAN = "learningPlan", _))(O || {});
1
+ var _ = /* @__PURE__ */ ((O) => (O.S_NO_SHOW = "S_NO_SHOW", O.T_NO_SHOW = "T_NO_SHOW", O))(_ || {});
2
2
  export {
3
- N as EClassStatus,
4
- O as ESummaryType
3
+ _ as EClassStatus
5
4
  };
6
5
  //# sourceMappingURL=parent-dashboard-types.js.map