@cuemath/leap 3.5.9-as7 → 3.5.9-as9
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/api/use-daily-timeline-get.js.map +1 -1
- package/dist/features/timeline/comps/accordion-item/accordion-item.js +25 -25
- package/dist/features/timeline/comps/accordion-item/accordion-item.js.map +1 -1
- package/dist/features/timeline/comps/constants.js +26 -24
- package/dist/features/timeline/comps/constants.js.map +1 -1
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items.js +60 -54
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items.js.map +1 -1
- package/dist/features/timeline/comps/month-break/month-break.js +8 -8
- package/dist/features/timeline/comps/month-break/month-break.js.map +1 -1
- package/dist/features/timeline/comps/no-activity.js +19 -26
- package/dist/features/timeline/comps/no-activity.js.map +1 -1
- package/dist/features/timeline/comps/utils.js +1 -1
- package/dist/features/timeline/comps/utils.js.map +1 -1
- package/dist/features/timeline/daily-timeline-styled.js +1 -1
- package/dist/features/timeline/daily-timeline-styled.js.map +1 -1
- package/dist/features/timeline/{enums/enums.js → daily-timeline-types.js} +1 -1
- package/dist/features/timeline/daily-timeline-types.js.map +1 -0
- package/dist/features/timeline/daily-timeline.js +106 -97
- package/dist/features/timeline/daily-timeline.js.map +1 -1
- package/dist/features/ui/intersection-loader/intersection-loader.js.map +1 -1
- package/dist/features/ui/theme/text.js +3 -3
- package/dist/features/ui/theme/text.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/features/timeline/enums/enums.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-daily-timeline-get.js","sources":["../../../../src/features/timeline/api/use-daily-timeline-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../constants/api';\nimport { stringify } from '../../../helpers/query-string';\nimport type { TCourseStream } from '../../milestone/create/milestone-create-types';\nimport { type CARD_TYPE, type NODE_STATE } from '../
|
|
1
|
+
{"version":3,"file":"use-daily-timeline-get.js","sources":["../../../../src/features/timeline/api/use-daily-timeline-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../constants/api';\nimport { stringify } from '../../../helpers/query-string';\nimport type { TCourseStream } from '../../milestone/create/milestone-create-types';\nimport { type CARD_TYPE, type NODE_STATE } from '../daily-timeline-types';\n\nexport interface ITimeLineItem {\n accuracy: number | null;\n block_type: string | null;\n card_type?: string;\n chapter_name: string | null;\n feedback_comments: string | null;\n image_hue: string | null;\n is_timed: boolean;\n items: { ref: string }[] | null;\n label: string;\n learnosity_activity_ref: string | null;\n max_score: number | null;\n node_id: string;\n node_type: string;\n points: number | null;\n state: NODE_STATE;\n subtext: string | null;\n task_type: string | null;\n time_taken: number | null;\n tip: string | null;\n title: string;\n total_questions: number | null;\n total_score: number | null;\n user_block_id: string | null;\n user_id?: string;\n user_node_id: string;\n}\n\nexport interface ITimeLineEntry {\n cards: ITimeLineItem[];\n course_stream: TCourseStream | 'CIRCLE' | null;\n summary: string | null;\n type: CARD_TYPE;\n}\n\nexport interface ITimelineData {\n daily_logs: ITimeLineEntry[];\n from_date: string;\n to_date: string;\n}\n\nexport interface ITimelineResponse {\n curr_page: number | null;\n next_page: number | null;\n per_page: number | null;\n total_pages: number | null;\n user_logs: ITimelineData[];\n}\n\ninterface IGetUserTimelineParams {\n course_stream?: TCourseStream[];\n page?: number;\n size?: number;\n timezone: string;\n}\n\nconst { useGet: useDailyTimelineGet } = createGetAPI<ITimelineResponse, IGetUserTimelineParams>({\n getURL: (studentId: string, queryParams) => {\n return `${BASE_URL_V3}/user-timeline/${studentId}?${stringify(queryParams)}`;\n },\n});\n\nexport { useDailyTimelineGet };\n"],"names":["useDailyTimelineGet","createGetAPI","studentId","queryParams","BASE_URL_V3","stringify"],"mappings":";;;AA+DA,MAAM,EAAE,QAAQA,EAAoB,IAAIC,EAAwD;AAAA,EAC9F,QAAQ,CAACC,GAAmBC,MACnB,GAAGC,CAAW,kBAAkBF,CAAS,IAAIG,EAAUF,CAAW,CAAC;AAE9E,CAAC;"}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
import { jsxs as r, jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
2
|
+
import { memo as B, useMemo as L, useCallback as $ } from "react";
|
|
3
|
+
import C from "../../../ui/buttons/text-button/text-button.js";
|
|
4
4
|
import t from "../../../ui/layout/flex-view.js";
|
|
5
5
|
import d from "../../../ui/text/text.js";
|
|
6
|
-
import { getStateConf as
|
|
7
|
-
import { BLOCK_TYPE as
|
|
8
|
-
import { CODING_ACTIVITY_NODE_TYPES as
|
|
9
|
-
import { NODE_STATE as
|
|
10
|
-
const
|
|
11
|
-
({ type: m, userType: n, card: E, onPuzzleClick:
|
|
6
|
+
import { getStateConf as S } from "../utils.js";
|
|
7
|
+
import { BLOCK_TYPE as D } from "../../../chapters-v2/constants/block-constants.js";
|
|
8
|
+
import { CODING_ACTIVITY_NODE_TYPES as K } from "../constants.js";
|
|
9
|
+
import { NODE_STATE as R, CARD_TYPE as z, USER_TYPE as p } from "../../daily-timeline-types.js";
|
|
10
|
+
const N = B(
|
|
11
|
+
({ type: m, userType: n, card: E, onPuzzleClick: c, onReviewClick: s }) => {
|
|
12
12
|
const {
|
|
13
13
|
label: a,
|
|
14
14
|
title: b,
|
|
15
15
|
state: f,
|
|
16
16
|
subtext: u,
|
|
17
17
|
user_node_id: e,
|
|
18
|
-
block_type:
|
|
19
|
-
user_block_id:
|
|
20
|
-
node_type:
|
|
21
|
-
} = E, i =
|
|
22
|
-
|
|
23
|
-
) : !1, [n, m, i, l,
|
|
24
|
-
e &&
|
|
25
|
-
}, [
|
|
26
|
-
|
|
27
|
-
}, [i,
|
|
18
|
+
block_type: A,
|
|
19
|
+
user_block_id: _,
|
|
20
|
+
node_type: T
|
|
21
|
+
} = E, i = A === D.SAT_MOCK_TEST, x = a === "PUZZLE", [h, w] = S(f), l = f === R.COMPLETED, I = L(() => m === z.CIRCLE ? !1 : n === p.TEACHER ? !i || l : n === p.STUDENT ? l && !K.includes(
|
|
22
|
+
T
|
|
23
|
+
) : !1, [n, m, i, l, T]), g = $(() => {
|
|
24
|
+
e && c && c(e);
|
|
25
|
+
}, [c, e]), k = $(() => {
|
|
26
|
+
s && e && s(e, i, _);
|
|
27
|
+
}, [i, s, _, e]);
|
|
28
28
|
return /* @__PURE__ */ r(t, { $flexDirection: "row", $flexGapX: 1.5, children: [
|
|
29
29
|
/* @__PURE__ */ o(t, { $justifyContent: "flex-end", $height: 18, $background: "WHITE", children: /* @__PURE__ */ o(t, { $background: w, $borderRadiusX: 0.5, $width: 16, $height: 16, children: h && /* @__PURE__ */ o(h, { width: 16, height: 16 }) }) }),
|
|
30
30
|
/* @__PURE__ */ r(t, { $flexRowGapX: 0.25, children: [
|
|
31
|
-
/* @__PURE__ */ r(d, { $renderAs: "ub2", children: [
|
|
32
|
-
/* @__PURE__ */ r(d, { $renderAs: "ub2-bold", $inline: !0, children: [
|
|
31
|
+
/* @__PURE__ */ r(d, { $renderAs: "ub2", $color: "BLACK_1", children: [
|
|
32
|
+
/* @__PURE__ */ r(d, { $renderAs: "ub2-bold", $inline: !0, $color: "BLACK_1", children: [
|
|
33
33
|
a,
|
|
34
34
|
":"
|
|
35
35
|
] }),
|
|
36
36
|
" ",
|
|
37
37
|
b
|
|
38
38
|
] }),
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
x ? /* @__PURE__ */ o(
|
|
40
|
+
C,
|
|
41
41
|
{
|
|
42
42
|
label: l ? "View reviewed puzzle" : "View assigned puzzle",
|
|
43
43
|
size: "small",
|
|
@@ -47,7 +47,7 @@ const O = S(
|
|
|
47
47
|
) : /* @__PURE__ */ r(t, { $flexDirection: "row", $flexGapX: 0.75, $alignItems: "center", children: [
|
|
48
48
|
u && /* @__PURE__ */ o(d, { $renderAs: "ub3", $color: "BLACK_T_60", children: u }),
|
|
49
49
|
I && /* @__PURE__ */ o(
|
|
50
|
-
|
|
50
|
+
C,
|
|
51
51
|
{
|
|
52
52
|
label: "Review",
|
|
53
53
|
size: "small",
|
|
@@ -60,8 +60,8 @@ const O = S(
|
|
|
60
60
|
] });
|
|
61
61
|
}
|
|
62
62
|
);
|
|
63
|
-
|
|
63
|
+
N.displayName = "AccordionItem";
|
|
64
64
|
export {
|
|
65
|
-
|
|
65
|
+
N as default
|
|
66
66
|
};
|
|
67
67
|
//# sourceMappingURL=accordion-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion-item.js","sources":["../../../../../src/features/timeline/comps/accordion-item/accordion-item.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, 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 { IAccordionItemProps } from './accordion-item-types';\nimport { getStateConf } from '../utils';\nimport { BLOCK_TYPE } from '../../../chapters-v2/constants/block-constants';\nimport { type TColorNames } from '../../../ui/types';\nimport { CODING_ACTIVITY_NODE_TYPES } from '../constants';\nimport { CARD_TYPE, NODE_STATE, USER_TYPE } from '../../
|
|
1
|
+
{"version":3,"file":"accordion-item.js","sources":["../../../../../src/features/timeline/comps/accordion-item/accordion-item.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, 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 { IAccordionItemProps } from './accordion-item-types';\nimport { getStateConf } from '../utils';\nimport { BLOCK_TYPE } from '../../../chapters-v2/constants/block-constants';\nimport { type TColorNames } from '../../../ui/types';\nimport { CODING_ACTIVITY_NODE_TYPES } from '../constants';\nimport { CARD_TYPE, NODE_STATE, USER_TYPE } from '../../daily-timeline-types';\n\nconst AccordionItem: FC<IAccordionItemProps> = 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, bgColor] = getStateConf(state) as [FC<React.SVGProps<SVGSVGElement>>, TColorNames];\n const isCompleted = state === NODE_STATE.COMPLETED;\n const shouldShowReview = useMemo(() => {\n if (type === CARD_TYPE.CIRCLE) return false;\n\n if (userType === USER_TYPE.TEACHER) return !isSatMockTestBlock || isCompleted;\n\n if (userType === USER_TYPE.STUDENT)\n return (\n isCompleted &&\n !CODING_ACTIVITY_NODE_TYPES.includes(\n nodeType as (typeof CODING_ACTIVITY_NODE_TYPES)[number],\n )\n );\n\n return false;\n }, [userType, type, isSatMockTestBlock, isCompleted, 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 $justifyContent=\"flex-end\" $height={18} $background=\"WHITE\">\n <FlexView $background={bgColor} $borderRadiusX={0.5} $width={16} $height={16}>\n {Icon && <Icon width={16} height={16} />}\n </FlexView>\n </FlexView>\n <FlexView $flexRowGapX={0.25}>\n <Text $renderAs=\"ub2\" $color=\"BLACK_1\">\n <Text $renderAs=\"ub2-bold\" $inline $color=\"BLACK_1\">\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","bgColor","getStateConf","isCompleted","NODE_STATE","shouldShowReview","useMemo","CARD_TYPE","USER_TYPE","CODING_ACTIVITY_NODE_TYPES","handlePuzzleClick","useCallback","handleReviewClick","jsxs","FlexView","jsx","Text","TextButton"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAyCC;AAAA,EAC7C,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,UACrB,CAACW,GAAMC,CAAO,IAAIC,EAAaX,CAAK,GACpCY,IAAcZ,MAAUa,EAAW,WACnCC,IAAmBC,EAAQ,MAC3BtB,MAASuB,EAAU,SAAe,KAElCtB,MAAauB,EAAU,UAAgB,CAACX,KAAsBM,IAE9DlB,MAAauB,EAAU,UAEvBL,KACA,CAACM,EAA2B;AAAA,MAC1Bb;AAAA,IAAA,IAIC,IACN,CAACX,GAAUD,GAAMa,GAAoBM,GAAaP,CAAQ,CAAC,GAExDc,IAAoBC,EAAY,MAAM;AAC1C,MAAIlB,KAAcN,KAChBA,EAAcM,CAAU;AAAA,IAC1B,GACC,CAACN,GAAeM,CAAU,CAAC,GAExBmB,IAAoBD,EAAY,MAAM;AAC1C,MAAIvB,KAAiBK,KACLL,EAAAK,GAAYI,GAAoBF,CAAW;AAAA,OAE1D,CAACE,GAAoBT,GAAeO,GAAaF,CAAU,CAAC;AAE/D,WACG,gBAAAoB,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA;AAAA,MAAC,gBAAAC,EAAAD,GAAA,EAAS,iBAAgB,YAAW,SAAS,IAAI,aAAY,SAC5D,UAAA,gBAAAC,EAACD,GAAS,EAAA,aAAab,GAAS,gBAAgB,KAAK,QAAQ,IAAI,SAAS,IACvE,UAAQD,KAAA,gBAAAe,EAACf,GAAK,EAAA,OAAO,IAAI,QAAQ,GAAI,CAAA,EACxC,CAAA,GACF;AAAA,MACA,gBAAAa,EAACC,GAAS,EAAA,cAAc,MACtB,UAAA;AAAA,QAAA,gBAAAD,EAACG,GAAK,EAAA,WAAU,OAAM,QAAO,WAC3B,UAAA;AAAA,UAAA,gBAAAH,EAACG,KAAK,WAAU,YAAW,SAAO,IAAC,QAAO,WACvC,UAAA;AAAA,YAAA3B;AAAA,YAAM;AAAA,UAAA,GACT;AAAA,UAAQ;AAAA,UACPC;AAAA,QAAA,GACH;AAAA,QACCS,IACC,gBAAAgB;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,OAAOd,IAAc,yBAAyB;AAAA,YAC9C,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASO;AAAA,UAAA;AAAA,QAAA,sBAGVI,GAAS,EAAA,gBAAe,OAAM,WAAW,MAAM,aAAY,UACzD,UAAA;AAAA,UAAAtB,uBACEwB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHxB,GAAA;AAAA,UAEDa,KACC,gBAAAU;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAASL;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GAEJ;AAAA,MAAA,GAEJ;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;AAEA9B,EAAc,cAAc;"}
|
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
import { IMAGES as
|
|
2
|
-
import { NODE_TYPE as
|
|
3
|
-
const
|
|
4
|
-
"01":
|
|
5
|
-
"02":
|
|
6
|
-
"03":
|
|
7
|
-
"04":
|
|
8
|
-
"05":
|
|
9
|
-
"06":
|
|
10
|
-
"07":
|
|
11
|
-
"08":
|
|
12
|
-
"09":
|
|
13
|
-
10:
|
|
14
|
-
11:
|
|
15
|
-
12:
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { IMAGES as e } from "../../../assets/images/images.js";
|
|
2
|
+
import { NODE_TYPE as I } from "../../sheets/constants/sheet.js";
|
|
3
|
+
const n = 1, o = {
|
|
4
|
+
"01": e.JAN,
|
|
5
|
+
"02": e.FEB,
|
|
6
|
+
"03": e.MAR,
|
|
7
|
+
"04": e.APR,
|
|
8
|
+
"05": e.MAY,
|
|
9
|
+
"06": e.JUN,
|
|
10
|
+
"07": e.JUL,
|
|
11
|
+
"08": e.AUG,
|
|
12
|
+
"09": e.SEP,
|
|
13
|
+
10: e.OCT,
|
|
14
|
+
11: e.NOV,
|
|
15
|
+
12: e.DEC
|
|
16
|
+
}, E = [
|
|
17
|
+
I.TURING_BASIC,
|
|
18
|
+
I.TURING_LINK,
|
|
19
|
+
I.TURING_SHARE,
|
|
20
|
+
I.PYTHON_BASIC,
|
|
21
|
+
I.PYTHON_VISUAL
|
|
22
22
|
];
|
|
23
|
+
var i = /* @__PURE__ */ ((_) => (_.TIMELINE_VIEWED = "timeline_viewed", _.TIMELINE_CLOSED = "timeline_closed", _.TIMELINE_SCROLL_CONTINUED = "timeline_scroll_continued", _.TIMELINE_VIEW_EXPANDED = "timeline_view_expanded", _.TIMELINE_VIEW_COLLAPSED = "timeline_view_collapsed", _))(i || {});
|
|
23
24
|
export {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
E as CODING_ACTIVITY_NODE_TYPES,
|
|
26
|
+
n as INITIAL_PAGE,
|
|
27
|
+
i as TIMELINE_EVENTS,
|
|
28
|
+
o as monthImageMap
|
|
27
29
|
};
|
|
28
30
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/features/timeline/comps/constants.ts"],"sourcesContent":["import { IMAGES } from '../../../assets/images/images';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\n\nexport const INITIAL_PAGE = 1;\n\nexport const monthImageMap = {\n '01': IMAGES.JAN,\n '02': IMAGES.FEB,\n '03': IMAGES.MAR,\n '04': IMAGES.APR,\n '05': IMAGES.MAY,\n '06': IMAGES.JUN,\n '07': IMAGES.JUL,\n '08': IMAGES.AUG,\n '09': IMAGES.SEP,\n '10': IMAGES.OCT,\n '11': IMAGES.NOV,\n '12': IMAGES.DEC,\n};\n\nexport const CODING_ACTIVITY_NODE_TYPES = [\n NODE_TYPE.TURING_BASIC,\n NODE_TYPE.TURING_LINK,\n NODE_TYPE.TURING_SHARE,\n NODE_TYPE.PYTHON_BASIC,\n NODE_TYPE.PYTHON_VISUAL,\n];\n"],"names":["INITIAL_PAGE","monthImageMap","IMAGES","CODING_ACTIVITY_NODE_TYPES","NODE_TYPE"],"mappings":";;AAGO,MAAMA,IAAe,GAEfC,IAAgB;AAAA,EAC3B,MAAMC,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,IAAMA,EAAO;AAAA,EACb,IAAMA,EAAO;AAAA,EACb,IAAMA,EAAO;AACf,GAEaC,IAA6B;AAAA,EACxCC,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AACZ;"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/features/timeline/comps/constants.ts"],"sourcesContent":["import { IMAGES } from '../../../assets/images/images';\nimport { NODE_TYPE } from '../../sheets/constants/sheet';\n\nexport const INITIAL_PAGE = 1;\n\nexport const monthImageMap = {\n '01': IMAGES.JAN,\n '02': IMAGES.FEB,\n '03': IMAGES.MAR,\n '04': IMAGES.APR,\n '05': IMAGES.MAY,\n '06': IMAGES.JUN,\n '07': IMAGES.JUL,\n '08': IMAGES.AUG,\n '09': IMAGES.SEP,\n '10': IMAGES.OCT,\n '11': IMAGES.NOV,\n '12': IMAGES.DEC,\n};\n\nexport const CODING_ACTIVITY_NODE_TYPES = [\n NODE_TYPE.TURING_BASIC,\n NODE_TYPE.TURING_LINK,\n NODE_TYPE.TURING_SHARE,\n NODE_TYPE.PYTHON_BASIC,\n NODE_TYPE.PYTHON_VISUAL,\n];\n\nexport enum TIMELINE_EVENTS {\n TIMELINE_VIEWED = 'timeline_viewed',\n TIMELINE_CLOSED = 'timeline_closed',\n TIMELINE_SCROLL_CONTINUED = 'timeline_scroll_continued',\n TIMELINE_VIEW_EXPANDED = 'timeline_view_expanded',\n TIMELINE_VIEW_COLLAPSED = 'timeline_view_collapsed',\n}\n"],"names":["INITIAL_PAGE","monthImageMap","IMAGES","CODING_ACTIVITY_NODE_TYPES","NODE_TYPE","TIMELINE_EVENTS"],"mappings":";;AAGO,MAAMA,IAAe,GAEfC,IAAgB;AAAA,EAC3B,MAAMC,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,MAAMA,EAAO;AAAA,EACb,IAAMA,EAAO;AAAA,EACb,IAAMA,EAAO;AAAA,EACb,IAAMA,EAAO;AACf,GAEaC,IAA6B;AAAA,EACxCC,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AACZ;AAEY,IAAAC,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,4BAA4B,6BAC5BA,EAAA,yBAAyB,0BACzBA,EAAA,0BAA0B,2BALhBA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -1,59 +1,65 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
1
|
+
import { jsx as e, jsxs as m, Fragment as y } from "react/jsx-runtime";
|
|
2
|
+
import { memo as T, useState as A, useMemo as L, useCallback as w } from "react";
|
|
3
|
+
import D from "../../../../assets/line-icons/icons/plus.js";
|
|
4
4
|
import S from "../../../ui/accordion-section/accordion-section.js";
|
|
5
5
|
import s from "../../../ui/layout/flex-view.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { SectionContainer as
|
|
11
|
-
import { getTimelineCardIcon as
|
|
12
|
-
import { useUIContext as
|
|
13
|
-
|
|
6
|
+
import k from "../../../../assets/line-icons/icons/minus.js";
|
|
7
|
+
import N from "../../../ui/image/image.js";
|
|
8
|
+
import $ from "../../../ui/text/text.js";
|
|
9
|
+
import V from "../accordion-item/accordion-item.js";
|
|
10
|
+
import { SectionContainer as X, TagContainer as j, SectionFooter as B, Card as M } from "./daily-timeline-items-styled.js";
|
|
11
|
+
import { getTimelineCardIcon as P } from "../utils.js";
|
|
12
|
+
import { useUIContext as F } from "../../../ui/context/context.js";
|
|
13
|
+
import { TIMELINE_EVENTS as f } from "../constants.js";
|
|
14
|
+
const K = T((I) => {
|
|
14
15
|
const {
|
|
15
|
-
type:
|
|
16
|
-
summary:
|
|
17
|
-
cards:
|
|
18
|
-
onPuzzleClick:
|
|
19
|
-
onReviewClick:
|
|
20
|
-
courseStream:
|
|
21
|
-
shouldShowTag:
|
|
22
|
-
userType:
|
|
16
|
+
type: t,
|
|
17
|
+
summary: i,
|
|
18
|
+
cards: r,
|
|
19
|
+
onPuzzleClick: E,
|
|
20
|
+
onReviewClick: g,
|
|
21
|
+
courseStream: l,
|
|
22
|
+
shouldShowTag: C,
|
|
23
|
+
userType: _,
|
|
23
24
|
isLastItem: d,
|
|
24
|
-
fromDate:
|
|
25
|
-
studentId:
|
|
26
|
-
} =
|
|
27
|
-
(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
fromDate: c,
|
|
26
|
+
studentId: a
|
|
27
|
+
} = I, [n, b] = A(!1), p = L(() => P(t), [t]), { onEvent: h } = F(), x = w(
|
|
28
|
+
(o) => {
|
|
29
|
+
b(o), h(
|
|
30
|
+
o ? f.TIMELINE_VIEW_EXPANDED : f.TIMELINE_VIEW_COLLAPSED,
|
|
31
|
+
{
|
|
32
|
+
timeline_date: c,
|
|
33
|
+
student_id: a,
|
|
34
|
+
timeline_section_type: t,
|
|
35
|
+
timeline_section_subject: i
|
|
36
|
+
}
|
|
37
|
+
);
|
|
34
38
|
},
|
|
35
|
-
[a,
|
|
39
|
+
[c, h, a, t, i]
|
|
36
40
|
);
|
|
37
41
|
return /* @__PURE__ */ e(
|
|
38
42
|
S,
|
|
39
43
|
{
|
|
40
|
-
headerElement: /* @__PURE__ */
|
|
41
|
-
|
|
44
|
+
headerElement: /* @__PURE__ */ m(
|
|
45
|
+
X,
|
|
42
46
|
{
|
|
43
47
|
$borderColor: "BLACK_1",
|
|
44
|
-
$shouldAddBorder: d && !
|
|
48
|
+
$shouldAddBorder: d && !n,
|
|
45
49
|
children: [
|
|
46
|
-
|
|
47
|
-
/* @__PURE__ */
|
|
50
|
+
C && l && /* @__PURE__ */ e(j, { $position: "absolute", $background: "BLACK", $gutter: 4, children: /* @__PURE__ */ e($, { $renderAs: "ab4-black", $color: "WHITE", children: l }) }),
|
|
51
|
+
/* @__PURE__ */ m(
|
|
48
52
|
s,
|
|
49
53
|
{
|
|
50
54
|
$flexDirection: "row",
|
|
51
55
|
$alignItems: "center",
|
|
52
56
|
$justifyContent: "space-between",
|
|
57
|
+
$heightX: 4,
|
|
58
|
+
$widthX: 30,
|
|
53
59
|
$gutterX: 1,
|
|
54
60
|
$gapX: 1.32,
|
|
55
61
|
children: [
|
|
56
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ m(
|
|
57
63
|
s,
|
|
58
64
|
{
|
|
59
65
|
$flexDirection: "row",
|
|
@@ -61,40 +67,40 @@ const z = w((h) => {
|
|
|
61
67
|
$justifyContent: "center",
|
|
62
68
|
$flexGapX: 1.125,
|
|
63
69
|
children: [
|
|
64
|
-
/* @__PURE__ */ e(s, { children: p && /* @__PURE__ */ e(
|
|
65
|
-
/* @__PURE__ */ e(
|
|
70
|
+
/* @__PURE__ */ e(s, { children: p && /* @__PURE__ */ e(N, { src: p }) }),
|
|
71
|
+
/* @__PURE__ */ e($, { $renderAs: "ab2", children: i ?? "" })
|
|
66
72
|
]
|
|
67
73
|
}
|
|
68
74
|
),
|
|
69
|
-
|
|
75
|
+
n ? /* @__PURE__ */ e(k, { width: 20, height: 20 }) : /* @__PURE__ */ e(D, { width: 20, height: 20 })
|
|
70
76
|
]
|
|
71
77
|
}
|
|
72
78
|
)
|
|
73
79
|
]
|
|
74
80
|
}
|
|
75
81
|
),
|
|
76
|
-
bodyElement:
|
|
77
|
-
|
|
82
|
+
bodyElement: r.length > 0 ? /* @__PURE__ */ e(
|
|
83
|
+
B,
|
|
78
84
|
{
|
|
79
85
|
$gutter: 32,
|
|
80
86
|
$borderColor: "BLACK_1",
|
|
81
|
-
$isExpanded:
|
|
82
|
-
children:
|
|
83
|
-
|
|
87
|
+
$isExpanded: n && !d,
|
|
88
|
+
children: r.map((o, u) => /* @__PURE__ */ e(
|
|
89
|
+
M,
|
|
84
90
|
{
|
|
85
|
-
$isLastCard:
|
|
91
|
+
$isLastCard: u === r.length - 1,
|
|
86
92
|
children: /* @__PURE__ */ e(
|
|
87
|
-
|
|
93
|
+
V,
|
|
88
94
|
{
|
|
89
|
-
card:
|
|
90
|
-
onPuzzleClick:
|
|
91
|
-
onReviewClick:
|
|
92
|
-
type:
|
|
93
|
-
userType:
|
|
95
|
+
card: o,
|
|
96
|
+
onPuzzleClick: E,
|
|
97
|
+
onReviewClick: g,
|
|
98
|
+
type: t,
|
|
99
|
+
userType: _
|
|
94
100
|
}
|
|
95
101
|
)
|
|
96
102
|
},
|
|
97
|
-
`${
|
|
103
|
+
`${o.node_id}-${u}`
|
|
98
104
|
))
|
|
99
105
|
}
|
|
100
106
|
) : /* @__PURE__ */ e(y, {}),
|
|
@@ -103,8 +109,8 @@ const z = w((h) => {
|
|
|
103
109
|
}
|
|
104
110
|
);
|
|
105
111
|
});
|
|
106
|
-
|
|
112
|
+
K.displayName = "DailyTimelineItems";
|
|
107
113
|
export {
|
|
108
|
-
|
|
114
|
+
K as default
|
|
109
115
|
};
|
|
110
116
|
//# sourceMappingURL=daily-timeline-items.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-timeline-items.js","sources":["../../../../../src/features/timeline/comps/daily-timeline-items/daily-timeline-items.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState, type FC } from 'react';\n\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport AccordionSection from '../../../ui/accordion-section/accordion-section';\nimport FlexView from '../../../ui/layout/flex-view';\nimport MinusIcon from '../../../../assets/line-icons/icons/minus';\nimport Image from '../../../ui/image/image';\nimport Text from '../../../ui/text/text';\nimport AccordionItem from '../accordion-item/accordion-item';\nimport * as Styled from './daily-timeline-items-styled';\nimport { getTimelineCardIcon } from '../utils';\nimport { type IDailyTimelineItemsProps } from './daily-timeline-items.types';\nimport { useUIContext } from '../../../ui/context/context';\n\nconst DailyTimelineItems: FC<IDailyTimelineItemsProps> = memo(props => {\n const {\n type,\n summary,\n cards,\n onPuzzleClick,\n onReviewClick,\n courseStream,\n shouldShowTag,\n userType,\n isLastItem,\n fromDate,\n studentId,\n } = props;\n const [isExpended, setIsExpended] = useState(false);\n\n const timelineIcon = useMemo(() => getTimelineCardIcon(type), [type]);\n const { onEvent: trackEvent } = useUIContext();\n\n const handleExpand = useCallback(\n (val: boolean) => {\n setIsExpended(val);\n\n trackEvent(val ?
|
|
1
|
+
{"version":3,"file":"daily-timeline-items.js","sources":["../../../../../src/features/timeline/comps/daily-timeline-items/daily-timeline-items.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState, type FC } from 'react';\n\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport AccordionSection from '../../../ui/accordion-section/accordion-section';\nimport FlexView from '../../../ui/layout/flex-view';\nimport MinusIcon from '../../../../assets/line-icons/icons/minus';\nimport Image from '../../../ui/image/image';\nimport Text from '../../../ui/text/text';\nimport AccordionItem from '../accordion-item/accordion-item';\nimport * as Styled from './daily-timeline-items-styled';\nimport { getTimelineCardIcon } from '../utils';\nimport { type IDailyTimelineItemsProps } from './daily-timeline-items.types';\nimport { useUIContext } from '../../../ui/context/context';\nimport { TIMELINE_EVENTS } from '../constants';\n\nconst DailyTimelineItems: FC<IDailyTimelineItemsProps> = memo(props => {\n const {\n type,\n summary,\n cards,\n onPuzzleClick,\n onReviewClick,\n courseStream,\n shouldShowTag,\n userType,\n isLastItem,\n fromDate,\n studentId,\n } = props;\n const [isExpended, setIsExpended] = useState(false);\n\n const timelineIcon = useMemo(() => getTimelineCardIcon(type), [type]);\n const { onEvent: trackEvent } = useUIContext();\n\n const handleExpand = useCallback(\n (val: boolean) => {\n setIsExpended(val);\n\n trackEvent(\n val ? TIMELINE_EVENTS.TIMELINE_VIEW_EXPANDED : TIMELINE_EVENTS.TIMELINE_VIEW_COLLAPSED,\n {\n timeline_date: fromDate,\n student_id: studentId,\n timeline_section_type: type,\n timeline_section_subject: summary,\n },\n );\n },\n [fromDate, trackEvent, studentId, type, summary],\n );\n\n return (\n <AccordionSection\n headerElement={\n <Styled.SectionContainer\n $borderColor={'BLACK_1'}\n $shouldAddBorder={isLastItem && !isExpended}\n >\n {shouldShowTag && courseStream && (\n <Styled.TagContainer $position=\"absolute\" $background=\"BLACK\" $gutter={4}>\n <Text $renderAs=\"ab4-black\" $color=\"WHITE\">\n {courseStream}\n </Text>\n </Styled.TagContainer>\n )}\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $heightX={4}\n $widthX={30}\n $gutterX={1}\n $gapX={1.32}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexGapX={1.125}\n >\n <FlexView>{timelineIcon && <Image src={timelineIcon} />}</FlexView>\n <Text $renderAs=\"ab2\">{summary ?? ''}</Text>\n </FlexView>\n {isExpended ? (\n <MinusIcon width={20} height={20} />\n ) : (\n <PlusIcon width={20} height={20} />\n )}\n </FlexView>\n </Styled.SectionContainer>\n }\n bodyElement={\n cards.length > 0 ? (\n <Styled.SectionFooter\n $gutter={32}\n $borderColor={'BLACK_1'}\n $isExpanded={isExpended && !isLastItem}\n >\n {cards.map((card, index) => (\n <Styled.Card\n key={`${card.node_id}-${index}`}\n $isLastCard={index === cards.length - 1}\n >\n <AccordionItem\n card={card}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n type={type}\n userType={userType}\n />\n </Styled.Card>\n ))}\n </Styled.SectionFooter>\n ) : (\n <></>\n )\n }\n defaultVisible={false}\n onBodyVisibilityChange={handleExpand}\n />\n );\n});\n\nDailyTimelineItems.displayName = 'DailyTimelineItems';\n\nexport default DailyTimelineItems;\n"],"names":["DailyTimelineItems","memo","props","type","summary","cards","onPuzzleClick","onReviewClick","courseStream","shouldShowTag","userType","isLastItem","fromDate","studentId","isExpended","setIsExpended","useState","timelineIcon","useMemo","getTimelineCardIcon","trackEvent","useUIContext","handleExpand","useCallback","val","TIMELINE_EVENTS","jsx","AccordionSection","jsxs","Styled.SectionContainer","Styled.TagContainer","Text","FlexView","Image","MinusIcon","PlusIcon","Styled.SectionFooter","card","index","Styled.Card","AccordionItem","Fragment"],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { memo as o } from "react";
|
|
3
|
-
import { MonthImageWrapper as
|
|
4
|
-
import { monthImageMap as
|
|
5
|
-
const
|
|
6
|
-
const m =
|
|
3
|
+
import { MonthImageWrapper as i } from "./month-break-styled.js";
|
|
4
|
+
import { monthImageMap as p } from "../constants.js";
|
|
5
|
+
const n = o(({ fromMonth: r, isLastDayOfMth: t, isLastDayOfYear: a }) => {
|
|
6
|
+
const m = p[String(r).padStart(2, "0")];
|
|
7
7
|
return r && t ? /* @__PURE__ */ e(
|
|
8
|
-
|
|
8
|
+
i,
|
|
9
9
|
{
|
|
10
|
-
$isLastYear:
|
|
10
|
+
$isLastYear: a,
|
|
11
11
|
$img: m,
|
|
12
12
|
$width: "100%",
|
|
13
13
|
$height: 246
|
|
14
14
|
}
|
|
15
15
|
) : null;
|
|
16
16
|
});
|
|
17
|
-
|
|
17
|
+
n.displayName = "MonthBreak";
|
|
18
18
|
export {
|
|
19
|
-
|
|
19
|
+
n as default
|
|
20
20
|
};
|
|
21
21
|
//# sourceMappingURL=month-break.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"month-break.js","sources":["../../../../../src/features/timeline/comps/month-break/month-break.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type IMonthBreakProps } from './month-break-types';\nimport * as Styled from './month-break-styled';\nimport { monthImageMap } from '../constants';\n\nconst MonthBreak = memo(({ fromMonth, isLastDayOfMth }: IMonthBreakProps) => {\n const Image = monthImageMap[String(fromMonth).padStart(2, '0') as keyof typeof monthImageMap];\n\n if (fromMonth && isLastDayOfMth)\n return (\n <Styled.MonthImageWrapper\n $isLastYear={
|
|
1
|
+
{"version":3,"file":"month-break.js","sources":["../../../../../src/features/timeline/comps/month-break/month-break.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type IMonthBreakProps } from './month-break-types';\nimport * as Styled from './month-break-styled';\nimport { monthImageMap } from '../constants';\n\nconst MonthBreak = memo(({ fromMonth, isLastDayOfMth, isLastDayOfYear }: IMonthBreakProps) => {\n const Image = monthImageMap[String(fromMonth).padStart(2, '0') as keyof typeof monthImageMap];\n\n if (fromMonth && isLastDayOfMth)\n return (\n <Styled.MonthImageWrapper\n $isLastYear={isLastDayOfYear}\n $img={Image}\n $width=\"100%\"\n $height={246}\n />\n );\n\n return null;\n});\n\nMonthBreak.displayName = 'MonthBreak';\n\nexport default MonthBreak;\n"],"names":["MonthBreak","memo","fromMonth","isLastDayOfMth","isLastDayOfYear","Image","monthImageMap","jsx","Styled.MonthImageWrapper"],"mappings":";;;;AAMA,MAAMA,IAAaC,EAAK,CAAC,EAAE,WAAAC,GAAW,gBAAAC,GAAgB,iBAAAC,QAAwC;AACtF,QAAAC,IAAQC,EAAc,OAAOJ,CAAS,EAAE,SAAS,GAAG,GAAG,CAA+B;AAE5F,SAAIA,KAAaC,IAEb,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAaJ;AAAA,MACb,MAAMC;AAAA,MACN,QAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EAAA,IAIR;AACT,CAAC;AAEDL,EAAW,cAAc;"}
|
|
@@ -1,37 +1,30 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs as o, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { memo as i } from "react";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { ILLUSTRATIONS as
|
|
7
|
-
const
|
|
8
|
-
|
|
3
|
+
import e from "../../ui/image/image.js";
|
|
4
|
+
import m from "../../ui/layout/flex-view.js";
|
|
5
|
+
import c from "../../ui/text/text.js";
|
|
6
|
+
import { ILLUSTRATIONS as $ } from "../../../assets/illustrations/illustrations.js";
|
|
7
|
+
const t = () => /* @__PURE__ */ o(
|
|
8
|
+
m,
|
|
9
9
|
{
|
|
10
10
|
$flexDirection: "row",
|
|
11
|
+
$flexGapX: 0.75,
|
|
11
12
|
$alignItems: "center",
|
|
12
|
-
$justifyContent: "space-between",
|
|
13
13
|
$gutterX: 1,
|
|
14
14
|
$gapX: 1.32,
|
|
15
|
-
$
|
|
16
|
-
$
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
$flexGapX: 0.625,
|
|
24
|
-
children: [
|
|
25
|
-
/* @__PURE__ */ t(n, { src: c.NO_ACTIVITY }),
|
|
26
|
-
/* @__PURE__ */ t(m, { $renderAs: "ab2", children: "No Activity" })
|
|
27
|
-
]
|
|
28
|
-
}
|
|
29
|
-
)
|
|
15
|
+
$heightX: 4,
|
|
16
|
+
$widthX: 30,
|
|
17
|
+
$borderColor: "BLACK_T_15",
|
|
18
|
+
$background: "BLACK_T_04",
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ r(e, { src: $.NO_ACTIVITY }),
|
|
21
|
+
/* @__PURE__ */ r(c, { $renderAs: "ab2", children: "No Activity" })
|
|
22
|
+
]
|
|
30
23
|
}
|
|
31
24
|
);
|
|
32
|
-
|
|
33
|
-
const
|
|
25
|
+
t.displayName = "NoActivity";
|
|
26
|
+
const A = i(t);
|
|
34
27
|
export {
|
|
35
|
-
|
|
28
|
+
A as default
|
|
36
29
|
};
|
|
37
30
|
//# sourceMappingURL=no-activity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-activity.js","sources":["../../../../src/features/timeline/comps/no-activity.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\nconst
|
|
1
|
+
{"version":3,"file":"no-activity.js","sources":["../../../../src/features/timeline/comps/no-activity.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\nconst NoActivity = () => {\n return (\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={0.75}\n $alignItems=\"center\"\n $gutterX={1}\n $gapX={1.32}\n $heightX={4}\n $widthX={30}\n $borderColor=\"BLACK_T_15\"\n $background=\"BLACK_T_04\"\n >\n <Image src={ILLUSTRATIONS.NO_ACTIVITY} />\n <Text $renderAs=\"ab2\">No Activity</Text>\n </FlexView>\n );\n};\n\nNoActivity.displayName = 'NoActivity';\n\nexport default memo(NoActivity);\n"],"names":["NoActivity","jsxs","FlexView","jsx","Image","ILLUSTRATIONS","Text","NoActivity$1","memo"],"mappings":";;;;;;AAOA,MAAMA,IAAa,MAEf,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAe;AAAA,IACf,WAAW;AAAA,IACX,aAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAa;AAAA,IACb,aAAY;AAAA,IAEZ,UAAA;AAAA,MAAC,gBAAAC,EAAAC,GAAA,EAAM,KAAKC,EAAc,YAAa,CAAA;AAAA,MACtC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,OAAM,UAAW,eAAA;AAAA,IAAA;AAAA,EAAA;AAAA;AAKvCN,EAAW,cAAc;AAEzB,MAAeO,IAAAC,EAAKR,CAAU;"}
|
|
@@ -2,7 +2,7 @@ import { ILLUSTRATIONS as r } from "../../../assets/illustrations/illustrations.
|
|
|
2
2
|
import a from "../../../assets/line-icons/icons/check2.js";
|
|
3
3
|
import m from "../../../assets/line-icons/icons/cross.js";
|
|
4
4
|
import n from "../../../assets/line-icons/icons/status.js";
|
|
5
|
-
import { CARD_TYPE as e, NODE_STATE as o } from "../
|
|
5
|
+
import { CARD_TYPE as e, NODE_STATE as o } from "../daily-timeline-types.js";
|
|
6
6
|
import { formatDate as c } from "../../../node_modules/date-fns/format.js";
|
|
7
7
|
const N = (t) => {
|
|
8
8
|
switch (t) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/features/timeline/comps/utils.ts"],"sourcesContent":["import { format } from 'date-fns';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport CrossIcon from '../../../assets/line-icons/icons/cross';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { CARD_TYPE, NODE_STATE } from '../
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/features/timeline/comps/utils.ts"],"sourcesContent":["import { format } from 'date-fns';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport CrossIcon from '../../../assets/line-icons/icons/cross';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { CARD_TYPE, NODE_STATE } from '../daily-timeline-types';\n\nexport const getStateConf = (state: NODE_STATE) => {\n switch (state) {\n case NODE_STATE.COMPLETED:\n return [Check2Icon, 'GREEN_2'];\n case NODE_STATE.IN_PROGRESS:\n return [StatusIcon, 'YELLOW_2'];\n case NODE_STATE.PENDING:\n return [CrossIcon, 'ORANGE_2'];\n default:\n return [StatusIcon, 'GREY_2'];\n }\n};\n\nexport const getTimelineCardIcon = (type: CARD_TYPE) => {\n switch (type) {\n case CARD_TYPE.CW:\n return ILLUSTRATIONS.CW_ICON;\n case CARD_TYPE.HW:\n return ILLUSTRATIONS.HW_ICON;\n case CARD_TYPE.CIRCLE:\n return ILLUSTRATIONS.CIRCLE_ICON;\n default:\n return null;\n }\n};\n\nexport const getDayMonthYear = (dateObj: Date) => ({\n day: dateObj.getDate(),\n month: dateObj.getMonth() + 1,\n year: dateObj.getFullYear(),\n monthName: format(dateObj, 'MMM'),\n});\n"],"names":["getStateConf","state","NODE_STATE","Check2Icon","StatusIcon","CrossIcon","getTimelineCardIcon","type","CARD_TYPE","ILLUSTRATIONS","getDayMonthYear","dateObj","format"],"mappings":";;;;;;AAQa,MAAAA,IAAe,CAACC,MAAsB;AACjD,UAAQA,GAAO;AAAA,IACb,KAAKC,EAAW;AACP,aAAA,CAACC,GAAY,SAAS;AAAA,IAC/B,KAAKD,EAAW;AACP,aAAA,CAACE,GAAY,UAAU;AAAA,IAChC,KAAKF,EAAW;AACP,aAAA,CAACG,GAAW,UAAU;AAAA,IAC/B;AACS,aAAA,CAACD,GAAY,QAAQ;AAAA,EAChC;AACF,GAEaE,IAAsB,CAACC,MAAoB;AACtD,UAAQA,GAAM;AAAA,IACZ,KAAKC,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB,KAAKD,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB,KAAKD,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB;AACS,aAAA;AAAA,EACX;AACF,GAEaC,IAAkB,CAACC,OAAmB;AAAA,EACjD,KAAKA,EAAQ,QAAQ;AAAA,EACrB,OAAOA,EAAQ,SAAA,IAAa;AAAA,EAC5B,MAAMA,EAAQ,YAAY;AAAA,EAC1B,WAAWC,EAAOD,GAAS,KAAK;AAClC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-timeline-styled.js","sources":["../../../src/features/timeline/daily-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../ui/layout/flex-view';\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 DailyItems = styled(FlexView)<{ $addedMonthBreak?: boolean }>`\n margin-top: ${({ $addedMonthBreak })
|
|
1
|
+
{"version":3,"file":"daily-timeline-styled.js","sources":["../../../src/features/timeline/daily-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../ui/layout/flex-view';\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 DailyItems = styled(FlexView)<{ $addedMonthBreak?: boolean }>`\n margin-top: ${({ $addedMonthBreak }) =>\n $addedMonthBreak\n ? '-108px' // 64px card height + 16px(separator) + 16(date text) + 12(separator)\n : '0'};\n z-index: 1;\n`;\n\nexport { DailyTimelineContainer, DailyItems, ScrollWrapper };\n"],"names":["ScrollWrapper","styled","FlexView","DailyTimelineContainer","DailyItems","$addedMonthBreak"],"mappings":";;AAIM,MAAAA,IAAgBC,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAK/BC,IAAyBF,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAKxCE,IAAaH,EAAOC,CAAQ;AAAA,gBAClB,CAAC,EAAE,kBAAAG,EAAA,MACfA,IACI,WACA,GAAG;AAAA;AAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline-types.js","sources":["../../../src/features/timeline/daily-timeline-types.ts"],"sourcesContent":["import { type TCourseStream } from '../milestone/create/milestone-create-types';\n\nexport enum NODE_STATE {\n COMPLETED = 'COMPLETED',\n IN_PROGRESS = 'IN_PROGRESS',\n PENDING = 'PENDING',\n}\n\nexport enum USER_TYPE {\n TEACHER = 'TEACHER',\n STUDENT = 'STUDENT',\n PARENT = 'PARENT',\n}\n\nexport enum CARD_TYPE {\n CW = 'CW',\n HW = 'HW',\n CIRCLE = 'CIRCLE',\n}\n\nexport interface IDailyTimelineProps {\n userType: USER_TYPE;\n studentId: string;\n courseStreams?: TCourseStream[];\n onPuzzlesClick: (userNodeId: string) => void;\n onReviewClick?: (\n userNodeId: string | null,\n isSatMockTestBlock: boolean,\n userBlockId: string | null,\n ) => void;\n scrollAreaHeight?: string | number;\n}\n"],"names":["NODE_STATE","USER_TYPE","CARD_TYPE"],"mappings":"AAEY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,cAAc,eACdA,EAAA,UAAU,WAHAA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,KAAK,MACLA,EAAA,KAAK,MACLA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -1,133 +1,142 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
1
|
+
import { jsx as e, jsxs as d } from "react/jsx-runtime";
|
|
2
|
+
import { memo as q, useState as R, useCallback as k, useMemo as H, useEffect as p } from "react";
|
|
3
|
+
import J from "../ui/error/error.js";
|
|
4
|
+
import v from "../ui/layout/flex-view.js";
|
|
5
|
+
import Q from "../ui/loader/app-loader/app-loader.js";
|
|
6
|
+
import Z from "../ui/intersection-loader/intersection-loader.js";
|
|
7
7
|
import g from "../ui/separator/separator.js";
|
|
8
|
-
import
|
|
9
|
-
import { useDailyTimelineGet as
|
|
10
|
-
import { getDayMonthYear as
|
|
11
|
-
import
|
|
12
|
-
import { ScrollWrapper as te, DailyTimelineContainer as
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import {
|
|
17
|
-
import le from "
|
|
18
|
-
import
|
|
19
|
-
import {
|
|
20
|
-
import { parseISO as
|
|
21
|
-
import { isLastDayOfMonth as
|
|
22
|
-
const
|
|
23
|
-
({ userType:
|
|
24
|
-
const [
|
|
25
|
-
get:
|
|
26
|
-
data:
|
|
27
|
-
isProcessingFailed:
|
|
28
|
-
isProcessing:
|
|
29
|
-
} =
|
|
30
|
-
(
|
|
31
|
-
a && C(!0),
|
|
32
|
-
page:
|
|
8
|
+
import ee from "../ui/text/text.js";
|
|
9
|
+
import { useDailyTimelineGet as oe } from "./api/use-daily-timeline-get.js";
|
|
10
|
+
import { getDayMonthYear as w } from "./comps/utils.js";
|
|
11
|
+
import re from "./comps/daily-timeline-items/daily-timeline-items.js";
|
|
12
|
+
import { ScrollWrapper as te, DailyTimelineContainer as ie, DailyItems as ae } from "./daily-timeline-styled.js";
|
|
13
|
+
import { USER_TYPE as me, CARD_TYPE as T } from "./daily-timeline-types.js";
|
|
14
|
+
import se from "./comps/month-break/month-break.js";
|
|
15
|
+
import ne from "./comps/year-break/year-break.js";
|
|
16
|
+
import { INITIAL_PAGE as fe, TIMELINE_EVENTS as u } from "./comps/constants.js";
|
|
17
|
+
import { getTimezone as le } from "../../helpers/date-time.js";
|
|
18
|
+
import ce from "./comps/no-activity.js";
|
|
19
|
+
import { useUIContext as he } from "../ui/context/context.js";
|
|
20
|
+
import { parseISO as P } from "../../node_modules/date-fns/parseISO.js";
|
|
21
|
+
import { isLastDayOfMonth as pe } from "../../node_modules/date-fns/isLastDayOfMonth.js";
|
|
22
|
+
const X = q(
|
|
23
|
+
({ userType: E, studentId: i, courseStreams: l, onPuzzlesClick: Y, onReviewClick: j, scrollAreaHeight: D }) => {
|
|
24
|
+
const [c, M] = R([]), [_, C] = R(!1), { onEvent: s } = he(), {
|
|
25
|
+
get: $,
|
|
26
|
+
data: o,
|
|
27
|
+
isProcessingFailed: B,
|
|
28
|
+
isProcessing: b
|
|
29
|
+
} = oe(i), { user_logs: y } = o ?? {}, n = k(
|
|
30
|
+
(r = fe, a = !1) => {
|
|
31
|
+
a && C(!0), $(i, {
|
|
32
|
+
page: r,
|
|
33
33
|
size: 10,
|
|
34
|
-
timezone:
|
|
35
|
-
course_stream:
|
|
34
|
+
timezone: le(),
|
|
35
|
+
course_stream: E === me.TEACHER ? l : []
|
|
36
36
|
});
|
|
37
37
|
},
|
|
38
|
-
[
|
|
39
|
-
),
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
m.course_stream && m.course_stream !==
|
|
38
|
+
[$, i, E, l]
|
|
39
|
+
), U = H(() => {
|
|
40
|
+
const r = /* @__PURE__ */ new Set();
|
|
41
|
+
c.forEach((t) => {
|
|
42
|
+
t.daily_logs && t.daily_logs.forEach((m) => {
|
|
43
|
+
m.course_stream && m.course_stream !== T.CIRCLE && r.add(m.course_stream);
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
46
|
const a = new Set(
|
|
47
|
-
(l || []).filter((
|
|
47
|
+
(l || []).filter((t) => String(t) !== T.CIRCLE)
|
|
48
48
|
);
|
|
49
|
-
return a.size > 1 ||
|
|
50
|
-
}, [
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
return a.size > 1 || r.size > 1 || a.size > 0 && r.size > 0 && (a.size !== r.size || !Array.from(a).every((t) => r.has(t)));
|
|
50
|
+
}, [c, l]), V = k(() => {
|
|
51
|
+
o != null && o.next_page && !_ && (n(o.next_page, !0), s(u.TIMELINE_SCROLL_CONTINUED, {
|
|
52
|
+
student_id: i
|
|
53
|
+
}));
|
|
54
|
+
}, [o, i, s, _, n]);
|
|
53
55
|
return p(() => {
|
|
54
|
-
|
|
55
|
-
}, [
|
|
56
|
-
|
|
56
|
+
o && (o.curr_page === 1 ? M(y ?? []) : (M((r) => [...r, ...y ?? []]), C(!1)));
|
|
57
|
+
}, [o, y]), p(() => {
|
|
58
|
+
s(u.TIMELINE_VIEWED, {
|
|
57
59
|
student_id: i
|
|
58
60
|
});
|
|
59
|
-
}, [i,
|
|
60
|
-
|
|
61
|
+
}, [i, s]), p(() => () => {
|
|
62
|
+
s(u.TIMELINE_CLOSED, {
|
|
61
63
|
student_id: i
|
|
62
64
|
});
|
|
63
|
-
}, [i,
|
|
64
|
-
|
|
65
|
-
}, [
|
|
66
|
-
|
|
65
|
+
}, [i, s]), p(() => {
|
|
66
|
+
n(1, !1);
|
|
67
|
+
}, [n]), B ? /* @__PURE__ */ e(J, { height: D || "100vh", onTryAgain: n }) : b && !c.length ? /* @__PURE__ */ e(
|
|
68
|
+
v,
|
|
67
69
|
{
|
|
68
70
|
$alignItems: "center",
|
|
69
71
|
$justifyContent: "center",
|
|
70
|
-
$height:
|
|
71
|
-
children: /* @__PURE__ */
|
|
72
|
+
$height: D || "100vh",
|
|
73
|
+
children: /* @__PURE__ */ e(Q, { width: "100%", height: "100%" })
|
|
72
74
|
}
|
|
73
|
-
) : /* @__PURE__ */
|
|
74
|
-
|
|
75
|
-
const { daily_logs:
|
|
76
|
-
if (
|
|
77
|
-
const F =
|
|
78
|
-
day:
|
|
79
|
-
month:
|
|
75
|
+
) : /* @__PURE__ */ e(te, { $alignItems: "center", $gapX: 1, children: /* @__PURE__ */ d(ie, { children: [
|
|
76
|
+
c.map((r, a) => {
|
|
77
|
+
const { daily_logs: t, from_date: m, to_date: I } = r;
|
|
78
|
+
if (t) {
|
|
79
|
+
const F = P(m), N = P(I), {
|
|
80
|
+
day: S,
|
|
81
|
+
month: z,
|
|
80
82
|
monthName: G
|
|
81
|
-
} =
|
|
82
|
-
day:
|
|
83
|
-
month:
|
|
84
|
-
year:
|
|
83
|
+
} = w(F), {
|
|
84
|
+
day: A,
|
|
85
|
+
month: O,
|
|
86
|
+
year: W,
|
|
85
87
|
monthName: K
|
|
86
|
-
} = N
|
|
87
|
-
return /* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
!
|
|
90
|
-
/* @__PURE__ */
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
88
|
+
} = w(N), L = pe(N), h = L && O === 12 && A === 31;
|
|
89
|
+
return /* @__PURE__ */ d(v, { children: [
|
|
90
|
+
/* @__PURE__ */ e(ne, { toYear: W, isLastDayOfYear: h }),
|
|
91
|
+
!h && z && h && /* @__PURE__ */ e(g, { heightX: 1 }),
|
|
92
|
+
/* @__PURE__ */ e(
|
|
93
|
+
se,
|
|
94
|
+
{
|
|
95
|
+
fromMonth: z,
|
|
96
|
+
isLastDayOfMth: L,
|
|
97
|
+
isLastDayOfYear: h
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
/* @__PURE__ */ d(ae, { $gutterX: 1, $addedMonthBreak: !!(L && O), children: [
|
|
101
|
+
/* @__PURE__ */ e(g, { heightX: 1 }),
|
|
102
|
+
/* @__PURE__ */ e(ee, { $renderAs: "ac4", $color: "BLACK_T_60", children: m === I ? `${S} ${G}` : `${S} - ${A} ${K}` }),
|
|
103
|
+
/* @__PURE__ */ e(g, { heightX: 0.75 }),
|
|
104
|
+
t.length > 0 ? t.map((f, x) => /* @__PURE__ */ e(
|
|
105
|
+
re,
|
|
97
106
|
{
|
|
98
|
-
type:
|
|
99
|
-
summary:
|
|
100
|
-
courseStream:
|
|
101
|
-
cards:
|
|
102
|
-
onPuzzleClick:
|
|
103
|
-
onReviewClick:
|
|
104
|
-
userType:
|
|
105
|
-
shouldShowTag:
|
|
106
|
-
isLastItem:
|
|
107
|
+
type: f.type,
|
|
108
|
+
summary: f.summary ?? "",
|
|
109
|
+
courseStream: f.course_stream,
|
|
110
|
+
cards: f.cards,
|
|
111
|
+
onPuzzleClick: Y,
|
|
112
|
+
onReviewClick: j,
|
|
113
|
+
userType: E,
|
|
114
|
+
shouldShowTag: U && f.course_stream !== T.CIRCLE,
|
|
115
|
+
isLastItem: x === t.length - 1,
|
|
107
116
|
fromDate: m,
|
|
108
117
|
studentId: i
|
|
109
118
|
},
|
|
110
|
-
`timeline-${
|
|
111
|
-
)) : /* @__PURE__ */
|
|
112
|
-
/* @__PURE__ */
|
|
119
|
+
`timeline-${x}`
|
|
120
|
+
)) : /* @__PURE__ */ e(ce, {}),
|
|
121
|
+
/* @__PURE__ */ e(g, { heightX: 1 })
|
|
113
122
|
] })
|
|
114
123
|
] }, `timeline-entry-${a}`);
|
|
115
124
|
}
|
|
116
125
|
}),
|
|
117
|
-
/* @__PURE__ */
|
|
118
|
-
|
|
126
|
+
/* @__PURE__ */ e(
|
|
127
|
+
Z,
|
|
119
128
|
{
|
|
120
|
-
onLoadMore:
|
|
121
|
-
isLoading:
|
|
122
|
-
hasMore: !!(
|
|
129
|
+
onLoadMore: V,
|
|
130
|
+
isLoading: _,
|
|
131
|
+
hasMore: !!(o != null && o.next_page)
|
|
123
132
|
}
|
|
124
133
|
)
|
|
125
134
|
] }) });
|
|
126
135
|
}
|
|
127
136
|
);
|
|
128
|
-
|
|
129
|
-
const
|
|
137
|
+
X.displayName = "DailyTimeline";
|
|
138
|
+
const ve = X;
|
|
130
139
|
export {
|
|
131
|
-
|
|
140
|
+
ve as default
|
|
132
141
|
};
|
|
133
142
|
//# sourceMappingURL=daily-timeline.js.map
|
|
@@ -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, useState, type FC } from 'react';\n\nimport Error from '../ui/error/error';\nimport FlexView from '../ui/layout/flex-view';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport IntersectionLoader from '../ui/intersection-loader/intersection-loader';\nimport Separator from '../ui/separator/separator';\nimport Text from '../ui/text/text';\nimport { type ITimelineData, useDailyTimelineGet } from './api/use-daily-timeline-get';\nimport { getDayMonthYear } from './comps/utils';\nimport DailyTimelineItems from './comps/daily-timeline-items/daily-timeline-items';\nimport * as Styled from './daily-timeline-styled';\nimport { type IDailyTimelineProps } from './daily-timeline-types';\nimport MonthBreak from './comps/month-break/month-break';\nimport YearBreak from './comps/year-break/year-break';\nimport { INITIAL_PAGE } from './comps/constants';\nimport { getTimezone } from '../../helpers/date-time';\nimport NoActivity from './comps/no-activity';\nimport { useUIContext } from '../ui/context/context';\nimport { CARD_TYPE, USER_TYPE } from './enums/enums';\n\nconst DailyTimeline: FC<IDailyTimelineProps> = memo(\n ({ userType, studentId, courseStreams, onPuzzlesClick, onReviewClick, scrollAreaHeight }) => {\n const [allTimelineData, setAllTimelineData] = useState<ITimelineData[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const { onEvent: trackEvent } = useUIContext();\n\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 = INITIAL_PAGE, append = false) => {\n if (append) {\n setIsLoadingMore(true);\n }\n\n getTimeline(studentId, {\n page,\n size: 10,\n timezone: getTimezone(),\n course_stream: userType === USER_TYPE.TEACHER ? courseStreams : [],\n });\n },\n [getTimeline, studentId, userType, courseStreams],\n );\n\n const shouldShowTag = useMemo(() => {\n const allCourseStreams = new Set<string>();\n\n allTimelineData.forEach(entry => {\n if (entry.daily_logs) {\n entry.daily_logs.forEach(log => {\n if (log.course_stream && log.course_stream !== CARD_TYPE.CIRCLE) {\n allCourseStreams.add(log.course_stream);\n }\n });\n }\n });\n\n const courseStreamsSet = new Set(\n (courseStreams || []).filter(stream => String(stream) !== CARD_TYPE.CIRCLE),\n );\n\n return (\n courseStreamsSet.size > 1 ||\n allCourseStreams.size > 1 ||\n (courseStreamsSet.size > 0 &&\n allCourseStreams.size > 0 &&\n (courseStreamsSet.size !== allCourseStreams.size ||\n !Array.from(courseStreamsSet).every(stream => allCourseStreams.has(stream))))\n );\n }, [allTimelineData, courseStreams]);\n\n const handleLoadMore = useCallback(() => {\n if (timelineData?.next_page && !isLoadingMore) {\n fetchTimeline(timelineData.next_page, true);\n }\n }, [timelineData?.next_page, isLoadingMore, fetchTimeline]);\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 trackEvent('timeline_viewed', {\n student_id: studentId,\n });\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n return () => {\n trackEvent('timeline_closed', {\n student_id: studentId,\n });\n };\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n fetchTimeline(1, false);\n }, [fetchTimeline]);\n\n if (isProcessingFailed) {\n return <Error height={scrollAreaHeight || '100vh'} onTryAgain={fetchTimeline} />;\n }\n\n if (isProcessing && !allTimelineData.length) {\n return (\n <FlexView\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height={scrollAreaHeight || '100vh'}\n >\n <AppLoader width=\"100%\" height=\"100%\" />\n </FlexView>\n );\n }\n\n return (\n <Styled.ScrollWrapper $alignItems=\"center\">\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\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 {dailyLogs.length > 0 ? (\n dailyLogs.map((log, logIndex) => (\n <DailyTimelineItems\n key={`timeline-${fromDate}`}\n type={log.type}\n summary={log.summary ?? ''}\n courseStream={log.course_stream}\n cards={log.cards}\n onPuzzleClick={onPuzzlesClick}\n onReviewClick={onReviewClick}\n userType={userType}\n shouldShowTag={shouldShowTag && log.course_stream !== CARD_TYPE.CIRCLE}\n isLastItem={logIndex === dailyLogs.length - 1}\n fromDate={fromDate}\n studentId={studentId}\n />\n ))\n ) : (\n <NoActivity />\n )}\n <Separator heightX={1} />\n </Styled.DailyItems>\n </FlexView>\n );\n }\n })}\n <IntersectionLoader\n onLoadMore={handleLoadMore}\n isLoading={isLoadingMore}\n hasMore={!!timelineData?.next_page}\n />\n </Styled.DailyTimelineContainer>\n </Styled.ScrollWrapper>\n );\n },\n);\n\nDailyTimeline.displayName = 'DailyTimeline';\n\nexport default DailyTimeline;\n"],"names":["DailyTimeline","memo","userType","studentId","courseStreams","onPuzzlesClick","onReviewClick","scrollAreaHeight","allTimelineData","setAllTimelineData","useState","isLoadingMore","setIsLoadingMore","trackEvent","useUIContext","getTimeline","timelineData","isProcessingFailed","isProcessing","useDailyTimelineGet","userLogs","fetchTimeline","useCallback","page","INITIAL_PAGE","append","getTimezone","USER_TYPE","shouldShowTag","useMemo","allCourseStreams","entry","log","CARD_TYPE","courseStreamsSet","stream","handleLoadMore","useEffect","prev","Error","jsx","FlexView","AppLoader","Styled.ScrollWrapper","jsxs","Styled.DailyTimelineContainer","index","dailyLogs","fromDate","toDate","fromDateObj","parseISO","toDateObj","fromDay","fromMonth","fromMonthName","getDayMonthYear","toDay","toMonth","toYear","toMonthName","isLastDayOfMth","isLastDayOfMonth","isLastDayOfYear","YearBreak","Separator","MonthBreak","Styled.DailyItems","Text","logIndex","DailyTimelineItems","NoActivity","IntersectionLoader","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, useState, type FC } from 'react';\n\nimport Error from '../ui/error/error';\nimport FlexView from '../ui/layout/flex-view';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport IntersectionLoader from '../ui/intersection-loader/intersection-loader';\nimport Separator from '../ui/separator/separator';\nimport Text from '../ui/text/text';\nimport { type ITimelineData, useDailyTimelineGet } from './api/use-daily-timeline-get';\nimport { getDayMonthYear } from './comps/utils';\nimport DailyTimelineItems from './comps/daily-timeline-items/daily-timeline-items';\nimport * as Styled from './daily-timeline-styled';\nimport { CARD_TYPE, USER_TYPE, type IDailyTimelineProps } from './daily-timeline-types';\nimport MonthBreak from './comps/month-break/month-break';\nimport YearBreak from './comps/year-break/year-break';\nimport { INITIAL_PAGE, TIMELINE_EVENTS } from './comps/constants';\nimport { getTimezone } from '../../helpers/date-time';\nimport NoActivity from './comps/no-activity';\nimport { useUIContext } from '../ui/context/context';\n\nconst DailyTimeline: FC<IDailyTimelineProps> = memo(\n ({ userType, studentId, courseStreams, onPuzzlesClick, onReviewClick, scrollAreaHeight }) => {\n const [allTimelineData, setAllTimelineData] = useState<ITimelineData[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const { onEvent: trackEvent } = useUIContext();\n\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 = INITIAL_PAGE, append = false) => {\n if (append) {\n setIsLoadingMore(true);\n }\n\n getTimeline(studentId, {\n page,\n size: 10,\n timezone: getTimezone(),\n course_stream: userType === USER_TYPE.TEACHER ? courseStreams : [],\n });\n },\n [getTimeline, studentId, userType, courseStreams],\n );\n\n const shouldShowTag = useMemo(() => {\n const allCourseStreams = new Set<string>();\n\n allTimelineData.forEach(entry => {\n if (entry.daily_logs) {\n entry.daily_logs.forEach(log => {\n if (log.course_stream && log.course_stream !== CARD_TYPE.CIRCLE) {\n allCourseStreams.add(log.course_stream);\n }\n });\n }\n });\n\n const courseStreamsSet = new Set(\n (courseStreams || []).filter(stream => String(stream) !== CARD_TYPE.CIRCLE),\n );\n\n return (\n courseStreamsSet.size > 1 ||\n allCourseStreams.size > 1 ||\n (courseStreamsSet.size > 0 &&\n allCourseStreams.size > 0 &&\n (courseStreamsSet.size !== allCourseStreams.size ||\n !Array.from(courseStreamsSet).every(stream => allCourseStreams.has(stream))))\n );\n }, [allTimelineData, courseStreams]);\n\n const handleLoadMore = useCallback(() => {\n if (timelineData?.next_page && !isLoadingMore) {\n fetchTimeline(timelineData.next_page, true);\n\n trackEvent(TIMELINE_EVENTS.TIMELINE_SCROLL_CONTINUED, {\n student_id: studentId,\n });\n }\n }, [timelineData, studentId, trackEvent, isLoadingMore, fetchTimeline]);\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 trackEvent(TIMELINE_EVENTS.TIMELINE_VIEWED, {\n student_id: studentId,\n });\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n return () => {\n trackEvent(TIMELINE_EVENTS.TIMELINE_CLOSED, {\n student_id: studentId,\n });\n };\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n fetchTimeline(1, false);\n }, [fetchTimeline]);\n\n if (isProcessingFailed) {\n return <Error height={scrollAreaHeight || '100vh'} onTryAgain={fetchTimeline} />;\n }\n\n if (isProcessing && !allTimelineData.length) {\n return (\n <FlexView\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height={scrollAreaHeight || '100vh'}\n >\n <AppLoader width=\"100%\" height=\"100%\" />\n </FlexView>\n );\n }\n\n return (\n <Styled.ScrollWrapper $alignItems=\"center\" $gapX={1}>\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\n return (\n <FlexView key={`timeline-entry-${index}`}>\n <YearBreak toYear={toYear} isLastDayOfYear={isLastDayOfYear} />\n {!isLastDayOfYear && fromMonth && isLastDayOfYear && <Separator heightX={1} />}\n <MonthBreak\n fromMonth={fromMonth}\n isLastDayOfMth={isLastDayOfMth}\n isLastDayOfYear={isLastDayOfYear}\n />\n <Styled.DailyItems $gutterX={1} $addedMonthBreak={!!(isLastDayOfMth && toMonth)}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4\" $color=\"BLACK_T_60\">\n {fromDate === toDate\n ? `${fromDay} ${fromMonthName}`\n : `${fromDay} - ${toDay} ${toMonthName}`}\n </Text>\n <Separator heightX={0.75} />\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}\n cards={log.cards}\n onPuzzleClick={onPuzzlesClick}\n onReviewClick={onReviewClick}\n userType={userType}\n shouldShowTag={shouldShowTag && log.course_stream !== CARD_TYPE.CIRCLE}\n isLastItem={logIndex === dailyLogs.length - 1}\n fromDate={fromDate}\n studentId={studentId}\n />\n ))\n ) : (\n <NoActivity />\n )}\n <Separator heightX={1} />\n </Styled.DailyItems>\n </FlexView>\n );\n }\n })}\n <IntersectionLoader\n onLoadMore={handleLoadMore}\n isLoading={isLoadingMore}\n hasMore={!!timelineData?.next_page}\n />\n </Styled.DailyTimelineContainer>\n </Styled.ScrollWrapper>\n );\n },\n);\n\nDailyTimeline.displayName = 'DailyTimeline';\n\nexport default DailyTimeline;\n"],"names":["DailyTimeline","memo","userType","studentId","courseStreams","onPuzzlesClick","onReviewClick","scrollAreaHeight","allTimelineData","setAllTimelineData","useState","isLoadingMore","setIsLoadingMore","trackEvent","useUIContext","getTimeline","timelineData","isProcessingFailed","isProcessing","useDailyTimelineGet","userLogs","fetchTimeline","useCallback","page","INITIAL_PAGE","append","getTimezone","USER_TYPE","shouldShowTag","useMemo","allCourseStreams","entry","log","CARD_TYPE","courseStreamsSet","stream","handleLoadMore","TIMELINE_EVENTS","useEffect","prev","Error","jsx","FlexView","AppLoader","Styled.ScrollWrapper","jsxs","Styled.DailyTimelineContainer","index","dailyLogs","fromDate","toDate","fromDateObj","parseISO","toDateObj","fromDay","fromMonth","fromMonthName","getDayMonthYear","toDay","toMonth","toYear","toMonthName","isLastDayOfMth","isLastDayOfMonth","isLastDayOfYear","YearBreak","Separator","MonthBreak","Styled.DailyItems","Text","logIndex","DailyTimelineItems","NoActivity","IntersectionLoader","DailyTimeline$1"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intersection-loader.js","sources":["../../../../src/features/ui/intersection-loader/intersection-loader.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useRef, type FC } from 'react';\n\nimport { Loader } from '../buttons/button/button-styled';\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport FlexView from '../layout/flex-view';\n\ninterface IIntersectionLoaderProps {\n onLoadMore: () => void;\n isLoading?: boolean;\n hasMore?: boolean;\n rootMargin?: string;\n threshold?: number;\n}\n\nconst IntersectionLoader: FC<IIntersectionLoaderProps> = memo(\n ({ onLoadMore, isLoading = false, hasMore = true, rootMargin = '50px', threshold = 0.1 }) => {\n const elementRef = useRef<HTMLDivElement>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const handleIntersection = useCallback(\n (entries: IntersectionObserverEntry[]) => {\n const [entry] = entries;\n\n if (entry?.isIntersecting && hasMore && !isLoading) {\n onLoadMore();\n }\n },\n [onLoadMore, hasMore, isLoading],\n );\n\n useEffect(() => {\n
|
|
1
|
+
{"version":3,"file":"intersection-loader.js","sources":["../../../../src/features/ui/intersection-loader/intersection-loader.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useRef, type FC } from 'react';\n\nimport { Loader } from '../buttons/button/button-styled';\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport FlexView from '../layout/flex-view';\n\ninterface IIntersectionLoaderProps {\n onLoadMore: () => void;\n isLoading?: boolean;\n hasMore?: boolean;\n rootMargin?: string;\n threshold?: number;\n}\n\nconst IntersectionLoader: FC<IIntersectionLoaderProps> = memo(\n ({ onLoadMore, isLoading = false, hasMore = true, rootMargin = '50px', threshold = 0.1 }) => {\n const elementRef = useRef<HTMLDivElement>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const handleIntersection = useCallback(\n (entries: IntersectionObserverEntry[]) => {\n const [entry] = entries;\n\n if (entry?.isIntersecting && hasMore && !isLoading) {\n onLoadMore();\n }\n },\n [onLoadMore, hasMore, isLoading],\n );\n\n useEffect(() => {\n if (!hasMore) {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n return;\n }\n\n if (isLoading) {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n return;\n }\n\n observerRef.current = new IntersectionObserver(handleIntersection, {\n rootMargin,\n threshold,\n });\n\n if (elementRef.current) {\n observerRef.current.observe(elementRef.current);\n }\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, [handleIntersection, isLoading, hasMore, rootMargin, threshold]);\n\n if (!hasMore && !isLoading) {\n return null;\n }\n\n return (\n <FlexView\n ref={elementRef}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height=\"80px\"\n $width=\"100%\"\n >\n {isLoading && <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loading more...\" $size=\"medium\" />}\n </FlexView>\n );\n },\n);\n\nIntersectionLoader.displayName = 'IntersectionLoader';\n\nexport default IntersectionLoader;\n"],"names":["IntersectionLoader","memo","onLoadMore","isLoading","hasMore","rootMargin","threshold","elementRef","useRef","observerRef","handleIntersection","useCallback","entries","entry","useEffect","jsx","FlexView","Loader","ILLUSTRATIONS"],"mappings":";;;;;AAcA,MAAMA,IAAmDC;AAAA,EACvD,CAAC,EAAE,YAAAC,GAAY,WAAAC,IAAY,IAAO,SAAAC,IAAU,IAAM,YAAAC,IAAa,QAAQ,WAAAC,IAAY,UAAU;AACrF,UAAAC,IAAaC,EAAuB,IAAI,GACxCC,IAAcD,EAAoC,IAAI,GAEtDE,IAAqBC;AAAA,MACzB,CAACC,MAAyC;AAClC,cAAA,CAACC,CAAK,IAAID;AAEhB,QAAIC,KAAA,QAAAA,EAAO,kBAAkBT,KAAW,CAACD,KAC5BD;MAEf;AAAA,MACA,CAACA,GAAYE,GAASD,CAAS;AAAA,IAAA;AAoC7B,WAjCJW,EAAU,MAAM;AACd,UAAI,CAACV,GAAS;AACZ,QAAIK,EAAY,WACdA,EAAY,QAAQ;AAGtB;AAAA,MACF;AAEA,UAAIN,GAAW;AACb,QAAIM,EAAY,WACdA,EAAY,QAAQ;AAGtB;AAAA,MACF;AAEY,aAAAA,EAAA,UAAU,IAAI,qBAAqBC,GAAoB;AAAA,QACjE,YAAAL;AAAA,QACA,WAAAC;AAAA,MAAA,CACD,GAEGC,EAAW,WACDE,EAAA,QAAQ,QAAQF,EAAW,OAAO,GAGzC,MAAM;AACX,QAAIE,EAAY,WACdA,EAAY,QAAQ;MACtB;AAAA,IACF,GACC,CAACC,GAAoBP,GAAWC,GAASC,GAAYC,CAAS,CAAC,GAE9D,CAACF,KAAW,CAACD,IACR,OAIP,gBAAAY;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAKT;AAAA,QACL,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,SAAQ;AAAA,QACR,QAAO;AAAA,QAEN,UAAAJ,uBAAcc,GAAO,EAAA,KAAKC,EAAc,QAAQ,KAAI,mBAAkB,OAAM,SAAS,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAG5F;AACF;AAEAlB,EAAmB,cAAc;"}
|
|
@@ -186,7 +186,7 @@ function n(t = 1) {
|
|
|
186
186
|
ab4: {
|
|
187
187
|
fontFamily: "Athletics-Regular",
|
|
188
188
|
fontSize: 8 * t,
|
|
189
|
-
lineHeight:
|
|
189
|
+
lineHeight: 12 * t
|
|
190
190
|
},
|
|
191
191
|
"ab3-bold": {
|
|
192
192
|
fontFamily: "Athletics-Bold",
|
|
@@ -196,7 +196,7 @@ function n(t = 1) {
|
|
|
196
196
|
"ab4-bold": {
|
|
197
197
|
fontFamily: "Athletics-Bold",
|
|
198
198
|
fontSize: 8 * t,
|
|
199
|
-
lineHeight:
|
|
199
|
+
lineHeight: 12 * t
|
|
200
200
|
},
|
|
201
201
|
"ab3-black": {
|
|
202
202
|
fontFamily: "Athletics-Black",
|
|
@@ -206,7 +206,7 @@ function n(t = 1) {
|
|
|
206
206
|
"ab4-black": {
|
|
207
207
|
fontFamily: "Athletics-Black",
|
|
208
208
|
fontSize: 8 * t,
|
|
209
|
-
lineHeight:
|
|
209
|
+
lineHeight: 12 * t
|
|
210
210
|
},
|
|
211
211
|
ac1: {
|
|
212
212
|
fontFamily: "Athletics-Bold",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sources":["../../../../src/features/ui/theme/text.ts"],"sourcesContent":["import type { ITextConfig, TTextVariants } from '../types';\n\nfunction getTextTypes(multiplier: number = 1): Record<TTextVariants, ITextConfig> {\n return {\n 'h1': {\n fontFamily: 'Athletics-Light',\n fontSize: 60 * multiplier,\n lineHeight: 60 * multiplier,\n },\n 'h2': {\n fontFamily: 'Athletics-Light',\n fontSize: 48 * multiplier,\n lineHeight: 52 * multiplier,\n },\n 'h3': {\n fontFamily: 'Athletics-Black',\n fontSize: 40 * multiplier,\n lineHeight: 44 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'h4': {\n fontFamily: 'Athletics-Medium',\n fontSize: 28 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'h5': {\n fontFamily: 'Athletics-Black',\n fontSize: 24 * multiplier,\n lineHeight: 28 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'h6': {\n fontFamily: 'Athletics-Bold',\n fontSize: 18 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'quote': {\n fontFamily: 'Athletics-Light',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'body1': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'body1Medium': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'body2': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'body3': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 12 * multiplier,\n lineHeight: 18 * multiplier,\n },\n 'eyebrow1': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'eyebrow2': {\n fontFamily: 'Athletics-Bold',\n fontSize: 12 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'cta1': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'cta2': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'cta3': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 12 * multiplier,\n lineHeight: 18 * multiplier,\n },\n 'ah1': {\n fontFamily: 'Athletics-Light',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah2': {\n fontFamily: 'Athletics-Light',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah3': {\n fontFamily: 'Athletics-Light',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah4': {\n fontFamily: 'Athletics-Light',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ab1': {\n fontFamily: 'Athletics-Regular',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab2': {\n fontFamily: 'Athletics-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab3': {\n fontFamily: 'Athletics-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4': {\n fontFamily: 'Athletics-Regular',\n fontSize: 8 * multiplier,\n lineHeight: 16 * multiplier,\n },\n 'ab3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 8 * multiplier,\n lineHeight: 16 * multiplier,\n },\n 'ab3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 8 * multiplier,\n lineHeight: 16 * multiplier,\n },\n 'ac1': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4': {\n fontFamily: 'Athletics-Bold',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ub1': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub1-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub2': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub2-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub3': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n 'ub3-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n };\n}\n\nexport default getTextTypes;\n"],"names":["getTextTypes","multiplier"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text.js","sources":["../../../../src/features/ui/theme/text.ts"],"sourcesContent":["import type { ITextConfig, TTextVariants } from '../types';\n\nfunction getTextTypes(multiplier: number = 1): Record<TTextVariants, ITextConfig> {\n return {\n 'h1': {\n fontFamily: 'Athletics-Light',\n fontSize: 60 * multiplier,\n lineHeight: 60 * multiplier,\n },\n 'h2': {\n fontFamily: 'Athletics-Light',\n fontSize: 48 * multiplier,\n lineHeight: 52 * multiplier,\n },\n 'h3': {\n fontFamily: 'Athletics-Black',\n fontSize: 40 * multiplier,\n lineHeight: 44 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'h4': {\n fontFamily: 'Athletics-Medium',\n fontSize: 28 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'h5': {\n fontFamily: 'Athletics-Black',\n fontSize: 24 * multiplier,\n lineHeight: 28 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'h6': {\n fontFamily: 'Athletics-Bold',\n fontSize: 18 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'quote': {\n fontFamily: 'Athletics-Light',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'body1': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'body1Medium': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'body2': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'body3': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 12 * multiplier,\n lineHeight: 18 * multiplier,\n },\n 'eyebrow1': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'eyebrow2': {\n fontFamily: 'Athletics-Bold',\n fontSize: 12 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'cta1': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'cta2': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'cta3': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 12 * multiplier,\n lineHeight: 18 * multiplier,\n },\n 'ah1': {\n fontFamily: 'Athletics-Light',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah2': {\n fontFamily: 'Athletics-Light',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah3': {\n fontFamily: 'Athletics-Light',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah4': {\n fontFamily: 'Athletics-Light',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ab1': {\n fontFamily: 'Athletics-Regular',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab2': {\n fontFamily: 'Athletics-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab3': {\n fontFamily: 'Athletics-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4': {\n fontFamily: 'Athletics-Regular',\n fontSize: 8 * multiplier,\n lineHeight: 12 * multiplier,\n },\n 'ab3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 8 * multiplier,\n lineHeight: 12 * multiplier,\n },\n 'ab3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 8 * multiplier,\n lineHeight: 12 * multiplier,\n },\n 'ac1': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4': {\n fontFamily: 'Athletics-Bold',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ub1': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub1-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub2': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub2-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub3': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n 'ub3-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n };\n}\n\nexport default getTextTypes;\n"],"names":["getTextTypes","multiplier"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -255,7 +255,7 @@ import { ESessionStatus as ku } from "./features/parent-dashboard/comps/upcoming
|
|
|
255
255
|
import { useGetSessionReports as Nu } from "./features/trial-session/api/trial-home.js";
|
|
256
256
|
import { useClassTimeAlerts as gu } from "./features/trial-session/hooks/use-class-time-alerts.js";
|
|
257
257
|
import { default as yu } from "./features/timeline/daily-timeline.js";
|
|
258
|
-
import { USER_TYPE as Uu } from "./features/timeline/
|
|
258
|
+
import { USER_TYPE as Uu } from "./features/timeline/daily-timeline-types.js";
|
|
259
259
|
import { default as Bu } from "./features/talk-meter/talk-meter.js";
|
|
260
260
|
import { default as zu } from "./features/extra-practice/extra-practice.js";
|
|
261
261
|
import { default as wu } from "./features/homework/hw-card-list/hw-card-list.js";
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sources":["../../../../src/features/timeline/enums/enums.ts"],"sourcesContent":["export enum NODE_STATE {\n COMPLETED = 'COMPLETED',\n IN_PROGRESS = 'IN_PROGRESS',\n PENDING = 'PENDING',\n}\n\nexport enum USER_TYPE {\n TEACHER = 'TEACHER',\n STUDENT = 'STUDENT',\n PARENT = 'PARENT',\n}\n\nexport enum CARD_TYPE {\n CW = 'CW',\n HW = 'HW',\n CIRCLE = 'CIRCLE',\n}\n"],"names":["NODE_STATE","USER_TYPE","CARD_TYPE"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,cAAc,eACdA,EAAA,UAAU,WAHAA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,KAAK,MACLA,EAAA,KAAK,MACLA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA;"}
|