@cuemath/leap 3.3.24-link.2 → 3.3.24

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 (132) hide show
  1. package/dist/features/auth/account-selector/account-selector-styled.js +5 -6
  2. package/dist/features/auth/account-selector/account-selector-styled.js.map +1 -1
  3. package/dist/features/auth/account-selector/account-selector.js +57 -51
  4. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  5. package/dist/features/auth/comps/user-list/user-list-styled.js +2 -3
  6. package/dist/features/auth/comps/user-list/user-list-styled.js.map +1 -1
  7. package/dist/features/auth/pla-signup/pla-analytics-events.js +3 -9
  8. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  9. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  10. package/dist/features/auth/signup/custom-input-field/custom-input-field.js +8 -8
  11. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  12. package/dist/features/journey/use-journey/use-journey.js +6 -18
  13. package/dist/features/journey/use-journey/use-journey.js.map +1 -1
  14. package/dist/features/milestone/create/milestone-create-helpers.js +7 -13
  15. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  16. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +34 -40
  17. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  18. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +3 -3
  19. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -1
  20. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  21. package/dist/features/parent-dashboard/parent-dashboard-view.js +138 -161
  22. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  23. package/dist/features/stickers/constants.js +235 -0
  24. package/dist/features/stickers/constants.js.map +1 -0
  25. package/dist/features/{ui/sticker-grid/sticker-grid-styles.js → stickers/sticker-selector/comps/sticker/sticker-styled.js} +15 -45
  26. package/dist/features/stickers/sticker-selector/comps/sticker/sticker-styled.js.map +1 -0
  27. package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js +49 -0
  28. package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js.map +1 -0
  29. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid-styled.js +28 -0
  30. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid-styled.js.map +1 -0
  31. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js +26 -0
  32. package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js.map +1 -0
  33. package/dist/features/stickers/sticker-selector/sticker-selector-styled.js +13 -0
  34. package/dist/features/stickers/sticker-selector/sticker-selector-styled.js.map +1 -0
  35. package/dist/features/stickers/sticker-selector/sticker-selector.js +86 -0
  36. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -0
  37. package/dist/features/stickers/stickers-effects/stickers-effects-animations.js +82 -0
  38. package/dist/features/stickers/stickers-effects/stickers-effects-animations.js.map +1 -0
  39. package/dist/features/stickers/stickers-effects/stickers-effects-cache.js +19 -0
  40. package/dist/features/stickers/stickers-effects/stickers-effects-cache.js.map +1 -0
  41. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js +105 -0
  42. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -0
  43. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +37 -0
  44. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -0
  45. package/dist/features/stickers/stickers-effects/stickers-effects.js +67 -0
  46. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -0
  47. package/dist/features/trial-session/comps/class-preference/class-preference.js +49 -61
  48. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  49. package/dist/features/trial-session/comps/session-report/session-report.js +15 -15
  50. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  51. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js +0 -5
  52. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  53. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +51 -96
  54. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  55. package/dist/features/trial-session/comps/student-profile/student-profile.js +63 -70
  56. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  57. package/dist/features/trial-session/helper.js +54 -71
  58. package/dist/features/trial-session/helper.js.map +1 -1
  59. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +130 -149
  60. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  61. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  62. package/dist/features/trial-session/trial-session-view.js +98 -107
  63. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  64. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +88 -75
  65. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
  66. package/dist/features/ui/lottie-animation/lottie-animation.js +55 -46
  67. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  68. package/dist/features/ui/modals/modal-styled.js +48 -15
  69. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  70. package/dist/features/ui/modals/modal.js +46 -38
  71. package/dist/features/ui/modals/modal.js.map +1 -1
  72. package/dist/index.d.ts +71 -66
  73. package/dist/index.js +391 -401
  74. package/dist/index.js.map +1 -1
  75. package/package.json +3 -2
  76. package/dist/features/auth/account-selector/comps/compact-header/account-selector-header.js +0 -31
  77. package/dist/features/auth/account-selector/comps/compact-header/account-selector-header.js.map +0 -1
  78. package/dist/features/parent-dashboard/api/cancel-subscription.js +0 -9
  79. package/dist/features/parent-dashboard/api/cancel-subscription.js.map +0 -1
  80. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js +0 -20
  81. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js.map +0 -1
  82. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js +0 -96
  83. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +0 -1
  84. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js +0 -21
  85. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js.map +0 -1
  86. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js +0 -80
  87. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +0 -1
  88. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js +0 -23
  89. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js.map +0 -1
  90. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js +0 -55
  91. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js.map +0 -1
  92. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js +0 -59
  93. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js.map +0 -1
  94. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js +0 -93
  95. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +0 -1
  96. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js +0 -63
  97. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +0 -1
  98. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js +0 -65
  99. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js.map +0 -1
  100. package/dist/features/student-username/add/add-student-username-constants.js +0 -6
  101. package/dist/features/student-username/add/add-student-username-constants.js.map +0 -1
  102. package/dist/features/student-username/add/add-student-username-helpers.js +0 -6
  103. package/dist/features/student-username/add/add-student-username-helpers.js.map +0 -1
  104. package/dist/features/student-username/add/add-student-username-styled.js +0 -10
  105. package/dist/features/student-username/add/add-student-username-styled.js.map +0 -1
  106. package/dist/features/student-username/add/add-student-username.js +0 -78
  107. package/dist/features/student-username/add/add-student-username.js.map +0 -1
  108. package/dist/features/student-username/add/api/update-username.js +0 -9
  109. package/dist/features/student-username/add/api/update-username.js.map +0 -1
  110. package/dist/features/student-username/add/api/username-availability.js +0 -10
  111. package/dist/features/student-username/add/api/username-availability.js.map +0 -1
  112. package/dist/features/student-username/add/hooks/use-check-username-availability.js +0 -41
  113. package/dist/features/student-username/add/hooks/use-check-username-availability.js.map +0 -1
  114. package/dist/features/trial-session/api/teacher-availability.js +0 -9
  115. package/dist/features/trial-session/api/teacher-availability.js.map +0 -1
  116. package/dist/features/trial-session/comps/class-preference/helpers.js +0 -28
  117. package/dist/features/trial-session/comps/class-preference/helpers.js.map +0 -1
  118. package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +0 -1
  119. package/dist/features/ui/sticker-grid/sticker-grid.js +0 -24
  120. package/dist/features/ui/sticker-grid/sticker-grid.js.map +0 -1
  121. package/dist/features/ui/sticker-grid/sticker.js +0 -57
  122. package/dist/features/ui/sticker-grid/sticker.js.map +0 -1
  123. package/dist/features/ui/stickers/constants.js +0 -6
  124. package/dist/features/ui/stickers/constants.js.map +0 -1
  125. package/dist/features/ui/stickers/stickers-effects.js +0 -64
  126. package/dist/features/ui/stickers/stickers-effects.js.map +0 -1
  127. package/dist/features/ui/stickers/stickers-styled.js +0 -29
  128. package/dist/features/ui/stickers/stickers-styled.js.map +0 -1
  129. package/dist/features/ui/stickers/stickers-utils.js +0 -91
  130. package/dist/features/ui/stickers/stickers-utils.js.map +0 -1
  131. package/dist/features/ui/stickers/stickers.js +0 -40
  132. package/dist/features/ui/stickers/stickers.js.map +0 -1
