@cuemath/leap 3.5.4-as14 → 3.5.4-as16

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.
@@ -16,7 +16,7 @@ const z = k(
16
16
  block_type: b,
17
17
  user_block_id: _,
18
18
  node_type: x
19
- } = f, n = b === B.SAT_MOCK_TEST, E = u === "PUZZLE", h = S(c), s = c === "COMPLETED", I = m === "TEACHER" && (a !== "CIRCLE" || s && n) || m === "STUDENT" && s && a !== "CIRCLE" && !g.includes(x), w = p(() => {
19
+ } = f, n = b === B.SAT_MOCK_TEST, E = u === "PUZZLE", h = S(c), s = c === "COMPLETED", I = m === "TEACHER" && a !== "CIRCLE" && (!n || s) || m === "STUDENT" && s && a !== "CIRCLE" && !g.includes(x), w = p(() => {
20
20
  e && l && l(e);
21
21
  }, [l, e]), A = p(() => {
22
22
  i && e && i(e, n, _);
@@ -1 +1 @@
1
- {"version":3,"file":"accordion-item.js","sources":["../../../../../src/features/timeline/comps/accordion-item/accordion-item.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport type { AccordionItemProps } from './accordion-item-types';\nimport { CODING_ACTIVITY_NODE_TYPES, getStateColor, getStateIcon } from '../utils';\nimport { BLOCK_TYPE } from '../../../chapters-v2/constants/block-constants';\n\nconst AccordionItem: FC<AccordionItemProps> = memo(\n ({ type, userType, card, onPuzzleClick, onReviewClick }) => {\n const {\n label,\n title,\n state,\n subtext,\n user_node_id: userNodeId,\n block_type: blockType,\n user_block_id: userBlockId,\n node_type: nodeType,\n } = card;\n const isSatMockTestBlock = blockType === BLOCK_TYPE.SAT_MOCK_TEST;\n const isPuzzle = label === 'PUZZLE';\n const Icon = getStateIcon(state);\n const isCompleted = state === 'COMPLETED';\n const shouldShowReview =\n (userType === 'TEACHER' && (type !== 'CIRCLE' || (isCompleted && isSatMockTestBlock))) ||\n (userType === 'STUDENT' &&\n isCompleted &&\n type !== 'CIRCLE' &&\n !CODING_ACTIVITY_NODE_TYPES.includes(nodeType));\n\n const handlePuzzleClick = useCallback(() => {\n if (userNodeId && onPuzzleClick) {\n onPuzzleClick(userNodeId);\n }\n }, [onPuzzleClick, userNodeId]);\n\n const handleReviewClick = useCallback(() => {\n if (onReviewClick && userNodeId) {\n onReviewClick(userNodeId, isSatMockTestBlock, userBlockId);\n }\n }, [isSatMockTestBlock, onReviewClick, userBlockId, userNodeId]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <FlexView $background={getStateColor(state)} $borderRadiusX={0.5} $width={16} $height={16}>\n {Icon && <Icon width={16} height={16} />}\n </FlexView>\n <FlexView $flexRowGapX={0.25}>\n <Text $renderAs=\"ub3\">\n <Text $renderAs=\"ub3-bold\" $inline>\n {label}:\n </Text>{' '}\n {title}\n </Text>\n {isPuzzle ? (\n <TextButton\n label={isCompleted ? 'View reviewed puzzle' : 'View assigned puzzle'}\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handlePuzzleClick}\n />\n ) : (\n <FlexView $flexDirection=\"row\" $flexGapX={0.75} $alignItems=\"center\">\n {subtext && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subtext}\n </Text>\n )}\n {shouldShowReview && (\n <TextButton\n label=\"Review\"\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handleReviewClick}\n />\n )}\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n );\n },\n);\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport default AccordionItem;\n"],"names":["AccordionItem","memo","type","userType","card","onPuzzleClick","onReviewClick","label","title","state","subtext","userNodeId","blockType","userBlockId","nodeType","isSatMockTestBlock","BLOCK_TYPE","isPuzzle","Icon","getStateIcon","isCompleted","shouldShowReview","CODING_ACTIVITY_NODE_TYPES","handlePuzzleClick","useCallback","handleReviewClick","jsxs","FlexView","jsx","getStateColor","Text","TextButton"],"mappings":";;;;;;;AASA,MAAMA,IAAwCC;AAAA,EAC5C,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,MAAAC,GAAM,eAAAC,GAAe,eAAAC,QAAoB;AACpD,UAAA;AAAA,MACJ,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,cAAcC;AAAA,MACd,YAAYC;AAAA,MACZ,eAAeC;AAAA,MACf,WAAWC;AAAA,IACT,IAAAV,GACEW,IAAqBH,MAAcI,EAAW,eAC9CC,IAAWV,MAAU,UACrBW,IAAOC,EAAaV,CAAK,GACzBW,IAAcX,MAAU,aACxBY,IACHlB,MAAa,cAAcD,MAAS,YAAakB,KAAeL,MAChEZ,MAAa,aACZiB,KACAlB,MAAS,YACT,CAACoB,EAA2B,SAASR,CAAQ,GAE3CS,IAAoBC,EAAY,MAAM;AAC1C,MAAIb,KAAcN,KAChBA,EAAcM,CAAU;AAAA,IAC1B,GACC,CAACN,GAAeM,CAAU,CAAC,GAExBc,IAAoBD,EAAY,MAAM;AAC1C,MAAIlB,KAAiBK,KACLL,EAAAK,GAAYI,GAAoBF,CAAW;AAAA,OAE1D,CAACE,GAAoBT,GAAeO,GAAaF,CAAU,CAAC;AAE/D,WACG,gBAAAe,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA;AAAA,MAAA,gBAAAC,EAACD,KAAS,aAAaE,EAAcpB,CAAK,GAAG,gBAAgB,KAAK,QAAQ,IAAI,SAAS,IACpF,eAAS,gBAAAmB,EAAAV,GAAA,EAAK,OAAO,IAAI,QAAQ,GAAI,CAAA,GACxC;AAAA,MACA,gBAAAQ,EAACC,GAAS,EAAA,cAAc,MACtB,UAAA;AAAA,QAAC,gBAAAD,EAAAI,GAAA,EAAK,WAAU,OACd,UAAA;AAAA,UAAA,gBAAAJ,EAACI,GAAK,EAAA,WAAU,YAAW,SAAO,IAC/B,UAAA;AAAA,YAAAvB;AAAA,YAAM;AAAA,UAAA,GACT;AAAA,UAAQ;AAAA,UACPC;AAAA,QAAA,GACH;AAAA,QACCS,IACC,gBAAAW;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAOX,IAAc,yBAAyB;AAAA,YAC9C,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASG;AAAA,UAAA;AAAA,QAAA,sBAGVI,GAAS,EAAA,gBAAe,OAAM,WAAW,MAAM,aAAY,UACzD,UAAA;AAAA,UAAAjB,uBACEoB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHpB,GAAA;AAAA,UAEDW,KACC,gBAAAO;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAASN;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GAEJ;AAAA,MAAA,GAEJ;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAzB,EAAc,cAAc;"}
1
+ {"version":3,"file":"accordion-item.js","sources":["../../../../../src/features/timeline/comps/accordion-item/accordion-item.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport type { AccordionItemProps } from './accordion-item-types';\nimport { CODING_ACTIVITY_NODE_TYPES, getStateColor, getStateIcon } from '../utils';\nimport { BLOCK_TYPE } from '../../../chapters-v2/constants/block-constants';\n\nconst AccordionItem: FC<AccordionItemProps> = memo(\n ({ type, userType, card, onPuzzleClick, onReviewClick }) => {\n const {\n label,\n title,\n state,\n subtext,\n user_node_id: userNodeId,\n block_type: blockType,\n user_block_id: userBlockId,\n node_type: nodeType,\n } = card;\n const isSatMockTestBlock = blockType === BLOCK_TYPE.SAT_MOCK_TEST;\n const isPuzzle = label === 'PUZZLE';\n const Icon = getStateIcon(state);\n const isCompleted = state === 'COMPLETED';\n const shouldShowReview =\n (userType === 'TEACHER' && type !== 'CIRCLE' && (!isSatMockTestBlock || isCompleted)) ||\n (userType === 'STUDENT' &&\n isCompleted &&\n type !== 'CIRCLE' &&\n !CODING_ACTIVITY_NODE_TYPES.includes(nodeType));\n\n const handlePuzzleClick = useCallback(() => {\n if (userNodeId && onPuzzleClick) {\n onPuzzleClick(userNodeId);\n }\n }, [onPuzzleClick, userNodeId]);\n\n const handleReviewClick = useCallback(() => {\n if (onReviewClick && userNodeId) {\n onReviewClick(userNodeId, isSatMockTestBlock, userBlockId);\n }\n }, [isSatMockTestBlock, onReviewClick, userBlockId, userNodeId]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <FlexView $background={getStateColor(state)} $borderRadiusX={0.5} $width={16} $height={16}>\n {Icon && <Icon width={16} height={16} />}\n </FlexView>\n <FlexView $flexRowGapX={0.25}>\n <Text $renderAs=\"ub3\">\n <Text $renderAs=\"ub3-bold\" $inline>\n {label}:\n </Text>{' '}\n {title}\n </Text>\n {isPuzzle ? (\n <TextButton\n label={isCompleted ? 'View reviewed puzzle' : 'View assigned puzzle'}\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handlePuzzleClick}\n />\n ) : (\n <FlexView $flexDirection=\"row\" $flexGapX={0.75} $alignItems=\"center\">\n {subtext && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subtext}\n </Text>\n )}\n {shouldShowReview && (\n <TextButton\n label=\"Review\"\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handleReviewClick}\n />\n )}\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n );\n },\n);\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport default AccordionItem;\n"],"names":["AccordionItem","memo","type","userType","card","onPuzzleClick","onReviewClick","label","title","state","subtext","userNodeId","blockType","userBlockId","nodeType","isSatMockTestBlock","BLOCK_TYPE","isPuzzle","Icon","getStateIcon","isCompleted","shouldShowReview","CODING_ACTIVITY_NODE_TYPES","handlePuzzleClick","useCallback","handleReviewClick","jsxs","FlexView","jsx","getStateColor","Text","TextButton"],"mappings":";;;;;;;AASA,MAAMA,IAAwCC;AAAA,EAC5C,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,MAAAC,GAAM,eAAAC,GAAe,eAAAC,QAAoB;AACpD,UAAA;AAAA,MACJ,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,cAAcC;AAAA,MACd,YAAYC;AAAA,MACZ,eAAeC;AAAA,MACf,WAAWC;AAAA,IACT,IAAAV,GACEW,IAAqBH,MAAcI,EAAW,eAC9CC,IAAWV,MAAU,UACrBW,IAAOC,EAAaV,CAAK,GACzBW,IAAcX,MAAU,aACxBY,IACHlB,MAAa,aAAaD,MAAS,aAAa,CAACa,KAAsBK,MACvEjB,MAAa,aACZiB,KACAlB,MAAS,YACT,CAACoB,EAA2B,SAASR,CAAQ,GAE3CS,IAAoBC,EAAY,MAAM;AAC1C,MAAIb,KAAcN,KAChBA,EAAcM,CAAU;AAAA,IAC1B,GACC,CAACN,GAAeM,CAAU,CAAC,GAExBc,IAAoBD,EAAY,MAAM;AAC1C,MAAIlB,KAAiBK,KACLL,EAAAK,GAAYI,GAAoBF,CAAW;AAAA,OAE1D,CAACE,GAAoBT,GAAeO,GAAaF,CAAU,CAAC;AAE/D,WACG,gBAAAe,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA;AAAA,MAAA,gBAAAC,EAACD,KAAS,aAAaE,EAAcpB,CAAK,GAAG,gBAAgB,KAAK,QAAQ,IAAI,SAAS,IACpF,eAAS,gBAAAmB,EAAAV,GAAA,EAAK,OAAO,IAAI,QAAQ,GAAI,CAAA,GACxC;AAAA,MACA,gBAAAQ,EAACC,GAAS,EAAA,cAAc,MACtB,UAAA;AAAA,QAAC,gBAAAD,EAAAI,GAAA,EAAK,WAAU,OACd,UAAA;AAAA,UAAA,gBAAAJ,EAACI,GAAK,EAAA,WAAU,YAAW,SAAO,IAC/B,UAAA;AAAA,YAAAvB;AAAA,YAAM;AAAA,UAAA,GACT;AAAA,UAAQ;AAAA,UACPC;AAAA,QAAA,GACH;AAAA,QACCS,IACC,gBAAAW;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAOX,IAAc,yBAAyB;AAAA,YAC9C,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASG;AAAA,UAAA;AAAA,QAAA,sBAGVI,GAAS,EAAA,gBAAe,OAAM,WAAW,MAAM,aAAY,UACzD,UAAA;AAAA,UAAAjB,uBACEoB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHpB,GAAA;AAAA,UAEDW,KACC,gBAAAO;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAASN;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GAEJ;AAAA,MAAA,GAEJ;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAzB,EAAc,cAAc;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as g } from "react/jsx-runtime";
2
- import { memo as G, useMemo as x, useState as B, useRef as U, useCallback as W, useEffect as p } from "react";
2
+ import { memo as G, useMemo as B, useState as N, useRef as U, useCallback as W, useEffect as p } from "react";
3
3
  import { ILLUSTRATIONS as Z } from "../../assets/illustrations/illustrations.js";
4
4
  import { Loader as q } from "../ui/buttons/button/button-styled.js";
5
5
  import J from "../ui/error/error.js";
@@ -9,37 +9,37 @@ import l from "../ui/separator/separator.js";
9
9
  import ee from "../ui/simple-accordian/accordion.js";
10
10
  import te from "../ui/text/text.js";
11
11
  import { useDailyTimelineGet as oe } from "./api/use-daily-timeline-get.js";
12
- import { getTimelineCardIcon as re, getDayMonthYear as N } from "./comps/utils.js";
12
+ import { getTimelineCardIcon as re, getDayMonthYear as k } from "./comps/utils.js";
13
13
  import ie from "./comps/daily-timeline-items/daily-timeline-items.js";
14
14
  import { ScrollWrapper as ne, DailyTimelineContainer as ae, DailyItems as me, DailyTimelineItemsContainer as se } from "./daily-timeline-styled.js";
15
15
  import le from "./comps/month-break.js";
16
16
  import ce from "./comps/year-break.js";
17
- import { parseISO as k } from "../../node_modules/date-fns/parseISO.js";
17
+ import { parseISO as S } from "../../node_modules/date-fns/parseISO.js";
18
18
  import { isLastDayOfMonth as he } from "../../node_modules/date-fns/isLastDayOfMonth.js";
19
19
  const fe = G(
20
- ({ userType: c, studentId: h, courseStreams: a, onPuzzlesClick: S, onReviewClick: j, scrollAreaHeight: R }) => {
21
- const y = x(() => Intl.DateTimeFormat().resolvedOptions().timeZone, []), [T, $] = B([]), [f, L] = B(!1), C = U(null), z = x(() => re("NO_ACTIVITY"), []), {
22
- get: D,
20
+ ({ userType: c, studentId: h, courseStreams: a, onPuzzlesClick: j, onReviewClick: R, scrollAreaHeight: y }) => {
21
+ const T = B(() => Intl.DateTimeFormat().resolvedOptions().timeZone, []), [$, L] = N([]), [f, C] = N(!1), D = U(null), z = B(() => re("NO_ACTIVITY"), []), {
22
+ get: _,
23
23
  data: o,
24
24
  isProcessingFailed: K,
25
25
  isProcessing: X
26
26
  } = oe(h), { user_logs: d } = o ?? {}, i = W(
27
27
  (t = 1, r = !1) => {
28
- r && L(!0), D(h, {
28
+ r && C(!0), _(h, {
29
29
  page: t,
30
30
  size: 10,
31
- timezone: y,
31
+ timezone: T,
32
32
  course_stream: c === "TEACHER" ? a : []
33
33
  });
34
34
  },
35
- [D, h, y, c, a]
35
+ [_, h, T, c, a]
36
36
  );
37
37
  return p(() => {
38
- o && (o.curr_page === 1 ? $(d ?? []) : ($((t) => [...t, ...d ?? []]), L(!1)));
38
+ o && (o.curr_page === 1 ? L(d ?? []) : (L((t) => [...t, ...d ?? []]), C(!1)));
39
39
  }, [o, d]), p(() => {
40
40
  i(1, !1);
41
41
  }, [i]), p(() => {
42
- const t = C.current;
42
+ const t = D.current;
43
43
  if (!t) return;
44
44
  const r = () => {
45
45
  o != null && o.next_page && !f && t.scrollTop + t.clientHeight >= t.scrollHeight - 100 && i(o.next_page, !0);
@@ -47,33 +47,33 @@ const fe = G(
47
47
  return t.addEventListener("scroll", r), () => {
48
48
  t.removeEventListener("scroll", r);
49
49
  };
50
- }, [o, f, i]), K ? /* @__PURE__ */ e(J, { height: "70vh", onTryAgain: () => i(1, !1) }) : X && !T.length ? /* @__PURE__ */ e(u, { $alignItems: "center", $justifyContent: "center", $height: "100%", children: /* @__PURE__ */ e(Q, { width: "100%", height: "100%" }) }) : /* @__PURE__ */ e(
50
+ }, [o, f, i]), K ? /* @__PURE__ */ e(J, { height: "70vh", onTryAgain: () => i(1, !1) }) : X && !$.length ? /* @__PURE__ */ e(u, { $alignItems: "center", $justifyContent: "center", $height: y, children: /* @__PURE__ */ e(Q, { width: "100%", height: "100%" }) }) : /* @__PURE__ */ e(
51
51
  ne,
52
52
  {
53
- ref: C,
54
- $height: R,
53
+ ref: D,
54
+ $height: y,
55
55
  $alignItems: "center",
56
56
  children: /* @__PURE__ */ g(ae, { children: [
57
- T.map((t, r) => {
58
- const { daily_logs: m, from_date: _, to_date: A } = t;
57
+ $.map((t, r) => {
58
+ const { daily_logs: m, from_date: A, to_date: I } = t;
59
59
  if (m) {
60
- const Y = k(_), I = k(A), {
61
- day: M,
62
- month: O,
60
+ const Y = S(A), M = S(I), {
61
+ day: O,
62
+ month: E,
63
63
  monthName: w
64
- } = N(Y), {
65
- day: E,
66
- month: b,
64
+ } = k(Y), {
65
+ day: b,
66
+ month: v,
67
67
  year: F,
68
- monthName: H
69
- } = N(I), s = he(I), v = s && b === 12 && E === 31, P = !!(a && a.length > 1);
68
+ monthName: P
69
+ } = k(M), s = he(M), x = s && v === 12 && b === 31, H = !!(a && a.length > 1);
70
70
  return /* @__PURE__ */ g(u, { children: [
71
- /* @__PURE__ */ e(ce, { toYear: F, isLastDayOfYear: v }),
72
- !v && O && s && /* @__PURE__ */ e(l, { heightX: 1 }),
73
- /* @__PURE__ */ e(le, { fromMonth: O, isLastDayOfMth: s }),
74
- /* @__PURE__ */ g(me, { $gutterX: 1, $addedmonthbreak: !!(s && b), children: [
71
+ /* @__PURE__ */ e(ce, { toYear: F, isLastDayOfYear: x }),
72
+ !x && E && s && /* @__PURE__ */ e(l, { heightX: 1 }),
73
+ /* @__PURE__ */ e(le, { fromMonth: E, isLastDayOfMth: s }),
74
+ /* @__PURE__ */ g(me, { $gutterX: 1, $addedmonthbreak: !!(s && v), children: [
75
75
  /* @__PURE__ */ e(l, { heightX: 1 }),
76
- /* @__PURE__ */ e(te, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: _ === A ? `${M} ${w}` : `${M} - ${E} ${H}` }),
76
+ /* @__PURE__ */ e(te, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: A === I ? `${O} ${w}` : `${O} - ${b} ${P}` }),
77
77
  /* @__PURE__ */ e(l, { heightX: 1 }),
78
78
  /* @__PURE__ */ e(
79
79
  se,
@@ -86,10 +86,10 @@ const fe = G(
86
86
  summary: n.summary ?? "",
87
87
  courseStream: n.course_stream ?? void 0,
88
88
  cards: n.cards,
89
- onPuzzleClick: S,
90
- onReviewClick: j,
89
+ onPuzzleClick: j,
90
+ onReviewClick: R,
91
91
  userType: c,
92
- shouldShowTag: P && n.course_stream !== "CIRCLE"
92
+ shouldShowTag: H && n.course_stream !== "CIRCLE"
93
93
  },
94
94
  `timeline-${V}`
95
95
  )) : /* @__PURE__ */ e(
@@ -1 +1 @@
1
- {"version":3,"file":"daily-timeline.js","sources":["../../../src/features/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 } from './comps/utils';\nimport DailyTimelineItems from './comps/daily-timeline-items/daily-timeline-items';\nimport * as Styled from './daily-timeline-styled';\nimport { type DailyTimelineProps } from './daily-timeline-types';\nimport MonthBreak from './comps/month-break';\nimport YearBreak from './comps/year-break';\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: userType === 'TEACHER' ? courseStreams : [],\n });\n },\n [getTimeline, studentId, timezone, userType, 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 isLastDayOfMth = isLastDayOfMonth(toDateObj);\n const isLastDayOfYear = isLastDayOfMth && toMonth === 12 && toDay === 31;\n const shouldShowTag = !!(courseStreams && courseStreams.length > 1);\n\n return (\n <FlexView key={`timeline-entry-${index}`}>\n <YearBreak toYear={toYear} isLastDayOfYear={isLastDayOfYear} />\n {!isLastDayOfYear && fromMonth && isLastDayOfMth && <Separator heightX={1} />}\n <MonthBreak fromMonth={fromMonth} isLastDayOfMth={isLastDayOfMth} />\n <Styled.DailyItems $gutterX={1} $addedmonthbreak={!!(isLastDayOfMth && 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","isLastDayOfMth","isLastDayOfMonth","isLastDayOfYear","shouldShowTag","YearBreak","Separator","MonthBreak","Styled.DailyItems","Text","Styled.DailyTimelineItemsContainer","log","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.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 } from './comps/utils';\nimport DailyTimelineItems from './comps/daily-timeline-items/daily-timeline-items';\nimport * as Styled from './daily-timeline-styled';\nimport { type DailyTimelineProps } from './daily-timeline-types';\nimport MonthBreak from './comps/month-break';\nimport YearBreak from './comps/year-break';\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: userType === 'TEACHER' ? courseStreams : [],\n });\n },\n [getTimeline, studentId, timezone, userType, 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={scrollAreaHeight}>\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 isLastDayOfMth = isLastDayOfMonth(toDateObj);\n const isLastDayOfYear = isLastDayOfMth && toMonth === 12 && toDay === 31;\n const shouldShowTag = !!(courseStreams && courseStreams.length > 1);\n\n return (\n <FlexView key={`timeline-entry-${index}`}>\n <YearBreak toYear={toYear} isLastDayOfYear={isLastDayOfYear} />\n {!isLastDayOfYear && fromMonth && isLastDayOfMth && <Separator heightX={1} />}\n <MonthBreak fromMonth={fromMonth} isLastDayOfMth={isLastDayOfMth} />\n <Styled.DailyItems $gutterX={1} $addedmonthbreak={!!(isLastDayOfMth && 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","isLastDayOfMth","isLastDayOfMonth","isLastDayOfYear","shouldShowTag","YearBreak","Separator","MonthBreak","Styled.DailyItems","Text","Styled.DailyTimelineItemsContainer","log","logIndex","DailyTimelineItems","Accordion","Loader","ILLUSTRATIONS","DailyTimeline$1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.5.4-as14",
3
+ "version": "3.5.4-as16",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"