@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.
- package/dist/features/auth/account-selector/account-selector-styled.js +5 -6
- package/dist/features/auth/account-selector/account-selector-styled.js.map +1 -1
- package/dist/features/auth/account-selector/account-selector.js +57 -51
- package/dist/features/auth/account-selector/account-selector.js.map +1 -1
- package/dist/features/auth/comps/user-list/user-list-styled.js +2 -3
- package/dist/features/auth/comps/user-list/user-list-styled.js.map +1 -1
- package/dist/features/auth/pla-signup/pla-analytics-events.js +3 -9
- package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
- package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/custom-input-field.js +8 -8
- package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
- package/dist/features/journey/use-journey/use-journey.js +6 -18
- package/dist/features/journey/use-journey/use-journey.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +7 -13
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +34 -40
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +3 -3
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -1
- package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
- package/dist/features/parent-dashboard/parent-dashboard-view.js +138 -161
- package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
- package/dist/features/stickers/constants.js +235 -0
- package/dist/features/stickers/constants.js.map +1 -0
- package/dist/features/{ui/sticker-grid/sticker-grid-styles.js → stickers/sticker-selector/comps/sticker/sticker-styled.js} +15 -45
- package/dist/features/stickers/sticker-selector/comps/sticker/sticker-styled.js.map +1 -0
- package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js +49 -0
- package/dist/features/stickers/sticker-selector/comps/sticker/sticker.js.map +1 -0
- package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid-styled.js +28 -0
- package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid-styled.js.map +1 -0
- package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js +26 -0
- package/dist/features/stickers/sticker-selector/comps/stiker-selector-grid/sticker-selector-grid.js.map +1 -0
- package/dist/features/stickers/sticker-selector/sticker-selector-styled.js +13 -0
- package/dist/features/stickers/sticker-selector/sticker-selector-styled.js.map +1 -0
- package/dist/features/stickers/sticker-selector/sticker-selector.js +86 -0
- package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-animations.js +82 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-animations.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-cache.js +19 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-cache.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-helper.js +105 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +37 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-effects.js +67 -0
- package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -0
- package/dist/features/trial-session/comps/class-preference/class-preference.js +49 -61
- package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/session-report.js +15 -15
- package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js +0 -5
- package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback.js +51 -96
- package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile.js +63 -70
- package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
- package/dist/features/trial-session/helper.js +54 -71
- package/dist/features/trial-session/helper.js.map +1 -1
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js +130 -149
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js +98 -107
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +88 -75
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js +55 -46
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
- package/dist/features/ui/modals/modal-styled.js +48 -15
- package/dist/features/ui/modals/modal-styled.js.map +1 -1
- package/dist/features/ui/modals/modal.js +46 -38
- package/dist/features/ui/modals/modal.js.map +1 -1
- package/dist/index.d.ts +71 -66
- package/dist/index.js +391 -401
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/features/auth/account-selector/comps/compact-header/account-selector-header.js +0 -31
- package/dist/features/auth/account-selector/comps/compact-header/account-selector-header.js.map +0 -1
- package/dist/features/parent-dashboard/api/cancel-subscription.js +0 -9
- package/dist/features/parent-dashboard/api/cancel-subscription.js.map +0 -1
- package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js +0 -20
- package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js.map +0 -1
- package/dist/features/parent-dashboard/comps/billing-information/billing-information.js +0 -96
- package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +0 -1
- package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js +0 -21
- package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js.map +0 -1
- package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js +0 -80
- package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +0 -1
- package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js +0 -23
- package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js.map +0 -1
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js +0 -55
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js.map +0 -1
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js +0 -59
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js.map +0 -1
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js +0 -93
- package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +0 -1
- package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js +0 -63
- package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +0 -1
- package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js +0 -65
- package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js.map +0 -1
- package/dist/features/student-username/add/add-student-username-constants.js +0 -6
- package/dist/features/student-username/add/add-student-username-constants.js.map +0 -1
- package/dist/features/student-username/add/add-student-username-helpers.js +0 -6
- package/dist/features/student-username/add/add-student-username-helpers.js.map +0 -1
- package/dist/features/student-username/add/add-student-username-styled.js +0 -10
- package/dist/features/student-username/add/add-student-username-styled.js.map +0 -1
- package/dist/features/student-username/add/add-student-username.js +0 -78
- package/dist/features/student-username/add/add-student-username.js.map +0 -1
- package/dist/features/student-username/add/api/update-username.js +0 -9
- package/dist/features/student-username/add/api/update-username.js.map +0 -1
- package/dist/features/student-username/add/api/username-availability.js +0 -10
- package/dist/features/student-username/add/api/username-availability.js.map +0 -1
- package/dist/features/student-username/add/hooks/use-check-username-availability.js +0 -41
- package/dist/features/student-username/add/hooks/use-check-username-availability.js.map +0 -1
- package/dist/features/trial-session/api/teacher-availability.js +0 -9
- package/dist/features/trial-session/api/teacher-availability.js.map +0 -1
- package/dist/features/trial-session/comps/class-preference/helpers.js +0 -28
- package/dist/features/trial-session/comps/class-preference/helpers.js.map +0 -1
- package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +0 -1
- package/dist/features/ui/sticker-grid/sticker-grid.js +0 -24
- package/dist/features/ui/sticker-grid/sticker-grid.js.map +0 -1
- package/dist/features/ui/sticker-grid/sticker.js +0 -57
- package/dist/features/ui/sticker-grid/sticker.js.map +0 -1
- package/dist/features/ui/stickers/constants.js +0 -6
- package/dist/features/ui/stickers/constants.js.map +0 -1
- package/dist/features/ui/stickers/stickers-effects.js +0 -64
- package/dist/features/ui/stickers/stickers-effects.js.map +0 -1
- package/dist/features/ui/stickers/stickers-styled.js +0 -29
- package/dist/features/ui/stickers/stickers-styled.js.map +0 -1
- package/dist/features/ui/stickers/stickers-utils.js +0 -91
- package/dist/features/ui/stickers/stickers-utils.js.map +0 -1
- package/dist/features/ui/stickers/stickers.js +0 -40
- package/dist/features/ui/stickers/stickers.js.map +0 -1
|
@@ -1,231 +1,208 @@
|
|
|
1
|
-
import { jsxs as o, jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { useTheme as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import { EDeviceType as
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import {
|
|
27
|
-
|
|
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:
|
|
33
|
-
onRescheduleDemo:
|
|
30
|
+
studentId: u,
|
|
31
|
+
onRescheduleDemo: f,
|
|
34
32
|
onViewSummary: m,
|
|
35
|
-
onGetStartedAgain:
|
|
33
|
+
onGetStartedAgain: p,
|
|
36
34
|
onChangeTutor: g,
|
|
37
|
-
canChangeTutor:
|
|
38
|
-
onSwitchUser:
|
|
39
|
-
isSubscriptionCancelled:
|
|
40
|
-
HeaderAvatar:
|
|
35
|
+
canChangeTutor: S,
|
|
36
|
+
onSwitchUser: x,
|
|
37
|
+
isSubscriptionCancelled: z,
|
|
38
|
+
HeaderAvatar: N
|
|
41
39
|
}) => {
|
|
42
|
-
const { device: R } =
|
|
40
|
+
const { device: R } = te(), d = R <= de.MOBILE, {
|
|
43
41
|
teacherDetails: i,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
completedSessions: b,
|
|
42
|
+
teacherName: b,
|
|
43
|
+
completedSessions: L,
|
|
47
44
|
nextSessionStart: C,
|
|
48
45
|
nextSessionEnd: T,
|
|
49
46
|
classStatus: $,
|
|
50
|
-
upcomingSessions:
|
|
47
|
+
upcomingSessions: P,
|
|
51
48
|
isDemoDone: s,
|
|
52
|
-
isOnlyOneSessionCompleted:
|
|
53
|
-
isMoreThanOneSessionCompleted:
|
|
54
|
-
showLoading:
|
|
55
|
-
demoId: l
|
|
49
|
+
isOnlyOneSessionCompleted: D,
|
|
50
|
+
isMoreThanOneSessionCompleted: h,
|
|
51
|
+
showLoading: X = !1,
|
|
52
|
+
demoId: l,
|
|
56
53
|
fetchData: y,
|
|
57
|
-
isProcessingFailed:
|
|
54
|
+
isProcessingFailed: J,
|
|
58
55
|
userAttemptId: A
|
|
59
|
-
} =
|
|
60
|
-
y(),
|
|
61
|
-
}, [y,
|
|
62
|
-
|
|
63
|
-
|
|
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]),
|
|
74
|
-
() =>
|
|
75
|
-
[
|
|
76
|
-
),
|
|
77
|
-
(
|
|
78
|
-
m == null || m(
|
|
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,
|
|
81
|
-
),
|
|
82
|
-
() => /* @__PURE__ */ o(
|
|
83
|
-
/* @__PURE__ */
|
|
84
|
-
/* @__PURE__ */
|
|
85
|
-
/* @__PURE__ */
|
|
86
|
-
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
|
|
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:
|
|
95
|
-
onClick:
|
|
83
|
+
width: H,
|
|
84
|
+
onClick: p
|
|
96
85
|
}
|
|
97
86
|
)
|
|
98
87
|
] })
|
|
99
88
|
] }),
|
|
100
|
-
[
|
|
101
|
-
),
|
|
102
|
-
() => /* @__PURE__ */
|
|
103
|
-
|
|
89
|
+
[r, H, p]
|
|
90
|
+
), F = t(
|
|
91
|
+
() => /* @__PURE__ */ e(
|
|
92
|
+
ie,
|
|
104
93
|
{
|
|
105
|
-
completedSessions:
|
|
94
|
+
completedSessions: L,
|
|
106
95
|
nextSessionStartTime: C,
|
|
107
|
-
teacherName:
|
|
96
|
+
teacherName: b,
|
|
108
97
|
status: $,
|
|
109
98
|
nextSessionEndTime: T,
|
|
110
99
|
studentName: c,
|
|
111
|
-
onRescheduleClick:
|
|
100
|
+
onRescheduleClick: E
|
|
112
101
|
}
|
|
113
102
|
),
|
|
114
103
|
[
|
|
115
|
-
|
|
104
|
+
L,
|
|
116
105
|
C,
|
|
117
|
-
|
|
106
|
+
b,
|
|
118
107
|
$,
|
|
119
108
|
T,
|
|
120
109
|
c,
|
|
121
|
-
|
|
110
|
+
E
|
|
122
111
|
]
|
|
123
|
-
),
|
|
124
|
-
/* @__PURE__ */
|
|
125
|
-
/* @__PURE__ */
|
|
126
|
-
] }), [i, s,
|
|
127
|
-
/* @__PURE__ */
|
|
128
|
-
/* @__PURE__ */
|
|
129
|
-
|
|
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:
|
|
122
|
+
onViewSummary: k
|
|
134
123
|
}
|
|
135
124
|
)
|
|
136
125
|
] }), [
|
|
137
|
-
|
|
138
|
-
|
|
126
|
+
h,
|
|
127
|
+
r.separator.extraLarge,
|
|
139
128
|
s,
|
|
140
129
|
c,
|
|
141
|
-
|
|
142
|
-
]),
|
|
143
|
-
/* @__PURE__ */
|
|
144
|
-
/* @__PURE__ */ o(
|
|
145
|
-
/* @__PURE__ */
|
|
146
|
-
/* @__PURE__ */
|
|
147
|
-
|
|
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:
|
|
141
|
+
onClick: I
|
|
153
142
|
}
|
|
154
143
|
)
|
|
155
144
|
] })
|
|
156
|
-
] }) : null, [
|
|
157
|
-
/* @__PURE__ */
|
|
158
|
-
/* @__PURE__ */
|
|
159
|
-
/* @__PURE__ */
|
|
160
|
-
/* @__PURE__ */
|
|
161
|
-
|
|
162
|
-
] }) : null, [i,
|
|
163
|
-
/* @__PURE__ */
|
|
164
|
-
/* @__PURE__ */
|
|
165
|
-
/* @__PURE__ */
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
/* @__PURE__ */
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
/* @__PURE__ */
|
|
181
|
-
|
|
182
|
-
|
|
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
|
-
|
|
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
|
-
|
|
204
|
-
K,
|
|
205
|
-
z,
|
|
206
|
-
N
|
|
182
|
+
q,
|
|
183
|
+
v
|
|
207
184
|
]
|
|
208
|
-
),
|
|
209
|
-
() => /* @__PURE__ */ o(
|
|
210
|
-
/* @__PURE__ */
|
|
211
|
-
/* @__PURE__ */
|
|
185
|
+
), Y = t(
|
|
186
|
+
() => /* @__PURE__ */ o(a, { children: [
|
|
187
|
+
/* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
|
|
188
|
+
/* @__PURE__ */ e(Se, {})
|
|
212
189
|
] }),
|
|
213
|
-
[
|
|
190
|
+
[r.separator.extraLarge]
|
|
214
191
|
);
|
|
215
|
-
return
|
|
216
|
-
/* @__PURE__ */
|
|
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
|
-
|
|
195
|
+
Pe,
|
|
219
196
|
{
|
|
220
197
|
$flex: 1,
|
|
221
198
|
$width: "100%",
|
|
222
199
|
$height: "100%",
|
|
223
200
|
$background: "BLACK_1",
|
|
224
|
-
$gap:
|
|
225
|
-
$gutter:
|
|
201
|
+
$gap: r.medium,
|
|
202
|
+
$gutter: r.small,
|
|
226
203
|
children: [
|
|
227
|
-
|
|
228
|
-
|
|
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
|
-
|
|
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":"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"}
|
|
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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"}
|