@cuemath/leap 3.5.4-as2 → 3.5.4-as4
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/timeline/daily-timeline/daily-timeline-styled.js +17 -13
- package/dist/features/timeline/daily-timeline/daily-timeline-styled.js.map +1 -1
- package/dist/features/timeline/daily-timeline/daily-timeline.js +115 -104
- package/dist/features/timeline/daily-timeline/daily-timeline.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,33 +1,37 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
const a = e
|
|
1
|
+
import t from "styled-components";
|
|
2
|
+
import e from "../../ui/layout/flex-view.js";
|
|
3
|
+
const a = t(e)`
|
|
4
4
|
overflow-y: auto;
|
|
5
|
+
width: 100%;
|
|
6
|
+
`, p = t(e)`
|
|
5
7
|
max-width: 512px;
|
|
6
|
-
|
|
8
|
+
width: 100%;
|
|
9
|
+
`, d = t(e)`
|
|
7
10
|
& > div {
|
|
8
11
|
border-bottom: none;
|
|
9
12
|
}
|
|
10
13
|
& > div:last-child {
|
|
11
|
-
border-bottom: 1px solid ${({ theme: o, $borderBottomColor:
|
|
14
|
+
border-bottom: 1px solid ${({ theme: o, $borderBottomColor: i }) => o.colors[i]};
|
|
12
15
|
}
|
|
13
|
-
`,
|
|
16
|
+
`, l = t(e)`
|
|
14
17
|
margin-top: ${({ $addedmonthbreak: o }) => o ? "-122px" : "0"};
|
|
15
18
|
z-index: 1;
|
|
16
|
-
`,
|
|
19
|
+
`, m = t(e)`
|
|
17
20
|
margin-top: ${({ $isLastYear: o }) => o ? "-46px" : "0"};
|
|
18
21
|
background-image: url(${({ $img: o }) => o});
|
|
19
22
|
background-size: cover;
|
|
20
23
|
background-position: center;
|
|
21
24
|
width: 100%;
|
|
22
25
|
height: 246px;
|
|
23
|
-
`,
|
|
26
|
+
`, c = t(e)`
|
|
24
27
|
z-index: 1;
|
|
25
28
|
`;
|
|
26
29
|
export {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
l as DailyItems,
|
|
31
|
+
p as DailyTimelineContainer,
|
|
32
|
+
d as DailyTimelineItemsContainer,
|
|
33
|
+
m as MonthImageWrapper,
|
|
34
|
+
a as ScrollWrapper,
|
|
35
|
+
c as YearWrapper
|
|
32
36
|
};
|
|
33
37
|
//# sourceMappingURL=daily-timeline-styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-timeline-styled.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { type TColorNames } from '../../ui/types';\n\nconst
|
|
1
|
+
{"version":3,"file":"daily-timeline-styled.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { type TColorNames } from '../../ui/types';\n\nconst ScrollWrapper = styled(FlexView)`\n overflow-y: auto;\n width: 100%;\n`;\n\nconst DailyTimelineContainer = styled(FlexView)`\n max-width: 512px;\n width: 100%;\n`;\n\nconst DailyTimelineItemsContainer = styled(FlexView)<{ $borderBottomColor: TColorNames }>`\n & > div {\n border-bottom: none;\n }\n & > div:last-child {\n border-bottom: 1px solid ${({ theme, $borderBottomColor }) => theme.colors[$borderBottomColor]};\n }\n`;\n\nconst DailyItems = styled(FlexView)<{ $addedmonthbreak?: boolean }>`\n margin-top: ${({ $addedmonthbreak }) => ($addedmonthbreak ? '-122px' : '0')};\n z-index: 1;\n`;\n\nconst MonthImageWrapper = styled(FlexView)<{ $isLastYear: boolean; $img: string }>`\n margin-top: ${({ $isLastYear }) => ($isLastYear ? '-46px' : '0')};\n background-image: url(${({ $img }) => $img});\n background-size: cover;\n background-position: center;\n width: 100%;\n height: 246px;\n`;\n\nconst YearWrapper = styled(FlexView)`\n z-index: 1;\n`;\n\nexport {\n DailyTimelineContainer,\n DailyItems,\n MonthImageWrapper,\n YearWrapper,\n DailyTimelineItemsContainer,\n ScrollWrapper,\n};\n"],"names":["ScrollWrapper","styled","FlexView","DailyTimelineContainer","DailyTimelineItemsContainer","theme","$borderBottomColor","DailyItems","$addedmonthbreak","MonthImageWrapper","$isLastYear","$img","YearWrapper"],"mappings":";;AAKM,MAAAA,IAAgBC,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAK/BC,IAAyBF,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAKxCE,IAA8BH,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,+BAKpB,CAAC,EAAE,OAAAG,GAAO,oBAAAC,EAAA,MAAyBD,EAAM,OAAOC,CAAkB,CAAC;AAAA;AAAA,GAI5FC,IAAaN,EAAOC,CAAQ;AAAA,gBAClB,CAAC,EAAE,kBAAAM,EAAA,MAAwBA,IAAmB,WAAW,GAAI;AAAA;AAAA,GAIvEC,IAAoBR,EAAOC,CAAQ;AAAA,gBACzB,CAAC,EAAE,aAAAQ,EAAA,MAAmBA,IAAc,UAAU,GAAI;AAAA,0BACxC,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA,GAOtCC,IAAcX,EAAOC,CAAQ;AAAA;AAAA;"}
|
|
@@ -1,119 +1,130 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { ILLUSTRATIONS as
|
|
4
|
-
import { Loader as
|
|
5
|
-
import
|
|
1
|
+
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { memo as G, useMemo as x, useState as B, useRef as U, useCallback as Z, useEffect as p } from "react";
|
|
3
|
+
import { ILLUSTRATIONS as J } from "../../../assets/illustrations/illustrations.js";
|
|
4
|
+
import { Loader as Q } from "../../ui/buttons/button/button-styled.js";
|
|
5
|
+
import ee from "../../ui/error/error.js";
|
|
6
6
|
import u from "../../ui/layout/flex-view.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
7
|
+
import te from "../../ui/loader/app-loader/app-loader.js";
|
|
8
|
+
import l from "../../ui/separator/separator.js";
|
|
9
|
+
import re from "../../ui/simple-accordian/accordion.js";
|
|
10
|
+
import E from "../../ui/text/text.js";
|
|
11
11
|
import { useDailyTimelineGet as oe } from "../api/use-daily-timeline-get.js";
|
|
12
|
-
import { getTimelineCardIcon as
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import { parseISO as
|
|
16
|
-
import { isLastDayOfMonth as
|
|
17
|
-
const
|
|
18
|
-
({ userType:
|
|
19
|
-
const
|
|
20
|
-
get:
|
|
21
|
-
data:
|
|
22
|
-
isProcessingFailed:
|
|
23
|
-
isProcessing:
|
|
24
|
-
} = oe(m), { user_logs:
|
|
25
|
-
(
|
|
26
|
-
|
|
27
|
-
page:
|
|
12
|
+
import { getTimelineCardIcon as ie, getDayMonthYear as N, monthImageMap as ne } from "../comps/accordion-item/utils.js";
|
|
13
|
+
import ae from "./daily-timeline-items/daily-timeline-items.js";
|
|
14
|
+
import { ScrollWrapper as se, DailyTimelineContainer as le, YearWrapper as me, MonthImageWrapper as ce, DailyItems as he, DailyTimelineItemsContainer as fe } from "./daily-timeline-styled.js";
|
|
15
|
+
import { parseISO as O } from "../../../node_modules/date-fns/parseISO.js";
|
|
16
|
+
import { isLastDayOfMonth as de } from "../../../node_modules/date-fns/isLastDayOfMonth.js";
|
|
17
|
+
const ge = G(
|
|
18
|
+
({ userType: X, studentId: m, courseStreams: $, onPuzzlesClick: j, onReviewClick: k, scrollAreaHeight: K }) => {
|
|
19
|
+
const y = x(() => Intl.DateTimeFormat().resolvedOptions().timeZone, []), [T, L] = B([]), [c, C] = B(!1), _ = U(null), R = x(() => ie("NO_ACTIVITY"), []), {
|
|
20
|
+
get: A,
|
|
21
|
+
data: r,
|
|
22
|
+
isProcessingFailed: Y,
|
|
23
|
+
isProcessing: w
|
|
24
|
+
} = oe(m), { user_logs: h } = r || {}, n = Z(
|
|
25
|
+
(t = 1, i = !1) => {
|
|
26
|
+
i && C(!0), A(m, {
|
|
27
|
+
page: t,
|
|
28
28
|
size: 10,
|
|
29
|
-
timezone:
|
|
30
|
-
course_stream:
|
|
29
|
+
timezone: y,
|
|
30
|
+
course_stream: $
|
|
31
31
|
});
|
|
32
32
|
},
|
|
33
|
-
[
|
|
33
|
+
[A, m, y, $]
|
|
34
34
|
);
|
|
35
35
|
return p(() => {
|
|
36
|
-
|
|
37
|
-
}, [
|
|
38
|
-
|
|
39
|
-
}, [
|
|
40
|
-
const
|
|
41
|
-
|
|
36
|
+
r && (r.curr_page === 1 ? L(h || []) : (L((t) => [...t, ...h || []]), C(!1)));
|
|
37
|
+
}, [r, h]), p(() => {
|
|
38
|
+
n(1, !1);
|
|
39
|
+
}, [n]), p(() => {
|
|
40
|
+
const t = _.current;
|
|
41
|
+
if (!t) return;
|
|
42
|
+
const i = () => {
|
|
43
|
+
r != null && r.next_page && !c && t.scrollTop + t.clientHeight >= t.scrollHeight - 100 && n(r.next_page, !0);
|
|
42
44
|
};
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
+
return t.addEventListener("scroll", i), () => {
|
|
46
|
+
t.removeEventListener("scroll", i);
|
|
45
47
|
};
|
|
46
|
-
}, [
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
48
|
+
}, [r, c, n]), Y ? /* @__PURE__ */ e(ee, { height: "70vh", onTryAgain: () => n(1, !1) }) : w && !T.length ? /* @__PURE__ */ e(u, { $alignItems: "center", $justifyContent: "center", $height: "100%", children: /* @__PURE__ */ e(te, { width: "100%", height: "100%" }) }) : /* @__PURE__ */ e(
|
|
49
|
+
se,
|
|
50
|
+
{
|
|
51
|
+
ref: _,
|
|
52
|
+
$height: K,
|
|
53
|
+
$alignItems: "center",
|
|
54
|
+
children: /* @__PURE__ */ s(le, { children: [
|
|
55
|
+
T.map((t, i) => {
|
|
56
|
+
const { daily_logs: a, from_date: D, to_date: I } = t;
|
|
57
|
+
if (a) {
|
|
58
|
+
const z = O(D), S = O(I), {
|
|
59
|
+
day: M,
|
|
60
|
+
month: F,
|
|
61
|
+
monthName: P
|
|
62
|
+
} = N(z), {
|
|
63
|
+
day: b,
|
|
64
|
+
month: f,
|
|
65
|
+
year: W,
|
|
66
|
+
monthName: H
|
|
67
|
+
} = N(S), d = de(S), v = d && f === 12 && b === 31, g = Array.from(
|
|
68
|
+
new Set(a.map((o) => o.course_stream).filter(Boolean))
|
|
69
|
+
), V = g.includes("CIRCLE") ? g.length > 2 : g.length > 1;
|
|
70
|
+
return /* @__PURE__ */ s(u, { children: [
|
|
71
|
+
v && /* @__PURE__ */ s(me, { $gutterX: 1, children: [
|
|
72
|
+
/* @__PURE__ */ e(l, { heightX: 1 }),
|
|
73
|
+
/* @__PURE__ */ e(E, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: W })
|
|
74
|
+
] }),
|
|
75
|
+
d && f && /* @__PURE__ */ e(
|
|
76
|
+
ce,
|
|
77
|
+
{
|
|
78
|
+
$heightX: 15.36,
|
|
79
|
+
$isLastYear: v,
|
|
80
|
+
$img: ne[String(F).padStart(2, "0")]
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ s(he, { $gutterX: 1, $addedmonthbreak: !!(d && f), children: [
|
|
84
|
+
/* @__PURE__ */ e(l, { heightX: 1 }),
|
|
85
|
+
/* @__PURE__ */ e(E, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: D === I ? `${M} ${P}` : `${M} - ${b} ${H}` }),
|
|
86
|
+
/* @__PURE__ */ e(l, { heightX: 1 }),
|
|
87
|
+
/* @__PURE__ */ e(
|
|
88
|
+
fe,
|
|
84
89
|
{
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
90
|
+
$borderBottomColor: a.length > 0 ? "BLACK" : "BLACK_T_04",
|
|
91
|
+
children: a.length > 0 ? a.map((o, q) => /* @__PURE__ */ e(
|
|
92
|
+
ae,
|
|
93
|
+
{
|
|
94
|
+
type: o.type,
|
|
95
|
+
summary: o.summary || "",
|
|
96
|
+
courseStream: o.course_stream || void 0,
|
|
97
|
+
cards: o.cards,
|
|
98
|
+
onPuzzleClick: j,
|
|
99
|
+
onReviewClick: k,
|
|
100
|
+
userType: X,
|
|
101
|
+
shouldShowTag: V && o.course_stream !== "CIRCLE"
|
|
102
|
+
},
|
|
103
|
+
`timeline-${q}`
|
|
104
|
+
)) : /* @__PURE__ */ e(
|
|
105
|
+
re,
|
|
106
|
+
{
|
|
107
|
+
icon: R,
|
|
108
|
+
title: "No Activity",
|
|
109
|
+
defaultExpanded: !1,
|
|
110
|
+
$borderColor: "BLACK_T_04",
|
|
111
|
+
$backgroundColor: "BLACK_T_15"
|
|
112
|
+
}
|
|
113
|
+
)
|
|
103
114
|
}
|
|
104
|
-
)
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
115
|
+
),
|
|
116
|
+
/* @__PURE__ */ e(l, { heightX: 1 })
|
|
117
|
+
] })
|
|
118
|
+
] }, `timeline-entry-${i}`);
|
|
119
|
+
}
|
|
120
|
+
}),
|
|
121
|
+
c && /* @__PURE__ */ e(u, { $alignItems: "center", $justifyContent: "center", $height: "100%", children: /* @__PURE__ */ e(Q, { src: J.LOADER, alt: "Loader", $size: "large" }) })
|
|
122
|
+
] })
|
|
123
|
+
}
|
|
124
|
+
);
|
|
114
125
|
}
|
|
115
|
-
),
|
|
126
|
+
), Be = ge;
|
|
116
127
|
export {
|
|
117
|
-
|
|
128
|
+
Be as default
|
|
118
129
|
};
|
|
119
130
|
//# sourceMappingURL=daily-timeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-timeline.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline.tsx"],"sourcesContent":["import { isLastDayOfMonth, parseISO } from 'date-fns';\nimport { memo, useCallback, useEffect, useMemo, useRef, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { Loader } from '../../ui/buttons/button/button-styled';\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 Accordion from '../../ui/simple-accordian/accordion';\nimport Text from '../../ui/text/text';\nimport { type TimelineData, useDailyTimelineGet } from '../api/use-daily-timeline-get';\nimport { getDayMonthYear, getTimelineCardIcon, monthImageMap } from '../comps/accordion-item/utils';\nimport DailyTimelineItems from './daily-timeline-items/daily-timeline-items';\nimport * as Styled from './daily-timeline-styled';\nimport { type DailyTimelineProps } from './daily-timeline-types';\n\nconst DailyTimeline: FC<DailyTimelineProps> = memo(\n ({ userType, studentId, courseStreams, onPuzzlesClick, onReviewClick }) => {\n const timezone = useMemo(() => Intl.DateTimeFormat().resolvedOptions().timeZone, []);\n const [allTimelineData, setAllTimelineData] = useState<TimelineData[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const NoActivityIcon = useMemo(() => getTimelineCardIcon('NO_ACTIVITY'), []);\n const {\n get: getTimeline,\n data: timelineData,\n isProcessingFailed,\n isProcessing,\n } = useDailyTimelineGet(studentId);\n const { user_logs: userLogs } = timelineData || {};\n\n const fetchTimeline = useCallback(\n (page = 1, append = false) => {\n if (append) {\n setIsLoadingMore(true);\n }\n\n getTimeline(studentId, {\n page,\n size: 10,\n timezone,\n course_stream: courseStreams,\n });\n },\n [getTimeline, studentId, timezone, courseStreams],\n );\n\n useEffect(() => {\n if (timelineData) {\n if (timelineData.curr_page === 1) {\n setAllTimelineData(userLogs || []);\n } else {\n setAllTimelineData(prev => [...prev, ...(userLogs || [])]);\n setIsLoadingMore(false);\n }\n }\n }, [timelineData, userLogs]);\n\n useEffect(() => {\n fetchTimeline(1, false);\n }, [fetchTimeline]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (\n timelineData?.next_page &&\n !isLoadingMore &&\n window.scrollY + window.innerHeight >= document.body.scrollHeight - 100\n ) {\n fetchTimeline(timelineData.next_page, true);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [timelineData?.next_page, isLoadingMore, fetchTimeline]);\n\n if (isProcessingFailed) {\n return <Error height=\"70vh\" onTryAgain={() => fetchTimeline(1, false)} />;\n }\n\n if (isProcessing && !allTimelineData.length) {\n return (\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <AppLoader width=\"100%\" height=\"100%\" />\n </FlexView>\n );\n }\n\n return (\n <Styled.DailyTimelineConatainer ref={scrollContainerRef}>\n {allTimelineData.map((entry, index) => {\n const { daily_logs, from_date, to_date } = entry;\n\n if (daily_logs) {\n const fromDateObj = parseISO(from_date);\n const toDateObj = parseISO(to_date);\n\n const {\n day: fromDay,\n month: fromMonth,\n monthName: fromMonthName,\n } = getDayMonthYear(fromDateObj);\n\n const {\n day: toDay,\n month: toMonth,\n year: toYear,\n monthName: toMonthName,\n } = getDayMonthYear(toDateObj);\n\n const isLast = isLastDayOfMonth(toDateObj);\n const isLastYear = isLast && toMonth === 12 && toDay === 31;\n const uniqueCourseStreams = Array.from(\n new Set(daily_logs.map(log => log.course_stream).filter(Boolean)),\n );\n const shouldShowTag = uniqueCourseStreams.includes('CIRCLE')\n ? uniqueCourseStreams.length > 2\n : uniqueCourseStreams.length > 1;\n\n return (\n <FlexView key={`timeline-entry-${index}`}>\n {isLastYear && (\n <Styled.YearWrapper $gutterX={1}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {toYear}\n </Text>\n </Styled.YearWrapper>\n )}\n {isLast && toMonth && (\n <Styled.MonthImageWrapper\n $isLastYear={isLastYear}\n $img={\n monthImageMap[\n String(fromMonth).padStart(2, '0') as keyof typeof monthImageMap\n ]\n }\n />\n )}\n <Styled.DailyItems $gutterX={1} $addedmonthbreak={!!(isLast && toMonth)}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {from_date === to_date\n ? `${fromDay} ${fromMonthName}`\n : `${fromDay} - ${toDay} ${toMonthName}`}\n </Text>\n <Separator heightX={1} />\n <Styled.DailyTimelineItemsContainer\n $borderBottomColor={daily_logs.length > 0 ? 'BLACK' : 'BLACK_T_04'}\n >\n {daily_logs.length > 0 ? (\n daily_logs.map((log, logIndex) => (\n <DailyTimelineItems\n key={`timeline-${logIndex}`}\n type={log.type}\n summary={log.summary || ''}\n courseStream={log.course_stream || undefined}\n cards={log.cards}\n onPuzzleClick={onPuzzlesClick}\n onReviewClick={onReviewClick}\n userType={userType}\n shouldShowTag={shouldShowTag && log.course_stream !== 'CIRCLE'}\n />\n ))\n ) : (\n <Accordion\n icon={NoActivityIcon}\n title=\"No Activity\"\n defaultExpanded={false}\n $borderColor=\"BLACK_T_04\"\n $backgroundColor=\"BLACK_T_15\"\n />\n )}\n </Styled.DailyTimelineItemsContainer>\n <Separator heightX={1} />\n </Styled.DailyItems>\n </FlexView>\n );\n }\n })}\n\n {isLoadingMore && (\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size=\"large\" />\n </FlexView>\n )}\n </Styled.DailyTimelineConatainer>\n );\n },\n);\n\nexport default DailyTimeline;\n"],"names":["DailyTimeline","memo","userType","studentId","courseStreams","onPuzzlesClick","onReviewClick","timezone","useMemo","allTimelineData","setAllTimelineData","useState","isLoadingMore","setIsLoadingMore","scrollContainerRef","useRef","NoActivityIcon","getTimelineCardIcon","getTimeline","timelineData","isProcessingFailed","isProcessing","useDailyTimelineGet","userLogs","fetchTimeline","useCallback","page","append","useEffect","prev","handleScroll","jsx","Error","FlexView","AppLoader","jsxs","Styled.DailyTimelineConatainer","entry","index","daily_logs","from_date","to_date","fromDateObj","parseISO","toDateObj","fromDay","fromMonth","fromMonthName","getDayMonthYear","toDay","toMonth","toYear","toMonthName","isLast","isLastDayOfMonth","isLastYear","uniqueCourseStreams","log","shouldShowTag","Styled.YearWrapper","Separator","Text","Styled.MonthImageWrapper","monthImageMap","Styled.DailyItems","Styled.DailyTimelineItemsContainer","logIndex","DailyTimelineItems","Accordion","Loader","ILLUSTRATIONS","DailyTimeline$1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daily-timeline.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline.tsx"],"sourcesContent":["import { isLastDayOfMonth, parseISO } from 'date-fns';\nimport { memo, useCallback, useEffect, useMemo, useRef, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { Loader } from '../../ui/buttons/button/button-styled';\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 Accordion from '../../ui/simple-accordian/accordion';\nimport Text from '../../ui/text/text';\nimport { type TimelineData, useDailyTimelineGet } from '../api/use-daily-timeline-get';\nimport { getDayMonthYear, getTimelineCardIcon, monthImageMap } from '../comps/accordion-item/utils';\nimport DailyTimelineItems from './daily-timeline-items/daily-timeline-items';\nimport * as Styled from './daily-timeline-styled';\nimport { type DailyTimelineProps } from './daily-timeline-types';\n\nconst DailyTimeline: FC<DailyTimelineProps> = memo(\n ({ userType, studentId, courseStreams, onPuzzlesClick, onReviewClick, scrollAreaHeight }) => {\n const timezone = useMemo(() => Intl.DateTimeFormat().resolvedOptions().timeZone, []);\n const [allTimelineData, setAllTimelineData] = useState<TimelineData[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const NoActivityIcon = useMemo(() => getTimelineCardIcon('NO_ACTIVITY'), []);\n const {\n get: getTimeline,\n data: timelineData,\n isProcessingFailed,\n isProcessing,\n } = useDailyTimelineGet(studentId);\n const { user_logs: userLogs } = timelineData || {};\n\n const fetchTimeline = useCallback(\n (page = 1, append = false) => {\n if (append) {\n setIsLoadingMore(true);\n }\n\n getTimeline(studentId, {\n page,\n size: 10,\n timezone,\n course_stream: courseStreams,\n });\n },\n [getTimeline, studentId, timezone, courseStreams],\n );\n\n useEffect(() => {\n if (timelineData) {\n if (timelineData.curr_page === 1) {\n setAllTimelineData(userLogs || []);\n } else {\n setAllTimelineData(prev => [...prev, ...(userLogs || [])]);\n setIsLoadingMore(false);\n }\n }\n }, [timelineData, userLogs]);\n\n useEffect(() => {\n fetchTimeline(1, false);\n }, [fetchTimeline]);\n\n useEffect(() => {\n const container = scrollContainerRef.current;\n\n if (!container) return;\n\n const handleScroll = () => {\n if (\n timelineData?.next_page &&\n !isLoadingMore &&\n container.scrollTop + container.clientHeight >= container.scrollHeight - 100\n ) {\n fetchTimeline(timelineData.next_page, true);\n }\n };\n\n container.addEventListener('scroll', handleScroll);\n\n return () => {\n container.removeEventListener('scroll', handleScroll);\n };\n }, [timelineData, isLoadingMore, fetchTimeline]);\n\n if (isProcessingFailed) {\n return <Error height=\"70vh\" onTryAgain={() => fetchTimeline(1, false)} />;\n }\n\n if (isProcessing && !allTimelineData.length) {\n return (\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <AppLoader width=\"100%\" height=\"100%\" />\n </FlexView>\n );\n }\n\n return (\n <Styled.ScrollWrapper\n ref={scrollContainerRef}\n $height={scrollAreaHeight}\n $alignItems=\"center\"\n >\n <Styled.DailyTimelineContainer>\n {allTimelineData.map((entry, index) => {\n const { daily_logs: dailyLogs, from_date: fromDate, to_date: toDate } = entry;\n\n if (dailyLogs) {\n const fromDateObj = parseISO(fromDate);\n const toDateObj = parseISO(toDate);\n\n const {\n day: fromDay,\n month: fromMonth,\n monthName: fromMonthName,\n } = getDayMonthYear(fromDateObj);\n\n const {\n day: toDay,\n month: toMonth,\n year: toYear,\n monthName: toMonthName,\n } = getDayMonthYear(toDateObj);\n\n const isLast = isLastDayOfMonth(toDateObj);\n const isLastYear = isLast && toMonth === 12 && toDay === 31;\n const uniqueCourseStreams = Array.from(\n new Set(dailyLogs.map(log => log.course_stream).filter(Boolean)),\n );\n const shouldShowTag = uniqueCourseStreams.includes('CIRCLE')\n ? uniqueCourseStreams.length > 2\n : uniqueCourseStreams.length > 1;\n\n return (\n <FlexView key={`timeline-entry-${index}`}>\n {isLastYear && (\n <Styled.YearWrapper $gutterX={1}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {toYear}\n </Text>\n </Styled.YearWrapper>\n )}\n {isLast && toMonth && (\n <Styled.MonthImageWrapper\n $heightX={15.36}\n $isLastYear={isLastYear}\n $img={\n monthImageMap[\n String(fromMonth).padStart(2, '0') as keyof typeof monthImageMap\n ]\n }\n />\n )}\n <Styled.DailyItems $gutterX={1} $addedmonthbreak={!!(isLast && toMonth)}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {fromDate === toDate\n ? `${fromDay} ${fromMonthName}`\n : `${fromDay} - ${toDay} ${toMonthName}`}\n </Text>\n <Separator heightX={1} />\n <Styled.DailyTimelineItemsContainer\n $borderBottomColor={dailyLogs.length > 0 ? 'BLACK' : 'BLACK_T_04'}\n >\n {dailyLogs.length > 0 ? (\n dailyLogs.map((log, logIndex) => (\n <DailyTimelineItems\n key={`timeline-${logIndex}`}\n type={log.type}\n summary={log.summary || ''}\n courseStream={log.course_stream || undefined}\n cards={log.cards}\n onPuzzleClick={onPuzzlesClick}\n onReviewClick={onReviewClick}\n userType={userType}\n shouldShowTag={shouldShowTag && log.course_stream !== 'CIRCLE'}\n />\n ))\n ) : (\n <Accordion\n icon={NoActivityIcon}\n title=\"No Activity\"\n defaultExpanded={false}\n $borderColor=\"BLACK_T_04\"\n $backgroundColor=\"BLACK_T_15\"\n />\n )}\n </Styled.DailyTimelineItemsContainer>\n <Separator heightX={1} />\n </Styled.DailyItems>\n </FlexView>\n );\n }\n })}\n\n {isLoadingMore && (\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size=\"large\" />\n </FlexView>\n )}\n </Styled.DailyTimelineContainer>\n </Styled.ScrollWrapper>\n );\n },\n);\n\nexport default DailyTimeline;\n"],"names":["DailyTimeline","memo","userType","studentId","courseStreams","onPuzzlesClick","onReviewClick","scrollAreaHeight","timezone","useMemo","allTimelineData","setAllTimelineData","useState","isLoadingMore","setIsLoadingMore","scrollContainerRef","useRef","NoActivityIcon","getTimelineCardIcon","getTimeline","timelineData","isProcessingFailed","isProcessing","useDailyTimelineGet","userLogs","fetchTimeline","useCallback","page","append","useEffect","prev","container","handleScroll","jsx","Error","FlexView","AppLoader","Styled.ScrollWrapper","jsxs","Styled.DailyTimelineContainer","entry","index","dailyLogs","fromDate","toDate","fromDateObj","parseISO","toDateObj","fromDay","fromMonth","fromMonthName","getDayMonthYear","toDay","toMonth","toYear","toMonthName","isLast","isLastDayOfMonth","isLastYear","uniqueCourseStreams","log","shouldShowTag","Styled.YearWrapper","Separator","Text","Styled.MonthImageWrapper","monthImageMap","Styled.DailyItems","Styled.DailyTimelineItemsContainer","logIndex","DailyTimelineItems","Accordion","Loader","ILLUSTRATIONS","DailyTimeline$1"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -473,6 +473,7 @@ declare interface DailyTimelineProps {
|
|
|
473
473
|
courseStreams: TCourseStream[];
|
|
474
474
|
onPuzzlesClick: (userNodeId: string) => void;
|
|
475
475
|
onReviewClick: (userNodeId: string) => void;
|
|
476
|
+
scrollAreaHeight: string | number | undefined;
|
|
476
477
|
}
|
|
477
478
|
|
|
478
479
|
export declare const DashArrowIcon: FC<SVGProps<SVGSVGElement>>;
|