@@ -1,231 +1,208 @@
1
- import { jsxs as o, jsx as r } from "react/jsx-runtime";
2
- import { memo as nr, useCallback as t, useMemo as ar } from "react";
3
- import { useTheme as ir } from "styled-components";
4
- import sr from "../auth/pla-signup/onboarding-guide/onboarding-guide.js";
5
- import lr from "../auth/pla-signup/signup-header/signup-header.js";
6
- import cr from "../trial-session/comps/pla/next-steps/next-steps.js";
7
- import mr from "../trial-session/comps/pla/session-status/session-status.js";
8
- import hr from "../trial-session/comps/pla/session-summary/session-summary.js";
9
- import pr from "../trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js";
10
- import V from "../trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js";
11
- import dr from "../ui/buttons/button/button.js";
12
- import ur from "../ui/buttons/text-button/text-button.js";
13
- import fr from "../ui/error/error.js";
14
- import n from "../ui/layout/flex-view.js";
15
- import gr from "../ui/loader/app-loader/app-loader.js";
16
- import a from "../ui/separator/separator.js";
17
- import X from "../ui/text/text.js";
18
- import { EDeviceType as Sr } from "../ui/theme/constants.js";
19
- import xr from "./comps/billing-information/billing-information.js";
20
- import br from "./comps/compact-header/compact-header.js";
21
- import Lr from "./comps/cuemath-app-features/cuemath-app-features.js";
22
- import Pr from "./comps/math-practice/math-practice.js";
23
- import Cr from "./comps/parent-dashboard-faqs/parent-dashboard-faqs.js";
24
- import Tr from "./hooks/use-parent-home-data.js";
25
- import $r from "./hooks/use-student-profile-summary-data.js";
26
- import { usePLAModalHandlers as Dr } from "./modals/hooks/use-pla-model-handlers.js";
27
- import { MOBILE_SPACING as Mr, DESKTOP_SPACING as yr } from "./parent-dashboard-constants.js";
28
- import { MathPracticeWrapper as Ar, Container as Or, ContentWrapper as Ir } from "./parent-dashboard-styled.js";
29
- const ae = nr(
1
+ import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
+ import { memo as ee, useCallback as t, useMemo as re } from "react";
3
+ import { useTheme as te } from "styled-components";
4
+ import oe from "../auth/pla-signup/onboarding-guide/onboarding-guide.js";
5
+ import ae from "../auth/pla-signup/signup-header/signup-header.js";
6
+ import ne from "../trial-session/comps/pla/next-steps/next-steps.js";
7
+ import ie from "../trial-session/comps/pla/session-status/session-status.js";
8
+ import se from "../trial-session/comps/pla/session-summary/session-summary.js";
9
+ import le from "../trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js";
10
+ import G from "../trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js";
11
+ import ce from "../ui/buttons/button/button.js";
12
+ import me from "../ui/buttons/text-button/text-button.js";
13
+ import he from "../ui/error/error.js";
14
+ import a from "../ui/layout/flex-view.js";
15
+ import pe from "../ui/loader/app-loader/app-loader.js";
16
+ import n from "../ui/separator/separator.js";
17
+ import K from "../ui/text/text.js";
18
+ import { EDeviceType as de } from "../ui/theme/constants.js";
19
+ import ue from "./comps/compact-header/compact-header.js";
20
+ import fe from "./comps/cuemath-app-features/cuemath-app-features.js";
21
+ import ge from "./comps/math-practice/math-practice.js";
22
+ import Se from "./comps/parent-dashboard-faqs/parent-dashboard-faqs.js";
23
+ import xe from "./hooks/use-parent-home-data.js";
24
+ import be from "./hooks/use-student-profile-summary-data.js";
25
+ import { MOBILE_SPACING as Le, DESKTOP_SPACING as Ce } from "./parent-dashboard-constants.js";
26
+ import { MathPracticeWrapper as Te, Container as $e, ContentWrapper as Pe } from "./parent-dashboard-styled.js";
27
+ const Ve = ee(
30
28
  ({
31
29
  studentName: c,
32
- studentId: d,
33
- onRescheduleDemo: u,
30
+ studentId: u,
31
+ onRescheduleDemo: f,
34
32
  onViewSummary: m,
35
- onGetStartedAgain: f,
33
+ onGetStartedAgain: p,
36
34
  onChangeTutor: g,
37
- canChangeTutor: L,
38
- onSwitchUser: P,
39
- isSubscriptionCancelled: J,
40
- HeaderAvatar: Q
35
+ canChangeTutor: S,
36
+ onSwitchUser: x,
37
+ isSubscriptionCancelled: z,
38
+ HeaderAvatar: N
41
39
  }) => {
42
- const { device: R } = ir(), S = R <= Sr.MOBILE, {
40
+ const { device: R } = te(), d = R <= de.MOBILE, {
43
41
  teacherDetails: i,
44
- billingDetails: h,
45
- teacherName: x,
46
- completedSessions: b,
42
+ teacherName: b,
43
+ completedSessions: L,
47
44
  nextSessionStart: C,
48
45
  nextSessionEnd: T,
49
46
  classStatus: $,
50
- upcomingSessions: D,
47
+ upcomingSessions: P,
51
48
  isDemoDone: s,
52
- isOnlyOneSessionCompleted: M,
53
- isMoreThanOneSessionCompleted: p,
54
- showLoading: U = !1,
55
- demoId: l = "shkbfshdj",
49
+ isOnlyOneSessionCompleted: D,
50
+ isMoreThanOneSessionCompleted: h,
51
+ showLoading: X = !1,
52
+ demoId: l,
56
53
  fetchData: y,
57
- isProcessingFailed: Y,
54
+ isProcessingFailed: J,
58
55
  userAttemptId: A
59
- } = Tr(d), { summaryInfo: O, fetchSummaryData: I } = $r(d), Z = t(() => {
60
- y(), I();
61
- }, [y, I]), { onCancelSubscription: E, onViewPaymentMethod: k } = Dr({
62
- demoId: l,
63
- studentId: d,
64
- billingDetails: h,
65
- completedSessions: b,
66
- withTutor: !!x,
67
- onRescheduleDemo: u,
68
- onChangeTutor: g
69
- }), H = t(() => {
70
- u(l);
71
- }, [l, u]), w = t(() => {
56
+ } = xe(u), { summaryInfo: M, fetchSummaryData: O } = be(u), Q = t(() => {
57
+ y(), O();
58
+ }, [y, O]), E = t(() => {
59
+ f(l);
60
+ }, [l, f]), I = t(() => {
72
61
  l && g(l);
73
- }, [l, g]), e = ar(
74
- () => S ? Mr : yr,
75
- [S]
76
- ), B = t(
77
- (or) => {
78
- m == null || m(or, { ...O, userAttemptId: A });
62
+ }, [l, g]), r = re(
63
+ () => d ? Le : Ce,
64
+ [d]
65
+ ), k = t(
66
+ (Z) => {
67
+ m == null || m(Z, { ...M, userAttemptId: A });
79
68
  },
80
- [m, O, A]
81
- ), F = S ? "100%" : 200, rr = t(
82
- () => /* @__PURE__ */ o(n, { children: [
83
- /* @__PURE__ */ r(lr, {}),
84
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
85
- /* @__PURE__ */ r(sr, { orientation: "horizontal" }),
86
- f && /* @__PURE__ */ o(n, { children: [
87
- /* @__PURE__ */ r(a, { height: e.medium }),
88
- /* @__PURE__ */ r(
89
- dr,
69
+ [m, M, A]
70
+ ), H = d ? "100%" : 200, U = t(
71
+ () => /* @__PURE__ */ o(a, { children: [
72
+ /* @__PURE__ */ e(ae, {}),
73
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
74
+ /* @__PURE__ */ e(oe, { orientation: "horizontal" }),
75
+ p && /* @__PURE__ */ o(a, { children: [
76
+ /* @__PURE__ */ e(n, { height: r.medium }),
77
+ /* @__PURE__ */ e(
78
+ ce,
90
79
  {
91
80
  label: "Get Started",
92
81
  renderAs: "yellow-dark",
93
82
  shape: "square",
94
- width: F,
95
- onClick: f
83
+ width: H,
84
+ onClick: p
96
85
  }
97
86
  )
98
87
  ] })
99
88
  ] }),
100
- [e, F, f]
101
- ), W = t(
102
- () => /* @__PURE__ */ r(
103
- mr,
89
+ [r, H, p]
90
+ ), F = t(
91
+ () => /* @__PURE__ */ e(
92
+ ie,
104
93
  {
105
- completedSessions: b,
94
+ completedSessions: L,
106
95
  nextSessionStartTime: C,
107
- teacherName: x,
96
+ teacherName: b,
108
97
  status: $,
109
98
  nextSessionEndTime: T,
110
99
  studentName: c,
111
- onRescheduleClick: H
100
+ onRescheduleClick: E
112
101
  }
113
102
  ),
114
103
  [
115
- b,
104
+ L,
116
105
  C,
117
- x,
106
+ b,
118
107
  $,
119
108
  T,
120
109
  c,
121
- H
110
+ E
122
111
  ]
123
- ), j = t(() => !i || s ? null : /* @__PURE__ */ o(n, { children: [
124
- /* @__PURE__ */ r(a, { height: e.separator.large }),
125
- /* @__PURE__ */ r(V, { teacherProfile: i })
126
- ] }), [i, s, e.separator.large]), _ = t(() => p ? null : /* @__PURE__ */ o(n, { children: [
127
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
128
- /* @__PURE__ */ r(
129
- hr,
112
+ ), W = t(() => !i || s ? null : /* @__PURE__ */ o(a, { children: [
113
+ /* @__PURE__ */ e(n, { height: r.separator.large }),
114
+ /* @__PURE__ */ e(G, { teacherProfile: i })
115
+ ] }), [i, s, r.separator.large]), w = t(() => h ? null : /* @__PURE__ */ o(a, { children: [
116
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
117
+ /* @__PURE__ */ e(
118
+ se,
130
119
  {
131
120
  isDemoDone: s,
132
121
  studentName: c,
133
- onViewSummary: B
122
+ onViewSummary: k
134
123
  }
135
124
  )
136
125
  ] }), [
137
- p,
138
- e.separator.extraLarge,
126
+ h,
127
+ r.separator.extraLarge,
139
128
  s,
140
129
  c,
141
- B
142
- ]), q = t(() => L ? /* @__PURE__ */ o(n, { children: [
143
- /* @__PURE__ */ r(a, { height: e.separator.small }),
144
- /* @__PURE__ */ o(n, { $flexDirection: "row", $flexColumnGapX: 0.25, children: [
145
- /* @__PURE__ */ r(X, { $renderAs: "ub1", $renderOnMobileAs: "ub2", $color: "WHITE", children: "Not the right fit for your child?" }),
146
- /* @__PURE__ */ r(
147
- ur,
130
+ k
131
+ ]), B = t(() => S ? /* @__PURE__ */ o(a, { children: [
132
+ /* @__PURE__ */ e(n, { height: r.separator.small }),
133
+ /* @__PURE__ */ o(a, { $flexDirection: "row", $flexColumnGapX: 0.25, children: [
134
+ /* @__PURE__ */ e(K, { $renderAs: "ub1", $renderOnMobileAs: "ub2", $color: "WHITE", children: "Not the right fit for your child?" }),
135
+ /* @__PURE__ */ e(
136
+ me,
148
137
  {
149
138
  color: "WHITE_1",
150
139
  sizeOnMobile: "small",
151
140
  label: "Try another tutor",
152
- onClick: w
141
+ onClick: I
153
142
  }
154
143
  )
155
144
  ] })
156
- ] }) : null, [L, e.separator.small, w]), v = t(() => i ? /* @__PURE__ */ o(n, { children: [
157
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
158
- /* @__PURE__ */ r(X, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: "Know your tutor" }),
159
- /* @__PURE__ */ r(a, { height: e.separator.medium }),
160
- /* @__PURE__ */ r(V, { teacherProfile: i }),
161
- q()
162
- ] }) : null, [i, e.separator, q]), G = t(() => M ? /* @__PURE__ */ o(n, { children: [
163
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
164
- /* @__PURE__ */ r(cr, {}),
165
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
166
- /* @__PURE__ */ r(pr, { sessions: D }),
167
- v()
145
+ ] }) : null, [S, r.separator.small, I]), _ = t(() => i ? /* @__PURE__ */ o(a, { children: [
146
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
147
+ /* @__PURE__ */ e(K, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: "Know your tutor" }),
148
+ /* @__PURE__ */ e(n, { height: r.separator.medium }),
149
+ /* @__PURE__ */ e(G, { teacherProfile: i }),
150
+ B()
151
+ ] }) : null, [i, r.separator, B]), j = t(() => D ? /* @__PURE__ */ o(a, { children: [
152
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
153
+ /* @__PURE__ */ e(ne, {}),
154
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
155
+ /* @__PURE__ */ e(le, { sessions: P }),
156
+ _()
168
157
  ] }) : null, [
169
- M,
170
- e.separator.extraLarge,
171
158
  D,
172
- v
173
- ]), K = t(() => s ? /* @__PURE__ */ o(n, { children: [
174
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
175
- /* @__PURE__ */ r(Lr, {})
176
- ] }) : null, [s, e.separator.extraLarge]), z = t(() => p ? null : /* @__PURE__ */ o(n, { children: [
177
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
178
- /* @__PURE__ */ r(Ar, { children: /* @__PURE__ */ r(Pr, { onSwitchUser: P }) })
179
- ] }), [p, e.separator.extraLarge, P]), N = t(() => h ? /* @__PURE__ */ o(n, { children: [
180
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
181
- /* @__PURE__ */ r(
182
- xr,
183
- {
184
- billingDetails: h,
185
- onViewPaymentMethod: k,
186
- onCancelSubscription: E
187
- }
188
- )
189
- ] }) : null, [h, e.separator.extraLarge, k, E]), er = t(
190
- () => /* @__PURE__ */ o(n, { children: [
159
+ r.separator.extraLarge,
160
+ P,
161
+ _
162
+ ]), q = t(() => s ? /* @__PURE__ */ o(a, { children: [
163
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
164
+ /* @__PURE__ */ e(fe, {})
165
+ ] }) : null, [s, r.separator.extraLarge]), v = t(() => h ? null : /* @__PURE__ */ o(a, { children: [
166
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
167
+ /* @__PURE__ */ e(Te, { children: /* @__PURE__ */ e(ge, { onSwitchUser: x }) })
168
+ ] }), [h, r.separator.extraLarge, x]), V = t(
169
+ () => /* @__PURE__ */ o(a, { children: [
170
+ F(),
191
171
  W(),
172
+ w(),
192
173
  j(),
193
- _(),
194
- G(),
195
- K(),
196
- z(),
197
- N()
174
+ q(),
175
+ v()
198
176
  ] }),
199
177
  [
178
+ F,
200
179
  W,
180
+ w,
201
181
  j,
202
- _,
203
- G,
204
- K,
205
- z,
206
- N
182
+ q,
183
+ v
207
184
  ]
208
- ), tr = t(
209
- () => /* @__PURE__ */ o(n, { children: [
210
- /* @__PURE__ */ r(a, { height: e.separator.extraLarge }),
211
- /* @__PURE__ */ r(Cr, {})
185
+ ), Y = t(
186
+ () => /* @__PURE__ */ o(a, { children: [
187
+ /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
188
+ /* @__PURE__ */ e(Se, {})
212
189
  ] }),
213
- [e.separator.extraLarge]
190
+ [r.separator.extraLarge]
214
191
  );
215
- return U ? /* @__PURE__ */ r(gr, { height: "100vh" }) : Y ? /* @__PURE__ */ r(n, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ r(fr, { theme: "dark", onTryAgain: Z }) }) : /* @__PURE__ */ o(Or, { children: [
216
- /* @__PURE__ */ r(br, { HeaderAvatar: Q }),
192
+ return X ? /* @__PURE__ */ e(pe, { height: "100vh" }) : J ? /* @__PURE__ */ e(a, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ e(he, { theme: "dark", onTryAgain: Q }) }) : /* @__PURE__ */ o($e, { children: [
193
+ /* @__PURE__ */ e(ue, { HeaderAvatar: N }),
217
194
  /* @__PURE__ */ o(
218
- Ir,
195
+ Pe,
219
196
  {
220
197
  $flex: 1,
221
198
  $width: "100%",
222
199
  $height: "100%",
223
200
  $background: "BLACK_1",
224
- $gap: e.medium,
225
- $gutter: e.small,
201
+ $gap: r.medium,
202
+ $gutter: r.small,
226
203
  children: [
227
- J ? rr() : er(),
228
- tr()
204
+ z ? U() : V(),
205
+ Y()
229
206
  ]
230
207
  }
231
208
  )
@@ -233,6 +210,6 @@ const ae = nr(
233
210
  }
234
211
  );
235
212
  export {
236
- ae as default
213
+ Ve as default
237
214
  };
238
215
  //# sourceMappingURL=parent-dashboard-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parent-dashboard-view.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-view.tsx"],"sourcesContent":["import type { ESummaryType, IParentDashboardProps, ISpacingConfig } from './parent-dashboard-types';\n\nimport React, { memo, useMemo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport OnboardingGuide from '../auth/pla-signup/onboarding-guide/onboarding-guide';\nimport SignupHeader from '../auth/pla-signup/signup-header/signup-header';\nimport NextSteps from '../trial-session/comps/pla/next-steps/next-steps';\nimport SessionStatus from '../trial-session/comps/pla/session-status/session-status';\nimport SessionSummary from '../trial-session/comps/pla/session-summary/session-summary';\nimport UpcomingSessions from '../trial-session/comps/pla/upcoming-sessions/upcoming-sessions';\nimport TeacherProfile from '../trial-session/comps/teacher-intro/teacher-profile/teacher-profile';\nimport Button from '../ui/buttons/button/button';\nimport TextButton from '../ui/buttons/text-button/text-button';\nimport Error from '../ui/error/error';\nimport FlexView from '../ui/layout/flex-view';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport Separator from '../ui/separator/separator';\nimport Text from '../ui/text/text';\nimport { EDeviceType } from '../ui/theme/constants';\nimport BillingInformation from './comps/billing-information/billing-information';\nimport CompactHeader from './comps/compact-header/compact-header';\nimport CuemathAppFeatures from './comps/cuemath-app-features/cuemath-app-features';\nimport MathPractice from './comps/math-practice/math-practice';\nimport ParentDashboardFaqs from './comps/parent-dashboard-faqs/parent-dashboard-faqs';\nimport useParentHomeData from './hooks/use-parent-home-data';\nimport useStudentProfileSummaryData from './hooks/use-student-profile-summary-data';\nimport { usePLAModalHandlers } from './modals/hooks/use-pla-model-handlers';\nimport { DESKTOP_SPACING, MOBILE_SPACING } from './parent-dashboard-constants';\nimport * as Styled from './parent-dashboard-styled';\n\nconst ParentDashboardView: React.FC<IParentDashboardProps> = memo(\n ({\n studentName,\n studentId,\n onRescheduleDemo,\n onViewSummary,\n onGetStartedAgain,\n onChangeTutor,\n canChangeTutor,\n onSwitchUser,\n isSubscriptionCancelled,\n HeaderAvatar,\n }) => {\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const {\n teacherDetails,\n billingDetails,\n teacherName,\n completedSessions,\n nextSessionStart,\n nextSessionEnd,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n showLoading = false,\n demoId = 'shkbfshdj',\n fetchData: fetchParentHomeData,\n isProcessingFailed,\n userAttemptId,\n } = useParentHomeData(studentId);\n\n const { summaryInfo, fetchSummaryData } = useStudentProfileSummaryData(studentId);\n\n const handleTryAgain = useCallback(() => {\n fetchParentHomeData();\n fetchSummaryData();\n }, [fetchParentHomeData, fetchSummaryData]);\n\n const { onCancelSubscription, onViewPaymentMethod } = usePLAModalHandlers({\n demoId,\n studentId,\n billingDetails,\n completedSessions,\n withTutor: !!teacherName,\n onRescheduleDemo,\n onChangeTutor,\n });\n\n const handleRescheduleDemo = useCallback(() => {\n onRescheduleDemo(demoId);\n }, [demoId, onRescheduleDemo]);\n\n const handleChangeTutor = useCallback(() => {\n if (demoId) {\n onChangeTutor(demoId);\n }\n }, [demoId, onChangeTutor]);\n\n const spacing: ISpacingConfig = useMemo(\n () => (isMobile ? MOBILE_SPACING : DESKTOP_SPACING),\n [isMobile],\n );\n\n const handleViewSummary = useCallback(\n (key: ESummaryType) => {\n onViewSummary?.(key, { ...summaryInfo, userAttemptId });\n },\n [onViewSummary, summaryInfo, userAttemptId],\n );\n\n const buttonWidth = isMobile ? '100%' : 200;\n\n const renderCancelledSubscriptionView = useCallback(\n () => (\n <FlexView>\n <SignupHeader />\n <Separator height={spacing.separator.extraLarge} />\n <OnboardingGuide orientation=\"horizontal\" />\n {onGetStartedAgain && (\n <FlexView>\n <Separator height={spacing.medium} />\n <Button\n label=\"Get Started\"\n renderAs=\"yellow-dark\"\n shape=\"square\"\n width={buttonWidth}\n onClick={onGetStartedAgain}\n />\n </FlexView>\n )}\n </FlexView>\n ),\n [spacing, buttonWidth, onGetStartedAgain],\n );\n\n const renderSessionStatusSection = useCallback(\n () => (\n <SessionStatus\n completedSessions={completedSessions}\n nextSessionStartTime={nextSessionStart}\n teacherName={teacherName}\n status={classStatus}\n nextSessionEndTime={nextSessionEnd}\n studentName={studentName}\n onRescheduleClick={handleRescheduleDemo}\n />\n ),\n [\n completedSessions,\n nextSessionStart,\n teacherName,\n classStatus,\n nextSessionEnd,\n studentName,\n handleRescheduleDemo,\n ],\n );\n\n const renderTeacherProfileSection = useCallback(() => {\n if (!teacherDetails || isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.large} />\n <TeacherProfile teacherProfile={teacherDetails} />\n </FlexView>\n );\n }, [teacherDetails, isDemoDone, spacing.separator.large]);\n\n const renderSessionSummarySection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <SessionSummary\n isDemoDone={isDemoDone}\n studentName={studentName}\n onViewSummary={handleViewSummary}\n />\n </FlexView>\n );\n }, [\n isMoreThanOneSessionCompleted,\n spacing.separator.extraLarge,\n isDemoDone,\n studentName,\n handleViewSummary,\n ]);\n\n const renderTutorChangeSection = useCallback(() => {\n if (!canChangeTutor) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.small} />\n <FlexView $flexDirection=\"row\" $flexColumnGapX={0.25}>\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n Not the right fit for your child?\n </Text>\n <TextButton\n color=\"WHITE_1\"\n sizeOnMobile=\"small\"\n label=\"Try another tutor\"\n onClick={handleChangeTutor}\n />\n </FlexView>\n </FlexView>\n );\n }, [canChangeTutor, spacing.separator.small, handleChangeTutor]);\n\n const renderTeacherDetailsSection = useCallback(() => {\n if (!teacherDetails) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n Know your tutor\n </Text>\n <Separator height={spacing.separator.medium} />\n <TeacherProfile teacherProfile={teacherDetails} />\n {renderTutorChangeSection()}\n </FlexView>\n );\n }, [teacherDetails, spacing.separator, renderTutorChangeSection]);\n\n const renderOnlyOneSessionSection = useCallback(() => {\n if (!isOnlyOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <NextSteps />\n <Separator height={spacing.separator.extraLarge} />\n <UpcomingSessions sessions={upcomingSessions} />\n {renderTeacherDetailsSection()}\n </FlexView>\n );\n }, [\n isOnlyOneSessionCompleted,\n spacing.separator.extraLarge,\n upcomingSessions,\n renderTeacherDetailsSection,\n ]);\n\n const renderAppFeaturesSection = useCallback(() => {\n if (!isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <CuemathAppFeatures />\n </FlexView>\n );\n }, [isDemoDone, spacing.separator.extraLarge]);\n\n const renderMathPracticeSection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Styled.MathPracticeWrapper>\n <MathPractice onSwitchUser={onSwitchUser} />\n </Styled.MathPracticeWrapper>\n </FlexView>\n );\n }, [isMoreThanOneSessionCompleted, spacing.separator.extraLarge, onSwitchUser]);\n\n const renderBillingInformation = useCallback(() => {\n if (!billingDetails) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <BillingInformation\n billingDetails={billingDetails}\n onViewPaymentMethod={onViewPaymentMethod}\n onCancelSubscription={onCancelSubscription}\n />\n </FlexView>\n );\n }, [billingDetails, spacing.separator.extraLarge, onViewPaymentMethod, onCancelSubscription]);\n\n const renderMainContent = useCallback(\n () => (\n <FlexView>\n {renderSessionStatusSection()}\n {renderTeacherProfileSection()}\n {renderSessionSummarySection()}\n {renderOnlyOneSessionSection()}\n {renderAppFeaturesSection()}\n {renderMathPracticeSection()}\n {renderBillingInformation()}\n </FlexView>\n ),\n [\n renderSessionStatusSection,\n renderTeacherProfileSection,\n renderSessionSummarySection,\n renderOnlyOneSessionSection,\n renderAppFeaturesSection,\n renderMathPracticeSection,\n renderBillingInformation,\n ],\n );\n\n const renderFaqsSection = useCallback(\n () => (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <ParentDashboardFaqs />\n </FlexView>\n ),\n [spacing.separator.extraLarge],\n );\n\n if (showLoading) {\n return <AppLoader height=\"100vh\" />;\n }\n\n if (isProcessingFailed)\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Error theme=\"dark\" onTryAgain={handleTryAgain} />\n </FlexView>\n );\n\n return (\n <Styled.Container>\n <CompactHeader HeaderAvatar={HeaderAvatar} />\n <Styled.ContentWrapper\n $flex={1}\n $width=\"100%\"\n $height=\"100%\"\n $background=\"BLACK_1\"\n $gap={spacing.medium}\n $gutter={spacing.small}\n >\n {isSubscriptionCancelled ? renderCancelledSubscriptionView() : renderMainContent()}\n {renderFaqsSection()}\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n },\n);\n\nexport default ParentDashboardView;\n"],"names":["ParentDashboardView","memo","studentName","studentId","onRescheduleDemo","onViewSummary","onGetStartedAgain","onChangeTutor","canChangeTutor","onSwitchUser","isSubscriptionCancelled","HeaderAvatar","device","useTheme","isMobile","EDeviceType","teacherDetails","billingDetails","teacherName","completedSessions","nextSessionStart","nextSessionEnd","classStatus","upcomingSessions","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted","showLoading","demoId","fetchParentHomeData","isProcessingFailed","userAttemptId","useParentHomeData","summaryInfo","fetchSummaryData","useStudentProfileSummaryData","handleTryAgain","useCallback","onCancelSubscription","onViewPaymentMethod","usePLAModalHandlers","handleRescheduleDemo","handleChangeTutor","spacing","useMemo","MOBILE_SPACING","DESKTOP_SPACING","handleViewSummary","key","buttonWidth","renderCancelledSubscriptionView","FlexView","jsx","SignupHeader","Separator","OnboardingGuide","Button","renderSessionStatusSection","SessionStatus","renderTeacherProfileSection","TeacherProfile","renderSessionSummarySection","SessionSummary","renderTutorChangeSection","jsxs","Text","TextButton","renderTeacherDetailsSection","renderOnlyOneSessionSection","NextSteps","UpcomingSessions","renderAppFeaturesSection","CuemathAppFeatures","renderMathPracticeSection","Styled.MathPracticeWrapper","MathPractice","renderBillingInformation","BillingInformation","renderMainContent","renderFaqsSection","ParentDashboardFaqs","AppLoader","Error","Styled.Container","CompactHeader","Styled.ContentWrapper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAMA,KAAuDC;AAAA,EAC3D,CAAC;AAAA,IACC,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,MACI;AACE,UAAA,EAAE,QAAAC,MAAWC,MACbC,IAAWF,KAAUG,GAAY,QAEjC;AAAA,MACJ,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,2BAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,aAAAC,IAAc;AAAA,MACd,QAAAC,IAAS;AAAA,MACT,WAAWC;AAAA,MACX,oBAAAC;AAAA,MACA,eAAAC;AAAA,IAAA,IACEC,GAAkB7B,CAAS,GAEzB,EAAE,aAAA8B,GAAa,kBAAAC,EAAiB,IAAIC,GAA6BhC,CAAS,GAE1EiC,IAAiBC,EAAY,MAAM;AACnB,MAAAR,KACHK;IAAA,GAChB,CAACL,GAAqBK,CAAgB,CAAC,GAEpC,EAAE,sBAAAI,GAAsB,qBAAAC,EAAoB,IAAIC,GAAoB;AAAA,MACxE,QAAAZ;AAAA,MACA,WAAAzB;AAAA,MACA,gBAAAc;AAAA,MACA,mBAAAE;AAAA,MACA,WAAW,CAAC,CAACD;AAAA,MACb,kBAAAd;AAAA,MACA,eAAAG;AAAA,IAAA,CACD,GAEKkC,IAAuBJ,EAAY,MAAM;AAC7C,MAAAjC,EAAiBwB,CAAM;AAAA,IAAA,GACtB,CAACA,GAAQxB,CAAgB,CAAC,GAEvBsC,IAAoBL,EAAY,MAAM;AAC1C,MAAIT,KACFrB,EAAcqB,CAAM;AAAA,IACtB,GACC,CAACA,GAAQrB,CAAa,CAAC,GAEpBoC,IAA0BC;AAAA,MAC9B,MAAO9B,IAAW+B,KAAiBC;AAAA,MACnC,CAAChC,CAAQ;AAAA,IAAA,GAGLiC,IAAoBV;AAAA,MACxB,CAACW,OAAsB;AACrB,QAAA3C,KAAA,QAAAA,EAAgB2C,IAAK,EAAE,GAAGf,GAAa,eAAAF,EAAe;AAAA,MACxD;AAAA,MACA,CAAC1B,GAAe4B,GAAaF,CAAa;AAAA,IAAA,GAGtCkB,IAAcnC,IAAW,SAAS,KAElCoC,KAAkCb;AAAA,MACtC,wBACGc,GACC,EAAA,UAAA;AAAA,QAAA,gBAAAC,EAACC,IAAa,EAAA;AAAA,QACb,gBAAAD,EAAAE,GAAA,EAAU,QAAQX,EAAQ,UAAU,YAAY;AAAA,QACjD,gBAAAS,EAACG,IAAgB,EAAA,aAAY,aAAa,CAAA;AAAA,QACzCjD,uBACE6C,GACC,EAAA,UAAA;AAAA,UAAC,gBAAAC,EAAAE,GAAA,EAAU,QAAQX,EAAQ,OAAQ,CAAA;AAAA,UACnC,gBAAAS;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,UAAS;AAAA,cACT,OAAM;AAAA,cACN,OAAOP;AAAA,cACP,SAAS3C;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GACF;AAAA,MAAA,GAEJ;AAAA,MAEF,CAACqC,GAASM,GAAa3C,CAAiB;AAAA,IAAA,GAGpCmD,IAA6BpB;AAAA,MACjC,MACE,gBAAAe;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,mBAAAvC;AAAA,UACA,sBAAsBC;AAAA,UACtB,aAAAF;AAAA,UACA,QAAQI;AAAA,UACR,oBAAoBD;AAAA,UACpB,aAAAnB;AAAA,UACA,mBAAmBuC;AAAA,QAAA;AAAA,MACrB;AAAA,MAEF;AAAA,QACEtB;AAAA,QACAC;AAAA,QACAF;AAAA,QACAI;AAAA,QACAD;AAAA,QACAnB;AAAA,QACAuC;AAAA,MACF;AAAA,IAAA,GAGIkB,IAA8BtB,EAAY,MAC1C,CAACrB,KAAkBQ,IAAmB,yBAGvC2B,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,OAAO;AAAA,MAC5C,gBAAAS,EAACQ,GAAe,EAAA,gBAAgB5C,EAAgB,CAAA;AAAA,IAClD,EAAA,CAAA,GAED,CAACA,GAAgBQ,GAAYmB,EAAQ,UAAU,KAAK,CAAC,GAElDkB,IAA8BxB,EAAY,MAC1CX,IAAsC,yBAGvCyB,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,YAAY;AAAA,MACjD,gBAAAS;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,YAAAtC;AAAA,UACA,aAAAtB;AAAA,UACA,eAAe6C;AAAA,QAAA;AAAA,MACjB;AAAA,IACF,EAAA,CAAA,GAED;AAAA,MACDrB;AAAA,MACAiB,EAAQ,UAAU;AAAA,MAClBnB;AAAA,MACAtB;AAAA,MACA6C;AAAA,IAAA,CACD,GAEKgB,IAA2B1B,EAAY,MACtC7B,sBAGF2C,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,OAAO;AAAA,MAC3C,gBAAAqB,EAAAb,GAAA,EAAS,gBAAe,OAAM,iBAAiB,MAC9C,UAAA;AAAA,QAAA,gBAAAC,EAACa,KAAK,WAAU,OAAM,mBAAkB,OAAM,QAAO,SAAQ,UAE7D,oCAAA,CAAA;AAAA,QACA,gBAAAb;AAAA,UAACc;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,cAAa;AAAA,YACb,OAAM;AAAA,YACN,SAASxB;AAAA,UAAA;AAAA,QACX;AAAA,MAAA,GACF;AAAA,IACF,EAAA,CAAA,IAhB0B,MAkB3B,CAAClC,GAAgBmC,EAAQ,UAAU,OAAOD,CAAiB,CAAC,GAEzDyB,IAA8B9B,EAAY,MACzCrB,sBAGFmC,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,YAAY;AAAA,MACjD,gBAAAS,EAACa,KAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,UAEvE,kBAAA,CAAA;AAAA,MACC,gBAAAb,EAAAE,GAAA,EAAU,QAAQX,EAAQ,UAAU,QAAQ;AAAA,MAC7C,gBAAAS,EAACQ,GAAe,EAAA,gBAAgB5C,EAAgB,CAAA;AAAA,MAC/C+C,EAAyB;AAAA,IAC5B,EAAA,CAAA,IAX0B,MAa3B,CAAC/C,GAAgB2B,EAAQ,WAAWoB,CAAwB,CAAC,GAE1DK,IAA8B/B,EAAY,MACzCZ,sBAGF0B,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,YAAY;AAAA,wBAChD0B,IAAU,EAAA;AAAA,MACV,gBAAAjB,EAAAE,GAAA,EAAU,QAAQX,EAAQ,UAAU,YAAY;AAAA,MACjD,gBAAAS,EAACkB,IAAiB,EAAA,UAAU/C,EAAkB,CAAA;AAAA,MAC7C4C,EAA4B;AAAA,IAC/B,EAAA,CAAA,IATqC,MAWtC;AAAA,MACD1C;AAAA,MACAkB,EAAQ,UAAU;AAAA,MAClBpB;AAAA,MACA4C;AAAA,IAAA,CACD,GAEKI,IAA2BlC,EAAY,MACtCb,sBAGF2B,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,YAAY;AAAA,wBAChD6B,IAAmB,EAAA;AAAA,IACtB,EAAA,CAAA,IANsB,MAQvB,CAAChD,GAAYmB,EAAQ,UAAU,UAAU,CAAC,GAEvC8B,IAA4BpC,EAAY,MACxCX,IAAsC,yBAGvCyB,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,YAAY;AAAA,wBAChD+B,IAAA,EACC,UAAC,gBAAAtB,EAAAuB,IAAA,EAAa,cAAAlE,EAA4B,CAAA,GAC5C;AAAA,IACF,EAAA,CAAA,GAED,CAACiB,GAA+BiB,EAAQ,UAAU,YAAYlC,CAAY,CAAC,GAExEmE,IAA2BvC,EAAY,MACtCpB,sBAGFkC,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,YAAY;AAAA,MACjD,gBAAAS;AAAA,QAACyB;AAAA,QAAA;AAAA,UACC,gBAAA5D;AAAA,UACA,qBAAAsB;AAAA,UACA,sBAAAD;AAAA,QAAA;AAAA,MACF;AAAA,IACF,EAAA,CAAA,IAV0B,MAY3B,CAACrB,GAAgB0B,EAAQ,UAAU,YAAYJ,GAAqBD,CAAoB,CAAC,GAEtFwC,KAAoBzC;AAAA,MACxB,wBACGc,GACE,EAAA,UAAA;AAAA,QAA2BM,EAAA;AAAA,QAC3BE,EAA4B;AAAA,QAC5BE,EAA4B;AAAA,QAC5BO,EAA4B;AAAA,QAC5BG,EAAyB;AAAA,QACzBE,EAA0B;AAAA,QAC1BG,EAAyB;AAAA,MAAA,GAC5B;AAAA,MAEF;AAAA,QACEnB;AAAA,QACAE;AAAA,QACAE;AAAA,QACAO;AAAA,QACAG;AAAA,QACAE;AAAA,QACAG;AAAA,MACF;AAAA,IAAA,GAGIG,KAAoB1C;AAAA,MACxB,wBACGc,GACC,EAAA,UAAA;AAAA,QAAA,gBAAAC,EAACE,GAAU,EAAA,QAAQX,EAAQ,UAAU,YAAY;AAAA,0BAChDqC,IAAoB,EAAA;AAAA,MAAA,GACvB;AAAA,MAEF,CAACrC,EAAQ,UAAU,UAAU;AAAA,IAAA;AAG/B,WAAIhB,IACK,gBAAAyB,EAAC6B,IAAU,EAAA,QAAO,QAAQ,CAAA,IAG/BnD,IAEC,gBAAAsB,EAAAD,GAAA,EAAS,OAAO,GAAG,aAAY,UAAS,iBAAgB,UACvD,UAAA,gBAAAC,EAAC8B,IAAM,EAAA,OAAM,QAAO,YAAY9C,GAAgB,EAClD,CAAA,IAIF,gBAAA4B,EAACmB,IAAA,EACC,UAAA;AAAA,MAAA,gBAAA/B,EAACgC,MAAc,cAAAzE,GAA4B;AAAA,MAC3C,gBAAAqD;AAAA,QAACqB;AAAAA,QAAA;AAAA,UACC,OAAO;AAAA,UACP,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,aAAY;AAAA,UACZ,MAAM1C,EAAQ;AAAA,UACd,SAASA,EAAQ;AAAA,UAEhB,UAAA;AAAA,YAA0BjC,IAAAwC,OAAoC4B,GAAkB;AAAA,YAChFC,GAAkB;AAAA,UAAA;AAAA,QAAA;AAAA,MACrB;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"parent-dashboard-view.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-view.tsx"],"sourcesContent":["import type { ESummaryType, IParentDashboardProps, ISpacingConfig } from './parent-dashboard-types';\n\nimport React, { memo, useMemo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport OnboardingGuide from '../auth/pla-signup/onboarding-guide/onboarding-guide';\nimport SignupHeader from '../auth/pla-signup/signup-header/signup-header';\nimport NextSteps from '../trial-session/comps/pla/next-steps/next-steps';\nimport SessionStatus from '../trial-session/comps/pla/session-status/session-status';\nimport SessionSummary from '../trial-session/comps/pla/session-summary/session-summary';\nimport UpcomingSessions from '../trial-session/comps/pla/upcoming-sessions/upcoming-sessions';\nimport TeacherProfile from '../trial-session/comps/teacher-intro/teacher-profile/teacher-profile';\nimport Button from '../ui/buttons/button/button';\nimport TextButton from '../ui/buttons/text-button/text-button';\nimport Error from '../ui/error/error';\nimport FlexView from '../ui/layout/flex-view';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport Separator from '../ui/separator/separator';\nimport Text from '../ui/text/text';\nimport { EDeviceType } from '../ui/theme/constants';\nimport CompactHeader from './comps/compact-header/compact-header';\nimport CuemathAppFeatures from './comps/cuemath-app-features/cuemath-app-features';\nimport MathPractice from './comps/math-practice/math-practice';\nimport ParentDashboardFaqs from './comps/parent-dashboard-faqs/parent-dashboard-faqs';\nimport useParentHomeData from './hooks/use-parent-home-data';\nimport useStudentProfileSummaryData from './hooks/use-student-profile-summary-data';\nimport { DESKTOP_SPACING, MOBILE_SPACING } from './parent-dashboard-constants';\nimport * as Styled from './parent-dashboard-styled';\n\nconst ParentDashboardView: React.FC<IParentDashboardProps> = memo(\n ({\n studentName,\n studentId,\n onRescheduleDemo,\n onViewSummary,\n onGetStartedAgain,\n onChangeTutor,\n canChangeTutor,\n onSwitchUser,\n isSubscriptionCancelled,\n HeaderAvatar,\n }) => {\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const {\n teacherDetails,\n teacherName,\n completedSessions,\n nextSessionStart,\n nextSessionEnd,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n showLoading = false,\n demoId,\n fetchData: fetchParentHomeData,\n isProcessingFailed,\n userAttemptId,\n } = useParentHomeData(studentId);\n\n const { summaryInfo, fetchSummaryData } = useStudentProfileSummaryData(studentId);\n\n const handleTryAgain = useCallback(() => {\n fetchParentHomeData();\n fetchSummaryData();\n }, [fetchParentHomeData, fetchSummaryData]);\n\n const handleRescheduleDemo = useCallback(() => {\n onRescheduleDemo(demoId);\n }, [demoId, onRescheduleDemo]);\n\n const handleChangeTutor = useCallback(() => {\n if (demoId) {\n onChangeTutor(demoId);\n }\n }, [demoId, onChangeTutor]);\n\n const spacing: ISpacingConfig = useMemo(\n () => (isMobile ? MOBILE_SPACING : DESKTOP_SPACING),\n [isMobile],\n );\n\n const handleViewSummary = useCallback(\n (key: ESummaryType) => {\n onViewSummary?.(key, { ...summaryInfo, userAttemptId });\n },\n [onViewSummary, summaryInfo, userAttemptId],\n );\n\n const buttonWidth = isMobile ? '100%' : 200;\n\n const renderCancelledSubscriptionView = useCallback(\n () => (\n <FlexView>\n <SignupHeader />\n <Separator height={spacing.separator.extraLarge} />\n <OnboardingGuide orientation=\"horizontal\" />\n {onGetStartedAgain && (\n <FlexView>\n <Separator height={spacing.medium} />\n <Button\n label=\"Get Started\"\n renderAs=\"yellow-dark\"\n shape=\"square\"\n width={buttonWidth}\n onClick={onGetStartedAgain}\n />\n </FlexView>\n )}\n </FlexView>\n ),\n [spacing, buttonWidth, onGetStartedAgain],\n );\n\n const renderSessionStatusSection = useCallback(\n () => (\n <SessionStatus\n completedSessions={completedSessions}\n nextSessionStartTime={nextSessionStart}\n teacherName={teacherName}\n status={classStatus}\n nextSessionEndTime={nextSessionEnd}\n studentName={studentName}\n onRescheduleClick={handleRescheduleDemo}\n />\n ),\n [\n completedSessions,\n nextSessionStart,\n teacherName,\n classStatus,\n nextSessionEnd,\n studentName,\n handleRescheduleDemo,\n ],\n );\n\n const renderTeacherProfileSection = useCallback(() => {\n if (!teacherDetails || isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.large} />\n <TeacherProfile teacherProfile={teacherDetails} />\n </FlexView>\n );\n }, [teacherDetails, isDemoDone, spacing.separator.large]);\n\n const renderSessionSummarySection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <SessionSummary\n isDemoDone={isDemoDone}\n studentName={studentName}\n onViewSummary={handleViewSummary}\n />\n </FlexView>\n );\n }, [\n isMoreThanOneSessionCompleted,\n spacing.separator.extraLarge,\n isDemoDone,\n studentName,\n handleViewSummary,\n ]);\n\n const renderTutorChangeSection = useCallback(() => {\n if (!canChangeTutor) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.small} />\n <FlexView $flexDirection=\"row\" $flexColumnGapX={0.25}>\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n Not the right fit for your child?\n </Text>\n <TextButton\n color=\"WHITE_1\"\n sizeOnMobile=\"small\"\n label=\"Try another tutor\"\n onClick={handleChangeTutor}\n />\n </FlexView>\n </FlexView>\n );\n }, [canChangeTutor, spacing.separator.small, handleChangeTutor]);\n\n const renderTeacherDetailsSection = useCallback(() => {\n if (!teacherDetails) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n Know your tutor\n </Text>\n <Separator height={spacing.separator.medium} />\n <TeacherProfile teacherProfile={teacherDetails} />\n {renderTutorChangeSection()}\n </FlexView>\n );\n }, [teacherDetails, spacing.separator, renderTutorChangeSection]);\n\n const renderOnlyOneSessionSection = useCallback(() => {\n if (!isOnlyOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <NextSteps />\n <Separator height={spacing.separator.extraLarge} />\n <UpcomingSessions sessions={upcomingSessions} />\n {renderTeacherDetailsSection()}\n </FlexView>\n );\n }, [\n isOnlyOneSessionCompleted,\n spacing.separator.extraLarge,\n upcomingSessions,\n renderTeacherDetailsSection,\n ]);\n\n const renderAppFeaturesSection = useCallback(() => {\n if (!isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <CuemathAppFeatures />\n </FlexView>\n );\n }, [isDemoDone, spacing.separator.extraLarge]);\n\n const renderMathPracticeSection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Styled.MathPracticeWrapper>\n <MathPractice onSwitchUser={onSwitchUser} />\n </Styled.MathPracticeWrapper>\n </FlexView>\n );\n }, [isMoreThanOneSessionCompleted, spacing.separator.extraLarge, onSwitchUser]);\n\n const renderMainContent = useCallback(\n () => (\n <FlexView>\n {renderSessionStatusSection()}\n {renderTeacherProfileSection()}\n {renderSessionSummarySection()}\n {renderOnlyOneSessionSection()}\n {renderAppFeaturesSection()}\n {renderMathPracticeSection()}\n </FlexView>\n ),\n [\n renderSessionStatusSection,\n renderTeacherProfileSection,\n renderSessionSummarySection,\n renderOnlyOneSessionSection,\n renderAppFeaturesSection,\n renderMathPracticeSection,\n ],\n );\n\n const renderFaqsSection = useCallback(\n () => (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <ParentDashboardFaqs />\n </FlexView>\n ),\n [spacing.separator.extraLarge],\n );\n\n if (showLoading) {\n return <AppLoader height=\"100vh\" />;\n }\n\n if (isProcessingFailed)\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Error theme=\"dark\" onTryAgain={handleTryAgain} />\n </FlexView>\n );\n\n return (\n <Styled.Container>\n <CompactHeader HeaderAvatar={HeaderAvatar} />\n <Styled.ContentWrapper\n $flex={1}\n $width=\"100%\"\n $height=\"100%\"\n $background=\"BLACK_1\"\n $gap={spacing.medium}\n $gutter={spacing.small}\n >\n {isSubscriptionCancelled ? renderCancelledSubscriptionView() : renderMainContent()}\n {renderFaqsSection()}\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n },\n);\n\nexport default ParentDashboardView;\n"],"names":["ParentDashboardView","memo","studentName","studentId","onRescheduleDemo","onViewSummary","onGetStartedAgain","onChangeTutor","canChangeTutor","onSwitchUser","isSubscriptionCancelled","HeaderAvatar","device","useTheme","isMobile","EDeviceType","teacherDetails","teacherName","completedSessions","nextSessionStart","nextSessionEnd","classStatus","upcomingSessions","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted","showLoading","demoId","fetchParentHomeData","isProcessingFailed","userAttemptId","useParentHomeData","summaryInfo","fetchSummaryData","useStudentProfileSummaryData","handleTryAgain","useCallback","handleRescheduleDemo","handleChangeTutor","spacing","useMemo","MOBILE_SPACING","DESKTOP_SPACING","handleViewSummary","key","buttonWidth","renderCancelledSubscriptionView","FlexView","jsx","SignupHeader","Separator","OnboardingGuide","Button","renderSessionStatusSection","SessionStatus","renderTeacherProfileSection","TeacherProfile","renderSessionSummarySection","SessionSummary","renderTutorChangeSection","jsxs","Text","TextButton","renderTeacherDetailsSection","renderOnlyOneSessionSection","NextSteps","UpcomingSessions","renderAppFeaturesSection","CuemathAppFeatures","renderMathPracticeSection","Styled.MathPracticeWrapper","MathPractice","renderMainContent","renderFaqsSection","ParentDashboardFaqs","AppLoader","Error","Styled.Container","CompactHeader","Styled.ContentWrapper"],"mappings":"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"}