@cuemath/leap 2.9.8-as1 → 2.9.8-as2

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,145 @@
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 H from "../../chapters/chapters-list/chapter-item/chapter-item.js";
4
+ import D from "../../homework/homework-card.js";
5
+ import X 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 P, 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), $ = 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(r, { $flexGapX: 2.5, $marginBottomX: 8, $background: "WHITE", $widthX: 45, children: [
33
+ /* @__PURE__ */ o(
34
+ X,
35
+ {
36
+ userType: c,
37
+ studentId: l,
38
+ isHwProcessing: !1,
39
+ hwDetails: w,
40
+ onTestStart: e,
41
+ onNodeAttempt: e,
42
+ onTestPreview: e,
43
+ onNodeView: e,
44
+ onTestReview: e,
45
+ onNodeReview: e,
46
+ onNodeUnassign: e
47
+ }
48
+ ),
49
+ /* @__PURE__ */ t(r, { $flexRowGapX: 1, ref: $, children: [
50
+ /* @__PURE__ */ t(s, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
51
+ "Recent Chapters (",
52
+ (L = f) == null ? void 0 : L.length,
53
+ ")"
54
+ ] }),
55
+ /* @__PURE__ */ o(P, { children: f.map((m, T) => /* @__PURE__ */ o(
56
+ H,
57
+ {
58
+ chapter: m,
59
+ onChapterClick: e,
60
+ itemIndex: T
61
+ },
62
+ m.id
63
+ )) })
64
+ ] }),
65
+ /* @__PURE__ */ o(
66
+ U,
67
+ {
68
+ milestoneType: "ACTIVE",
69
+ activeMilestoneId: "",
70
+ activeTabId: "",
71
+ canCreatePlan: !1,
72
+ courseStream: v,
73
+ isClassOngoing: !1,
74
+ isStudentPresent: !1,
75
+ parentName: "",
76
+ studentId: l,
77
+ studentName: "",
78
+ teacherName: "",
79
+ userType: c,
80
+ onAddChapter: e,
81
+ onAddOutcome: e,
82
+ onChapterClick: e,
83
+ onCreatePlan: e,
84
+ onDelete: e,
85
+ onDraftPublish: e,
86
+ onEdit: e,
87
+ onExpandPastMilestones: e,
88
+ onNodeView: e,
89
+ onNodeReview: e,
90
+ onWidgetTabSelection: e,
91
+ onAssignResources: e,
92
+ onNodeReset: e,
93
+ onNodeUnassign: e,
94
+ onCreateMilestoneTest: e,
95
+ onTestPreview: e,
96
+ onTestReview: e
97
+ }
98
+ )
99
+ ] }),
68
100
  indicator: {
69
101
  position: "top",
70
- tooltipXCoOrdinates: 360,
71
- tooltipYCoOrdinates: 30,
102
+ tooltipXCoOrdinates: 0,
103
+ tooltipYCoOrdinates: 0,
72
104
  backgroundColor: "BLUE_4",
73
105
  borderColor: "BLACK",
74
106
  arrowColor: "BLACK",
75
107
  arrowSize: 12,
76
108
  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,
109
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, children: [
110
+ /* @__PURE__ */ o(s, { $renderAs: "ab2-bold", children: N ? "Welcome to the all new learning homepage." : "Welcome to the all new tutoring homepage." }),
111
+ /* @__PURE__ */ o(
112
+ C,
81
113
  {
82
114
  label: "Next",
83
115
  size: "xsmall",
84
116
  widthX: 6,
85
117
  renderAs: "secondary",
86
- onClick: () => r(o, !1, 0, !0)
118
+ onClick: d
87
119
  }
88
120
  )
89
121
  ] })
90
122
  }
91
123
  },
