@cuemath/leap 2.9.8-as1 → 2.9.8-as3

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.
@@ -1,98 +1,155 @@
1
- import { jsx as e, jsxs as p, Fragment as B } from "react/jsx-runtime";
2
- import { useRef as s, useCallback as L, useMemo as I, useEffect as N } from "react";
3
- import G from "../../homework/homework-card.js";
4
- import P from "../../homework/hw-card-list/hw-card-list.js";
5
- import $ from "../../recent-chapters/recent-chapters.js";
6
- import h from "../../ui/buttons/button/button.js";
7
- import c from "../../ui/layout/flex-view.js";
8
- import u from "../../ui/text/text.js";
9
- import { ELementWrapper as H } from "../comps/coachmark/coachmark-styled.js";
10
- import { JOURNEY_ID_STUDENT as T } from "../journey-id/journey-id-student.js";
11
- import { IndicatorType as C } from "../use-journey/constants.js";
1
+ import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
+ import { useRef as h, useCallback as p, useMemo as K, useEffect as G } from "react";
3
+ import X from "../../chapters/chapters-list/chapter-item/chapter-item.js";
4
+ import D from "../../homework/homework-card.js";
5
+ import H from "../../homework/hw-card-list/hw-card-list-view.js";
6
+ import U from "../../milestone/milestone-list-container/milestone-list-container.js";
7
+ import C from "../../ui/buttons/button/button.js";
8
+ import r from "../../ui/layout/flex-view.js";
9
+ import s from "../../ui/text/text.js";
10
+ import { ChaptersWrapper as $, ELementWrapper as A } from "../comps/coachmark/coachmark-styled.js";
11
+ import { JOURNEY_ID_STUDENT as z } from "../journey-id/journey-id-student.js";
12
+ import { HOMEWORK_DETAILS as w } from "../mocks/home-page-homwworks-mock.js";
13
+ import { RECENT_CHAPTERS as f } from "../mocks/recent-chapters-mock.js";
14
+ import { IndicatorType as u } from "../use-journey/constants.js";
12
15
  import { useJourney as J } from "../use-journey/use-journey.js";