92
124
  {
93
- originalElementToHighlightRef: n,
94
- elementToHighlight: /* @__PURE__ */ e(H, { children: /* @__PURE__ */ e(P, { userType: g, studentId: a, stream: m }) }),
95
- type: C.TOOLTIP,
125
+ originalElementToHighlightRef: a,
126
+ elementToHighlight: /* @__PURE__ */ o(A, { children: /* @__PURE__ */ o(
127
+ X,
128
+ {
129
+ userType: c,
130
+ studentId: l,
131
+ isHwProcessing: !1,
132
+ hwDetails: w,
133
+ onTestStart: e,
134
+ onNodeAttempt: e,
135
+ onTestPreview: e,
136
+ onNodeView: e,
137
+ onTestReview: e,
138
+ onNodeReview: e,
139
+ onNodeUnassign: e
140
+ }
141
+ ) }),
142
+ type: u.TOOLTIP,
96
143
  indicator: {
97
144
  position: "top",
98
145
  tooltipXCoOrdinates: -197,
@@ -103,16 +150,16 @@ const V = () => {
103
150
  arrowColor: "BLACK",
104
151
  width: 264,
105
152
  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,
153
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, children: [
154
+ /* @__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!" }),
155
+ /* @__PURE__ */ o(
156
+ C,
110
157
  {
111
158
  label: "Next",
112
159
  size: "xsmall",
113
160
  widthX: 6,
114
161
  renderAs: "secondary",
115
- onClick: () => r(o, !1, 0, !0)
162
+ onClick: d
116
163
  }
117
164
  )
118
165
  ] })
@@ -120,21 +167,21 @@ const V = () => {
120
167
  isActive: !1
121
168
  },
122
169
  {
123
- originalElementToHighlightRef: l,
124
- elementToHighlight: /* @__PURE__ */ e(H, { children: /* @__PURE__ */ e(
125
- G,
170
+ originalElementToHighlightRef: a,
171
+ elementToHighlight: /* @__PURE__ */ o(A, { children: /* @__PURE__ */ o(
172
+ D,
126
173
  {
127
174
  isInQueue: !1,
128
- userType: g,
129
- header: k,
130
- subHeader: X || "",
131
- nodeData: t[0],
175
+ userType: c,
176
+ header: S,
177
+ subHeader: B || "",
178
+ nodeData: w[0],
132
179
  renderAs: "homework",
133
- studentId: a,
180
+ studentId: l,
134
181
  shouldOpenOnRight: !1
135
182
  }
136
183
  ) }),
137
- type: C.TOOLTIP,
184
+ type: u.TOOLTIP,
138
185
  indicator: {
139
186
  position: "top",
140
187
  tooltipXCoOrdinates: -35,
@@ -145,16 +192,61 @@ const V = () => {
145
192
  arrowXCoOrdinates: -97,
146
193
  arrowSize: 12,
147
194
  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,
195
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, children: [
196
+ /* @__PURE__ */ o(s, { $renderAs: "ab2-bold", children: "Track homework status and their due dates." }),
197
+ /* @__PURE__ */ o(
198
+ C,
199
+ {
200
+ label: "Next",
201
+ size: "xsmall",
202
+ widthX: 6,
203
+ renderAs: "secondary",
204
+ onClick: d
205
+ }
206
+ )
207
+ ] })
208
+ },
209
+ isActive: !1
210
+ },
211
+ {
212
+ originalElementToHighlightRef: i,
213
+ elementToHighlight: /* @__PURE__ */ o(A, { children: /* @__PURE__ */ t(r, { $flexRowGapX: 1, children: [
214
+ /* @__PURE__ */ t(s, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: [
215
+ "Recent Chapters (",
216
+ (y = f) == null ? void 0 : y.length,
217
+ ")"
218
+ ] }),
219
+ /* @__PURE__ */ o(P, { children: f.map((m, T) => /* @__PURE__ */ o(
220
+ H,
221
+ {
222
+ chapter: m,
223
+ onChapterClick: e,
224
+ itemIndex: T
225
+ },
226
+ m.id
227
+ )) })
228
+ ] }) }),
229
+ type: u.TOOLTIP,
230
+ indicator: {
231
+ position: "top",
232
+ tooltipXCoOrdinates: -200,
233
+ tooltipYCoOrdinates: -10,
234
+ backgroundColor: "YELLOW_4",
235
+ borderColor: "BLACK",
236
+ arrowColor: "BLACK",
237
+ arrowXCoOrdinates: -97,
238
+ arrowSize: 12,
239
+ width: 264,
240
+ tooltipItem: /* @__PURE__ */ t(r, { $flexRowGapX: 0.75, $justifyContent: "flex-start", children: [
241
+ /* @__PURE__ */ o(s, { $renderAs: "ab2-bold", children: "Access all your recent chapters in one place." }),
242
+ /* @__PURE__ */ o(
243
+ C,
152
244
  {
153
- label: d.current ? "Next" : "Got it",
245
+ label: "Got it",
154
246
  size: "xsmall",
155
247
  widthX: 6,
156
248
  renderAs: "secondary",
157
- onClick: () => b(a, O, m)
249
+ onClick: E
158
250
  }
159
251
  )
160
252
  ] })
@@ -162,28 +254,26 @@ const V = () => {
162
254
  isActive: !1
163
255
  }
164
256
  ];
165
- A(o, S);
166
- const x = setTimeout(() => {
167
- clearTimeout(x), r(o);
257
+ O(n, _);
258
+ const k = setTimeout(() => {
259
+ clearTimeout(k), d();
168
260
  }, 200);
169
- f.current.push(x);
261
+ g.current.push(k);
170
262
  },
171
- [A, o, r, b]
172
- ), R = I(
263
+ [E, e, d, n, O]
264
+ ), I = K(
173
265
  () => ({
174
266
  homepageRef: i,
175
- homeworkRef: n,
176
- individualHomeworkRef: l,
177
- recentChaptersRef: d,
178
- startJourney: y
267
+ homeworkRef: a,
268
+ startJourney: x
179
269
  }),
180
- [y]
270
+ [x]
181
271
  );
182
- return N(() => () => {
183
- f.current.forEach((t) => clearTimeout(t)), f.current = [];
184
- }, []), R;
272
+ return G(() => () => {
273
+ g.current.forEach((l) => clearTimeout(l)), g.current = [];
274
+ }, []), I;
185
275
  };
186
276
  export {
187
- V as useHomePageJourney
277
+ ae as useHomePageJourney
188
278
  };
189
279
  //# 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 $flexGapX={2.5} $marginBottomX={8} $background=\"WHITE\" $widthX={45}>\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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"}