13
- const V = () => {
14
- const o = T.HOMEPAGE_JOURNEY, i = s(null), n = s(null), l = s(null), d = s(null), f = s([]), { nextCoachmark: r, setJourney: A, endJourney: w, addCoachmark: E } = J(), b = L(
15
- (t, a, m) => {
16
- d.current ? (E(T.HOMEPAGE_JOURNEY, {
17
- originalElementToHighlightRef: d,
18
- elementToHighlight: /* @__PURE__ */ e(c, { $widthX: 45, children: /* @__PURE__ */ e(
19
- $,
20
- {
21
- studentId: t,
22
- courseStream: m,
23
- userType: a ? "STUDENT" : "TEACHER",
24
- onChapterClick: () => null
25
- }
26
- ) }),
27
- isActive: !1,
28
- type: C.TOOLTIP,
29
- indicator: {
30
- tooltipItem: /* @__PURE__ */ p(c, { $flexRowGapX: 0.75, $justifyContent: "flex-start", children: [
31
- /* @__PURE__ */ e(u, { $renderAs: "ab2-bold", children: "Access all your recent chapters in one place." }),
32
- /* @__PURE__ */ e(
33
- h,
34
- {
35
- label: "Got it",
36
- size: "xsmall",
37
- widthX: 6,
38
- renderAs: "secondary",
39
- onClick: () => w(T.HOMEPAGE_JOURNEY)
40
- }
41
- )
42
- ] }),
43
- position: "top",
44
- renderAs: "primary",
45
- tooltipXCoOrdinates: -227,
46
- tooltipYCoOrdinates: 12,
47
- arrowXCoOrdinates: -110,
48
- backgroundColor: "YELLOW_4",
49
- borderColor: "BLACK",
50
- arrowColor: "BLACK",
51
- arrowSize: 12,
52
- width: 264
53
- }
54
- }), r(o, !1, 0, !0)) : w(o);
55
- },
56
- [r, o, E, w]
57
- ), y = L(
58
- ({ hwDetails: t, studentId: a, stream: m, userType: g }) => {
59
- const { title: k, subtext: X } = t[0], O = g === "STUDENT";
60
- if (!(i != null && i.current) || !(n != null && n.current) || !(l != null && l.current))
16
+ const ae = () => {
17
+ const n = z.HOMEPAGE_JOURNEY, i = h(null), a = h(null), P = h(null), g = h([]), { nextCoachmark: b, setJourney: O, endJourney: R } = J(), e = p(() => null, []), E = p(() => {
18
+ R(n);
19
+ }, [R, n]), d = p(() => {
20
+ b(n, !1, 0, !0);
21
+ }, [b, n]), x = p(
22
+ ({ studentId: l, stream: v, userType: c }) => {
23
+ var L, y;
24
+ const { title: S, subtext: B } = w[0], N = c === "STUDENT";
25
+ if (!(i != null && i.current) || !(a != null && a.current))
61
26
  return;
62
- const S = [
27
+ const _ = [
63
28
  {
64
29
  originalElementToHighlightRef: i,
65
30
  isActive: !1,
66
- type: C.TOOLTIP,
67
- elementToHighlight: /* @__PURE__ */ e(B, {}),
31
+ type: u.TOOLTIP,
32
+ elementToHighlight: /* @__PURE__ */ t(
33
+ r,
34
+ {
35
+ $flexGapX: 2.5,
36
+ $marginBottomX: 8,
37
+ $background: "WHITE",
38
+ $widthX: 47,
39
+ $gutterX: 1,
40
+ children: [
41
+ /* @__PURE__ */ o(
42
+ H,
43
+ {
44
+ userType: c,
45
+ studentId: l,
46
+ isHwProcessing: !1,
47
+ hwDetails: w,
48
+ onTestStart: e,
49
+ onNodeAttempt: e,
50
+ onTestPreview: e,
51
+ onNodeView: e,
52
+ onTestReview: e,
53
+ onNodeReview: e,
54
+ onNodeUnassign: e
55
+ }
56
+ ),
57
+ /* @__PURE__ */ t(r, { $flexRowGapX: 1, ref: P, children: [
58
+ /* @__PURE__ */ t(s, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
59
+ "Recent Chapters (",
60
+ (L = f) == null ? void 0 : L.length,
61
+ ")"
62
+ ] }),
63
+ /* @__PURE__ */ o($, { children: f.map((m, T) => /* @__PURE__ */ o(
64
+ X,
65
+ {
66
+ chapter: m,
67
+ onChapterClick: e,
68
+ itemIndex: T
69
+ },
70
+ m.id
71
+ )) })
72
+ ] }),
73
+ /* @__PURE__ */ o(
74
+ U,
75
+ {
76
+ milestoneType: "ACTIVE",
77
+ activeMilestoneId: "",
78
+ activeTabId: "",
79
+ canCreatePlan: !1,
80
+ courseStream: v,
81
+ isClassOngoing: !1,
82
+ isStudentPresent: !1,
83
+ parentName: "",
84
+ studentId: l,
85
+ studentName: "",
86
+ teacherName: "",
87
+ userType: c,
88
+ onAddChapter: e,
89
+ onAddOutcome: e,
90
+ onChapterClick: e,
91
+ onCreatePlan: e,
92
+ onDelete: e,
93
+ onDraftPublish: e,
94
+ onEdit: e,
95
+ onExpandPastMilestones: e,
96
+ onNodeView: e,
97
+ onNodeReview: e,
98
+ onWidgetTabSelection: e,
99
+ onAssignResources: e,
100
+ onNodeReset: e,
101
+ onNodeUnassign: e,
102
+ onCreateMilestoneTest: e,
103
+ onTestPreview: e,
104
+ onTestReview: e
105
+ }
106
+ )
107
+ ]
108
+ }
109
+ ),
68
110
  indicator: {
69
111
  position: "top",
70
- tooltipXCoOrdinates: 360,
71
- tooltipYCoOrdinates: 30,
112
+ tooltipXCoOrdinates: 0,
113
+ tooltipYCoOrdinates: 0,
72
114
  backgroundColor: "BLUE_4",
73
115
  borderColor: "BLACK",
74
116
  arrowColor: "BLACK",
75
117
  arrowSize: 12,
76
118
  width: 264,
77
- tooltipItem: /* @__PURE__ */ p(c, { $flexRowGapX: 0.75, children: [
78
- /* @__PURE__ */ e(u, { $renderAs: "ab2-bold", children: O ? "Welcome to the all new learning homepage." : "Welcome to the all new tutoring homepage." }),
79
- /* @__PURE__ */ e(
80
- h,
119
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, children: [
120
+ /* @__PURE__ */ o(s, { $renderAs: "ab2-bold", children: N ? "Welcome to the all new learning homepage." : "Welcome to the all new tutoring homepage." }),
121
+ /* @__PURE__ */ o(
122
+ C,
81
123
  {
82
124
  label: "Next",
83
125
  size: "xsmall",
84
126
  widthX: 6,
85
127
  renderAs: "secondary",
86
- onClick: () => r(o, !1, 0, !0)
128
+ onClick: d
87
129
  }
88
130
  )
89
131
  ] })
90
132
  }
91
133
  },
92
134
  {
93
- originalElementToHighlightRef: n,
94
- elementToHighlight: /* @__PURE__ */ e(H, { children: /* @__PURE__ */ e(P, { userType: g, studentId: a, stream: m }) }),
95
- type: C.TOOLTIP,
135
+ originalElementToHighlightRef: a,
136
+ elementToHighlight: /* @__PURE__ */ o(A, { children: /* @__PURE__ */ o(
137
+ H,
138
+ {
139
+ userType: c,
140
+ studentId: l,
141
+ isHwProcessing: !1,
142
+ hwDetails: w,
143
+ onTestStart: e,
144
+ onNodeAttempt: e,
145
+ onTestPreview: e,
146
+ onNodeView: e,
147
+ onTestReview: e,
148
+ onNodeReview: e,
149
+ onNodeUnassign: e
150
+ }
151
+ ) }),
152
+ type: u.TOOLTIP,
96
153
  indicator: {
97
154
  position: "top",
98
155
  tooltipXCoOrdinates: -197,
@@ -103,16 +160,16 @@ const V = () => {
103
160
  arrowColor: "BLACK",
104
161
  width: 264,
105
162
  arrowSize: 12,
106
- tooltipItem: /* @__PURE__ */ p(c, { $flexRowGapX: 0.75, children: [
107
- /* @__PURE__ */ e(u, { $renderAs: "ab2-bold", children: O ? "Homework is now easy to access and easy to complete!" : "Homework is now easy to access and easy to review!" }),
108
- /* @__PURE__ */ e(
109
- h,
163
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, children: [
164
+ /* @__PURE__ */ o(s, { $renderAs: "ab2-bold", children: N ? "Homework is now easy to access and easy to complete!" : "Homework is now easy to access and easy to review!" }),
165
+ /* @__PURE__ */ o(
166
+ C,
110
167
  {
111
168
  label: "Next",
112
169
  size: "xsmall",
113
170
  widthX: 6,
114
171
  renderAs: "secondary",
115
- onClick: () => r(o, !1, 0, !0)
172
+ onClick: d
116
173
  }
117
174
  )
118
175
  ] })
@@ -120,21 +177,21 @@ const V = () => {
120
177
  isActive: !1
121
178
  },
122
179
  {
123
- originalElementToHighlightRef: l,
124
- elementToHighlight: /* @__PURE__ */ e(H, { children: /* @__PURE__ */ e(
125
- G,
180
+ originalElementToHighlightRef: a,
181
+ elementToHighlight: /* @__PURE__ */ o(A, { children: /* @__PURE__ */ o(
182
+ D,
126
183
  {
127
184
  isInQueue: !1,
128
- userType: g,
129
- header: k,
130
- subHeader: X || "",
131
- nodeData: t[0],
185
+ userType: c,
186
+ header: S,
187
+ subHeader: B || "",
188
+ nodeData: w[0],
132
189
  renderAs: "homework",
133
- studentId: a,
190
+ studentId: l,
134
191
  shouldOpenOnRight: !1
135
192
  }
136
193
  ) }),
137
- type: C.TOOLTIP,
194
+ type: u.TOOLTIP,
138
195
  indicator: {
139
196
  position: "top",
140
197
  tooltipXCoOrdinates: -35,
@@ -145,16 +202,61 @@ const V = () => {
145
202
  arrowXCoOrdinates: -97,
146
203
  arrowSize: 12,
147
204
  width: 264,
148
- tooltipItem: /* @__PURE__ */ p(c, { $flexRowGapX: 0.75, children: [
149
- /* @__PURE__ */ e(u, { $renderAs: "ab2-bold", children: "Track homework status and their due dates." }),
150
- /* @__PURE__ */ e(
151
- h,
205
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, children: [
206
+ /* @__PURE__ */ o(s, { $renderAs: "ab2-bold", children: "Track homework status and their due dates." }),
207
+ /* @__PURE__ */ o(
208
+ C,
209
+ {
210
+ label: "Next",
211
+ size: "xsmall",
212
+ widthX: 6,
213
+ renderAs: "secondary",
214
+ onClick: d
215
+ }
216
+ )
217
+ ] })
218
+ },
219
+ isActive: !1
220
+ },
221
+ {
222
+ originalElementToHighlightRef: i,
223
+ elementToHighlight: /* @__PURE__ */ o(A, { children: /* @__PURE__ */ t(r, { $flexRowGapX: 1, children: [
224
+ /* @__PURE__ */ t(s, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
225
+ "Recent Chapters (",
226
+ (y = f) == null ? void 0 : y.length,
227
+ ")"
228
+ ] }),
229
+ /* @__PURE__ */ o($, { children: f.map((m, T) => /* @__PURE__ */ o(
230
+ X,
231
+ {
232
+ chapter: m,
233
+ onChapterClick: e,
234
+ itemIndex: T
235
+ },
236
+ m.id
237
+ )) })
238
+ ] }) }),
239
+ type: u.TOOLTIP,
240
+ indicator: {
241
+ position: "top",
242
+ tooltipXCoOrdinates: -200,
243
+ tooltipYCoOrdinates: -10,
244
+ backgroundColor: "YELLOW_4",
245
+ borderColor: "BLACK",
246
+ arrowColor: "BLACK",
247
+ arrowXCoOrdinates: -97,
248
+ arrowSize: 12,
249
+ width: 264,
250
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, $justifyContent: "flex-start", children: [
251
+ /* @__PURE__ */ o(s, { $renderAs: "ab2-bold", children: "Access all your recent chapters in one place." }),
252
+ /* @__PURE__ */ o(
253
+ C,
152
254
  {
153
- label: d.current ? "Next" : "Got it",
255
+ label: "Got it",
154
256
  size: "xsmall",
155
257
  widthX: 6,
156
258
  renderAs: "secondary",
157
- onClick: () => b(a, O, m)
259
+ onClick: E
158
260
  }
159
261
  )
160
262
  ] })
@@ -162,28 +264,26 @@ const V = () => {
162
264
  isActive: !1
163
265
  }
164
266
  ];
165
- A(o, S);
166
- const x = setTimeout(() => {
167
- clearTimeout(x), r(o);
267
+ O(n, _);
268
+ const k = setTimeout(() => {
269
+ clearTimeout(k), d();
168
270
  }, 200);
169
- f.current.push(x);
271
+ g.current.push(k);
170
272
  },
171
- [A, o, r, b]
172
- ), R = I(
273
+ [E, e, d, n, O]
274
+ ), I = K(
173
275
  () => ({
174
276
  homepageRef: i,
175
- homeworkRef: n,
176
- individualHomeworkRef: l,
177
- recentChaptersRef: d,
178
- startJourney: y
277
+ homeworkRef: a,
278
+ startJourney: x
179
279
  }),
180
- [y]
280
+ [x]
181
281
  );
182
- return N(() => () => {
183
- f.current.forEach((t) => clearTimeout(t)), f.current = [];
184
- }, []), R;
282
+ return G(() => () => {
283
+ g.current.forEach((l) => clearTimeout(l)), g.current = [];
284
+ }, []), I;
185
285
  };
186
286
  export {
187
- V as useHomePageJourney
287
+ ae as useHomePageJourney
188
288
  };
189
289
  //# sourceMappingURL=use-home-page-journey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-home-page-journey.js","sources":["../../../../src/features/journey/hooks/use-home-page-journey.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { TCourseStream } from '../../milestone/create/milestone-create-types';\nimport type { IArrowTooltipProps } from '../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { IHomepageStartJourneyProps } from '../types/homepage-journey-types';\nimport type { ICoachmarkProps } from '../use-journey/journey-context-types';\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport HomeworkCard from '../../homework/homework-card';\nimport HWCardList from '../../homework/hw-card-list/hw-card-list';\nimport RecentChapters from '../../recent-chapters/recent-chapters';\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { ELementWrapper } from '../comps/coachmark/coachmark-styled';\nimport { JOURNEY_ID_STUDENT } from '../journey-id/journey-id-student';\nimport { IndicatorType } from '../use-journey/constants';\nimport { useJourney } from '../use-journey/use-journey';\n\nexport const useHomePageJourney = () => {\n const journeyId = JOURNEY_ID_STUDENT.HOMEPAGE_JOURNEY;\n\n const homepageRef = useRef<HTMLDivElement>(null);\n const homeworkRef = useRef<HTMLDivElement>(null);\n const individualHomeworkRef = useRef<HTMLDivElement>(null);\n const recentChaptersRef = useRef<HTMLDivElement>(null);\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n const { nextCoachmark, setJourney, endJourney, addCoachmark } = useJourney();\n\n const handleLastStep = useCallback(\n (userId: string, isStudent: boolean, courseValue: string) => {\n if (recentChaptersRef.current) {\n addCoachmark(JOURNEY_ID_STUDENT.HOMEPAGE_JOURNEY, {\n originalElementToHighlightRef: recentChaptersRef,\n elementToHighlight: (\n <FlexView $widthX={45}>\n <RecentChapters\n studentId={userId}\n courseStream={courseValue as TCourseStream}\n userType={isStudent ? 'STUDENT' : 'TEACHER'}\n onChapterClick={() => null}\n />\n </FlexView>\n ),\n isActive: false,\n type: IndicatorType.TOOLTIP,\n indicator: {\n tooltipItem: (\n <FlexView $flexRowGapX={0.75} $justifyContent=\"flex-start\">\n <Text $renderAs=\"ab2-bold\">Access all your recent chapters in one place.</Text>\n <Button\n label=\"Got it\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={() => endJourney(JOURNEY_ID_STUDENT.HOMEPAGE_JOURNEY)}\n />\n </FlexView>\n ),\n position: 'top',\n renderAs: 'primary',\n tooltipXCoOrdinates: -227,\n tooltipYCoOrdinates: 12,\n arrowXCoOrdinates: -110,\n backgroundColor: 'YELLOW_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowSize: 12,\n width: 264,\n } as IArrowTooltipProps,\n });\n nextCoachmark(journeyId, false, 0, true);\n } else {\n endJourney(journeyId);\n }\n },\n [nextCoachmark, journeyId, addCoachmark, endJourney],\n );\n\n const startJourney = useCallback(\n ({ hwDetails, studentId, stream, userType }: IHomepageStartJourneyProps) => {\n const { title, subtext } = hwDetails[0] as INodeDataProps;\n const isStudent = userType === 'STUDENT';\n\n if (!homepageRef?.current || !homeworkRef?.current || !individualHomeworkRef?.current) {\n return;\n }\n\n const homepageSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: homepageRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: 360,\n tooltipYCoOrdinates: 30,\n backgroundColor: 'BLUE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowSize: 12,\n width: 264,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">\n {isStudent\n ? 'Welcome to the all new learning homepage.'\n : 'Welcome to the all new tutoring homepage.'}\n </Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={() => nextCoachmark(journeyId, false, 0, true)}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: homeworkRef,\n elementToHighlight: (\n <ELementWrapper>\n <HWCardList userType={userType} studentId={studentId} stream={stream} />\n </ELementWrapper>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: -197,\n tooltipYCoOrdinates: -12,\n arrowXCoOrdinates: -110,\n backgroundColor: 'GREEN_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n width: 264,\n arrowSize: 12,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">\n {isStudent\n ? 'Homework is now easy to access and easy to complete!'\n : 'Homework is now easy to access and easy to review!'}\n </Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={() => nextCoachmark(journeyId, false, 0, true)}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n {\n originalElementToHighlightRef: individualHomeworkRef,\n elementToHighlight: (\n <ELementWrapper>\n <HomeworkCard\n isInQueue={false}\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={hwDetails[0] as INodeDataProps}\n renderAs=\"homework\"\n studentId={studentId}\n shouldOpenOnRight={false}\n />\n </ELementWrapper>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: -35,\n tooltipYCoOrdinates: -7,\n backgroundColor: 'PURPLE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowXCoOrdinates: -97,\n arrowSize: 12,\n width: 264,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">Track homework status and their due dates.</Text>\n <Button\n label={recentChaptersRef.current ? 'Next' : 'Got it'}\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={() => handleLastStep(studentId, isStudent, stream)}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, homepageSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n nextCoachmark(journeyId);\n }, 200);\n\n timerRefs.current.push(delayBeforeStart); // Store to cleanup later\n },\n [setJourney, journeyId, nextCoachmark, handleLastStep],\n );\n\n const data = useMemo(\n () => ({\n homepageRef,\n homeworkRef,\n individualHomeworkRef,\n recentChaptersRef,\n startJourney,\n }),\n [startJourney],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n timerRefs.current.forEach(timer => clearTimeout(timer));\n timerRefs.current = [];\n };\n }, []);\n\n return data;\n};\n"],"names":["useHomePageJourney","journeyId","JOURNEY_ID_STUDENT","homepageRef","useRef","homeworkRef","individualHomeworkRef","recentChaptersRef","timerRefs","nextCoachmark","setJourney","endJourney","addCoachmark","useJourney","handleLastStep","useCallback","userId","isStudent","courseValue","jsx","FlexView","RecentChapters","IndicatorType","jsxs","Text","Button","startJourney","hwDetails","studentId","stream","userType","title","subtext","homepageSteps","Fragment","ELementWrapper","HWCardList","HomeworkCard","delayBeforeStart","data","useMemo","useEffect","timer"],"mappings":"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"}
1
+ {"version":3,"file":"use-home-page-journey.js","sources":["../../../../src/features/journey/hooks/use-home-page-journey.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { IChapterDataProps } from '../../chapters/chapter/chapter-types';\nimport type { TCourseStream } from '../../milestone/create/milestone-create-types';\nimport type { IArrowTooltipProps } from '../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { IHomepageStartJourneyProps } from '../types/homepage-journey-types';\nimport type { ICoachmarkProps } from '../use-journey/journey-context-types';\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport ChapterItem from '../../chapters/chapters-list/chapter-item/chapter-item';\nimport HomeworkCard from '../../homework/homework-card';\nimport HwCardListView from '../../homework/hw-card-list/hw-card-list-view';\nimport MilestoneListContainer from '../../milestone/milestone-list-container/milestone-list-container';\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { ELementWrapper, ChaptersWrapper } from '../comps/coachmark/coachmark-styled';\nimport { JOURNEY_ID_STUDENT } from '../journey-id/journey-id-student';\nimport { HOMEWORK_DETAILS } from '../mocks/home-page-homwworks-mock';\nimport { RECENT_CHAPTERS } from '../mocks/recent-chapters-mock';\nimport { IndicatorType } from '../use-journey/constants';\nimport { useJourney } from '../use-journey/use-journey';\n\nexport const useHomePageJourney = () => {\n const journeyId = JOURNEY_ID_STUDENT.HOMEPAGE_JOURNEY;\n\n const homepageRef = useRef<HTMLDivElement>(null);\n const homeworkRef = useRef<HTMLDivElement>(null);\n const recentChaptersRef = useRef<HTMLDivElement>(null);\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n const { nextCoachmark, setJourney, endJourney } = useJourney();\n\n const emptyFunction = useCallback(() => null, []);\n\n const handleEndJourney = useCallback(() => {\n endJourney(journeyId);\n }, [endJourney, journeyId]);\n\n const handleNextCoachmark = useCallback(() => {\n nextCoachmark(journeyId, false, 0, true);\n }, [nextCoachmark, journeyId]);\n\n const startJourney = useCallback(\n ({ studentId, stream, userType }: IHomepageStartJourneyProps) => {\n const { title, subtext } = HOMEWORK_DETAILS[0] as INodeDataProps;\n const isStudent = userType === 'STUDENT';\n\n if (!homepageRef?.current || !homeworkRef?.current) {\n return;\n }\n\n const homepageSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: homepageRef,\n isActive: false,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: (\n <FlexView\n $flexGapX={2.5}\n $marginBottomX={8}\n $background=\"WHITE\"\n $widthX={47}\n $gutterX={1}\n >\n <HwCardListView\n userType={userType}\n studentId={studentId}\n isHwProcessing={false}\n hwDetails={HOMEWORK_DETAILS as INodeDataProps[]}\n onTestStart={emptyFunction}\n onNodeAttempt={emptyFunction}\n onTestPreview={emptyFunction}\n onNodeView={emptyFunction}\n onTestReview={emptyFunction}\n onNodeReview={emptyFunction}\n onNodeUnassign={emptyFunction}\n />\n <FlexView $flexRowGapX={1} ref={recentChaptersRef}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Recent Chapters ({RECENT_CHAPTERS?.length})\n </Text>\n <ChaptersWrapper>\n {RECENT_CHAPTERS.map((chapter, idx) => (\n <ChapterItem\n key={chapter.id}\n chapter={chapter as unknown as IChapterDataProps}\n onChapterClick={emptyFunction}\n itemIndex={idx}\n />\n ))}\n </ChaptersWrapper>\n </FlexView>\n <MilestoneListContainer\n milestoneType=\"ACTIVE\"\n activeMilestoneId={''}\n activeTabId={''}\n canCreatePlan={false}\n courseStream={stream as TCourseStream}\n isClassOngoing={false}\n isStudentPresent={false}\n parentName={''}\n studentId={studentId}\n studentName={''}\n teacherName={''}\n userType={userType}\n //* Callbacks\n onAddChapter={emptyFunction}\n onAddOutcome={emptyFunction}\n onChapterClick={emptyFunction}\n onCreatePlan={emptyFunction}\n onDelete={emptyFunction}\n onDraftPublish={emptyFunction}\n onEdit={emptyFunction}\n onExpandPastMilestones={emptyFunction}\n onNodeView={emptyFunction}\n onNodeReview={emptyFunction}\n onWidgetTabSelection={emptyFunction}\n //* Resource callbacks\n onAssignResources={emptyFunction}\n onNodeReset={emptyFunction}\n onNodeUnassign={emptyFunction}\n //* Tests callbacks\n onCreateMilestoneTest={emptyFunction}\n onTestPreview={emptyFunction}\n onTestReview={emptyFunction}\n />\n </FlexView>\n ),\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: 0,\n tooltipYCoOrdinates: 0,\n backgroundColor: 'BLUE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowSize: 12,\n width: 264,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">\n {isStudent\n ? 'Welcome to the all new learning homepage.'\n : 'Welcome to the all new tutoring homepage.'}\n </Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={handleNextCoachmark}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: homeworkRef,\n elementToHighlight: (\n <ELementWrapper>\n <HwCardListView\n userType={userType}\n studentId={studentId}\n isHwProcessing={false}\n hwDetails={HOMEWORK_DETAILS as INodeDataProps[]}\n onTestStart={emptyFunction}\n onNodeAttempt={emptyFunction}\n onTestPreview={emptyFunction}\n onNodeView={emptyFunction}\n onTestReview={emptyFunction}\n onNodeReview={emptyFunction}\n onNodeUnassign={emptyFunction}\n />\n </ELementWrapper>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: -197,\n tooltipYCoOrdinates: -12,\n arrowXCoOrdinates: -110,\n backgroundColor: 'GREEN_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n width: 264,\n arrowSize: 12,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">\n {isStudent\n ? 'Homework is now easy to access and easy to complete!'\n : 'Homework is now easy to access and easy to review!'}\n </Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={handleNextCoachmark}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n {\n originalElementToHighlightRef: homeworkRef,\n elementToHighlight: (\n <ELementWrapper>\n <HomeworkCard\n isInQueue={false}\n userType={userType}\n header={title}\n subHeader={subtext || ''}\n nodeData={HOMEWORK_DETAILS[0] as INodeDataProps}\n renderAs=\"homework\"\n studentId={studentId}\n shouldOpenOnRight={false}\n />\n </ELementWrapper>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: -35,\n tooltipYCoOrdinates: -7,\n backgroundColor: 'PURPLE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowXCoOrdinates: -97,\n arrowSize: 12,\n width: 264,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75}>\n <Text $renderAs=\"ab2-bold\">Track homework status and their due dates.</Text>\n <Button\n label=\"Next\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={handleNextCoachmark}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n {\n originalElementToHighlightRef: homepageRef,\n elementToHighlight: (\n <ELementWrapper>\n <FlexView $flexRowGapX={1}>\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Recent Chapters ({RECENT_CHAPTERS?.length})\n </Text>\n <ChaptersWrapper>\n {RECENT_CHAPTERS.map((chapter, idx) => (\n <ChapterItem\n key={chapter.id}\n chapter={chapter as unknown as IChapterDataProps}\n onChapterClick={emptyFunction}\n itemIndex={idx}\n />\n ))}\n </ChaptersWrapper>\n </FlexView>\n </ELementWrapper>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n position: 'top',\n tooltipXCoOrdinates: -200,\n tooltipYCoOrdinates: -10,\n backgroundColor: 'YELLOW_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n arrowXCoOrdinates: -97,\n arrowSize: 12,\n width: 264,\n tooltipItem: (\n <FlexView $flexRowGapX={0.75} $justifyContent=\"flex-start\">\n <Text $renderAs=\"ab2-bold\">Access all your recent chapters in one place.</Text>\n <Button\n label=\"Got it\"\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={handleEndJourney}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, homepageSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n handleNextCoachmark();\n }, 200);\n\n timerRefs.current.push(delayBeforeStart); // Store to cleanup later\n },\n [handleEndJourney, emptyFunction, handleNextCoachmark, journeyId, setJourney],\n );\n\n const data = useMemo(\n () => ({\n homepageRef,\n homeworkRef,\n startJourney,\n }),\n [startJourney],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n timerRefs.current.forEach(timer => clearTimeout(timer));\n timerRefs.current = [];\n };\n }, []);\n\n return data;\n};\n"],"names":["useHomePageJourney","journeyId","JOURNEY_ID_STUDENT","homepageRef","useRef","homeworkRef","recentChaptersRef","timerRefs","nextCoachmark","setJourney","endJourney","useJourney","emptyFunction","useCallback","handleEndJourney","handleNextCoachmark","startJourney","studentId","stream","userType","title","subtext","HOMEWORK_DETAILS","isStudent","homepageSteps","IndicatorType","jsxs","FlexView","jsx","HwCardListView","Text","_a","RECENT_CHAPTERS","ChaptersWrapper","chapter","idx","ChapterItem","MilestoneListContainer","Button","ELementWrapper","HomeworkCard","_b","delayBeforeStart","data","useMemo","useEffect","timer"],"mappings":"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"}