@cuemath/leap 3.5.4-as3 → 3.5.4-mb-1

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.
Files changed (65) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -4
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/images/images.js +0 -12
  4. package/dist/assets/images/images.js.map +1 -1
  5. package/dist/features/stickers/hooks/use-handle-sticker-send/use-handle-sticker-send.js +46 -0
  6. package/dist/features/stickers/hooks/use-handle-sticker-send/use-handle-sticker-send.js.map +1 -0
  7. package/dist/features/stickers/sticker-selector/sticker-selector.js +57 -56
  8. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -1
  9. package/dist/features/ui/theme/text.js +0 -15
  10. package/dist/features/ui/theme/text.js.map +1 -1
  11. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +73 -47
  12. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
  13. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +19 -17
  14. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
  15. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  16. package/dist/features/worksheet/worksheet/worksheet.js +84 -82
  17. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  18. package/dist/index.d.ts +17 -31
  19. package/dist/index.js +239 -241
  20. package/dist/index.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/features/stickers/hooks/use-handle-sticker-send.js +0 -44
  23. package/dist/features/stickers/hooks/use-handle-sticker-send.js.map +0 -1
  24. package/dist/features/timeline/api/use-daily-timeline-get.js +0 -10
  25. package/dist/features/timeline/api/use-daily-timeline-get.js.map +0 -1
  26. package/dist/features/timeline/comps/accordion-item/accordion-item.js +0 -53
  27. package/dist/features/timeline/comps/accordion-item/accordion-item.js.map +0 -1
  28. package/dist/features/timeline/comps/accordion-item/utils.js +0 -66
  29. package/dist/features/timeline/comps/accordion-item/utils.js.map +0 -1
  30. package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items-styled.js +0 -13
  31. package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items-styled.js.map +0 -1
  32. package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items.js +0 -50
  33. package/dist/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items.js.map +0 -1
  34. package/dist/features/timeline/daily-timeline/daily-timeline-styled.js +0 -34
  35. package/dist/features/timeline/daily-timeline/daily-timeline-styled.js.map +0 -1
  36. package/dist/features/timeline/daily-timeline/daily-timeline.js +0 -119
  37. package/dist/features/timeline/daily-timeline/daily-timeline.js.map +0 -1
  38. package/dist/features/ui/simple-accordian/accordion-styled.js +0 -18
  39. package/dist/features/ui/simple-accordian/accordion-styled.js.map +0 -1
  40. package/dist/features/ui/simple-accordian/accordion.js +0 -59
  41. package/dist/features/ui/simple-accordian/accordion.js.map +0 -1
  42. package/dist/node_modules/date-fns/endOfDay.js +0 -10
  43. package/dist/node_modules/date-fns/endOfDay.js.map +0 -1
  44. package/dist/node_modules/date-fns/endOfMonth.js +0 -10
  45. package/dist/node_modules/date-fns/endOfMonth.js.map +0 -1
  46. package/dist/node_modules/date-fns/isLastDayOfMonth.js +0 -12
  47. package/dist/node_modules/date-fns/isLastDayOfMonth.js.map +0 -1
  48. package/dist/node_modules/date-fns/parseISO.js +0 -123
  49. package/dist/node_modules/date-fns/parseISO.js.map +0 -1
  50. package/dist/static/apr.09a50ff7.png +0 -0
  51. package/dist/static/aug.7179d37e.png +0 -0
  52. package/dist/static/circle-icon.1027df3c.svg +0 -1
  53. package/dist/static/cw-icon.c61f9779.svg +0 -1
  54. package/dist/static/dec.09f7e315.png +0 -0
  55. package/dist/static/feb.9e72504d.png +0 -0
  56. package/dist/static/hw-icon.6d78e885.svg +0 -1
  57. package/dist/static/jan.da91944a.png +0 -0
  58. package/dist/static/jul.5a1c4932.png +0 -0
  59. package/dist/static/jun.62639c2f.png +0 -0
  60. package/dist/static/mar.f51bcfa6.png +0 -0
  61. package/dist/static/may.7c542020.png +0 -0
  62. package/dist/static/no-activity.0451dcbb.svg +0 -1
  63. package/dist/static/nov.058343e7.png +0 -0
  64. package/dist/static/oct.573ee19d.png +0 -0
  65. package/dist/static/sep.3ccb6468.png +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.5.4-as3",
3
+ "version": "3.5.4-mb-1",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,44 +0,0 @@
1
- import { useCallback as i } from "react";
2
- import m from "../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js";
3
- import { useUIContext as E } from "../../ui/context/context.js";
4
- import { STICKERS_ANALYTICS_EVENT as d } from "../stickers-analytics-events.js";
5
- import { useStickers as k } from "../stickers-effects/hooks/use-stickers.js";
6
- import { useStickersErrorLogger as f } from "./use-stickers-error-logger.js";
7
- const u = (t) => {
8
- const { publish: e } = m({
9
- studentClassroomId: t
10
- }), { onEvent: c } = E(), n = f(), { showSticker: s } = k();
11
- return i(
12
- (o, S) => {
13
- const a = {
14
- classroom_id: t,
15
- sticker: o.id
16
- };
17
- try {
18
- const r = {
19
- message: {
20
- data: {
21
- selectedSticker: {
22
- id: o.id,
23
- name: o.name
24
- },
25
- effectId: S
26
- }
27
- },
28
- type: "STICKERS"
29
- };
30
- s(r), e == null || e({
31
- eventName: "STICKERS",
32
- eventPayload: r
33
- }), c(d.STICKER_SENT, a);
34
- } catch (r) {
35
- n(r, { baseEventData: a });
36
- }
37
- },
38
- [n, e, s, t, c]
39
- );
40
- };
41
- export {
42
- u as useHandleStickerSend
43
- };
44
- //# sourceMappingURL=use-handle-sticker-send.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-handle-sticker-send.js","sources":["../../../../src/features/stickers/hooks/use-handle-sticker-send.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport useInClassMessageBroker from '../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker';\nimport { useUIContext } from '../../ui/context/context';\nimport { STICKERS_ANALYTICS_EVENT } from '../stickers-analytics-events';\nimport { useStickers } from '../stickers-effects/hooks/use-stickers';\nimport type { IStickerData, TStickerAnimationEffects, TStickersPayload } from '../stickers-types';\nimport { useStickersErrorLogger } from './use-stickers-error-logger';\n\nexport const useHandleStickerSend = (studentClassroomId?: string) => {\n const { publish } = useInClassMessageBroker({\n studentClassroomId,\n });\n\n const { onEvent: trackEvent } = useUIContext();\n const logError = useStickersErrorLogger();\n\n const { showSticker } = useStickers();\n\n const sendSticker = useCallback(\n (sticker: IStickerData, effect: TStickerAnimationEffects) => {\n const baseEventData = {\n classroom_id: studentClassroomId,\n sticker: sticker.id,\n };\n\n try {\n const payload: TStickersPayload = {\n message: {\n data: {\n selectedSticker: {\n id: sticker.id,\n name: sticker.name,\n },\n effectId: effect,\n },\n },\n type: 'STICKERS',\n };\n\n showSticker(payload);\n\n publish?.({\n eventName: 'STICKERS',\n eventPayload: payload,\n });\n\n trackEvent(STICKERS_ANALYTICS_EVENT.STICKER_SENT, baseEventData);\n } catch (error) {\n logError(error, { baseEventData });\n }\n },\n [logError, publish, showSticker, studentClassroomId, trackEvent],\n );\n\n return sendSticker;\n};\n"],"names":["useHandleStickerSend","studentClassroomId","publish","useInClassMessageBroker","trackEvent","useUIContext","logError","useStickersErrorLogger","showSticker","useStickers","useCallback","sticker","effect","baseEventData","payload","STICKERS_ANALYTICS_EVENT","error"],"mappings":";;;;;;AASa,MAAAA,IAAuB,CAACC,MAAgC;AAC7D,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAwB;AAAA,IAC1C,oBAAAF;AAAA,EAAA,CACD,GAEK,EAAE,SAASG,EAAW,IAAIC,EAAa,GACvCC,IAAWC,KAEX,EAAE,aAAAC,MAAgBC;AAsCjB,SApCaC;AAAA,IAClB,CAACC,GAAuBC,MAAqC;AAC3D,YAAMC,IAAgB;AAAA,QACpB,cAAcZ;AAAA,QACd,SAASU,EAAQ;AAAA,MAAA;AAGf,UAAA;AACF,cAAMG,IAA4B;AAAA,UAChC,SAAS;AAAA,YACP,MAAM;AAAA,cACJ,iBAAiB;AAAA,gBACf,IAAIH,EAAQ;AAAA,gBACZ,MAAMA,EAAQ;AAAA,cAChB;AAAA,cACA,UAAUC;AAAA,YACZ;AAAA,UACF;AAAA,UACA,MAAM;AAAA,QAAA;AAGR,QAAAJ,EAAYM,CAAO,GAETZ,KAAA,QAAAA,EAAA;AAAA,UACR,WAAW;AAAA,UACX,cAAcY;AAAA,QAAA,IAGLV,EAAAW,EAAyB,cAAcF,CAAa;AAAA,eACxDG,GAAO;AACL,QAAAV,EAAAU,GAAO,EAAE,eAAAH,EAAA,CAAe;AAAA,MACnC;AAAA,IACF;AAAA,IACA,CAACP,GAAUJ,GAASM,GAAaP,GAAoBG,CAAU;AAAA,EAAA;AAInE;"}
@@ -1,10 +0,0 @@
1
- import { createGetAPI as r } from "@cuemath/rest-api";
2
- import { BASE_URL_V3 as i } from "../../../constants/api.js";
3
- import { stringify as m } from "../../../helpers/query-string.js";
4
- const { useGet: f } = r({
5
- getURL: (e, t) => `${i}/user-timeline/${e}?${m(t)}`
6
- });
7
- export {
8
- f as useDailyTimelineGet
9
- };
10
- //# sourceMappingURL=use-daily-timeline-get.js.map
@@ -1 +0,0 @@
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';\n\nexport type TState = 'COMPLETED' | 'IN_PROGRESS' | 'PENDING';\n\nexport interface ItemRef {\n ref: string;\n}\n\nexport interface TimeLineItem {\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: ItemRef[] | null;\n label: string;\n learnosity_activity_ref: string | null;\n node_id: string;\n node_type: string;\n max_score: number | null;\n points: number | null;\n state: TState;\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_id?: string;\n user_node_id: string;\n}\n\nexport interface TimeLineEntry {\n cards: TimeLineItem[];\n course_stream: TCourseStream | 'CIRCLE' | null;\n summary: string | null;\n type: 'CW' | 'HW' | 'CIRCLE';\n}\n\nexport type TimelineData = {\n daily_logs: TimeLineEntry[];\n\n from_date: string;\n to_date: string;\n};\n\nexport type TimelineResponse = {\n curr_page: number | null;\n next_page: number | null;\n per_page: number | null;\n total_pages: number | null;\n user_logs: TimelineData[];\n};\n\ninterface GetUserTimelineParams {\n course_stream?: TCourseStream[];\n page?: number; // defaults to 1\n size?: number; // defaults to 10 - page size means no of dates data\n timezone: string;\n}\n\nconst { useGet: useDailyTimelineGet } = createGetAPI<TimelineResponse, GetUserTimelineParams>({\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":";;;AAoEA,MAAM,EAAE,QAAQA,EAAoB,IAAIC,EAAsD;AAAA,EAC5F,QAAQ,CAACC,GAAmBC,MACnB,GAAGC,CAAW,kBAAkBF,CAAS,IAAIG,EAAUF,CAAW,CAAC;AAE9E,CAAC;"}
@@ -1,53 +0,0 @@
1
- import { jsxs as o, jsx as r } from "react/jsx-runtime";
2
- import { memo as A, useCallback as h } from "react";
3
- import f from "../../../ui/buttons/text-button/text-button.js";
4
- import i from "../../../ui/layout/flex-view.js";
5
- import c from "../../../ui/text/text.js";
6
- import { getStateColor as _, getStateIcon as w } from "./utils.js";
7
- const C = A(
8
- ({ userType: l, card: $, onPuzzleClick: n, onReviewClick: d }) => {
9
- const { label: t, title: x, state: s, subtext: a, user_node_id: e } = $, b = t === "PUZZLE", m = w(s), u = h(() => {
10
- t === "PUZZLE" && l === "TEACHER" && e && n && n(e);
11
- }, [t, n, e, l]), p = h(() => {
12
- d && e && d(e);
13
- }, [d, e]);
14
- return /* @__PURE__ */ o(i, { $flexDirection: "row", $flexGapX: 1.5, children: [
15
- /* @__PURE__ */ r(i, { $background: _(s), $borderRadiusX: 0.5, $width: 16, $height: 16, children: m && /* @__PURE__ */ r(m, { width: 16, height: 16 }) }),
16
- /* @__PURE__ */ o(i, { $flexRowGapX: 0.25, children: [
17
- /* @__PURE__ */ o(c, { $renderAs: "ub3", children: [
18
- /* @__PURE__ */ o(c, { $renderAs: "ub3-bold", $inline: !0, children: [
19
- t,
20
- ":"
21
- ] }),
22
- " ",
23
- x
24
- ] }),
25
- b ? /* @__PURE__ */ r(
26
- f,
27
- {
28
- label: "View assigned puzzle",
29
- size: "small",
30
- color: "BLACK_T_60",
31
- onClick: u
32
- }
33
- ) : /* @__PURE__ */ o(i, { $flexDirection: "row", $flexGapX: 0.25, children: [
34
- a && /* @__PURE__ */ r(c, { $renderAs: "ub3", $color: "BLACK_T_60", children: a }),
35
- l === "TEACHER" && /* @__PURE__ */ r(
36
- f,
37
- {
38
- label: "Review",
39
- size: "small",
40
- color: "BLACK_T_60",
41
- onClick: p
42
- }
43
- )
44
- ] })
45
- ] })
46
- ] });
47
- }
48
- );
49
- C.displayName = "AccordionItem";
50
- export {
51
- C as default
52
- };
53
- //# sourceMappingURL=accordion-item.js.map
@@ -1 +0,0 @@
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 { getStateColor, getStateIcon } from './utils';\n\nconst AccordionItem: FC<AccordionItemProps> = memo(\n ({ userType, card, onPuzzleClick, onReviewClick }) => {\n const { label, title, state, subtext, user_node_id: userNodeId } = card;\n const isPuzzle = label === 'PUZZLE';\n const Icon = getStateIcon(state);\n\n const handleClick = useCallback(() => {\n if (label === 'PUZZLE' && userType === 'TEACHER' && userNodeId && onPuzzleClick) {\n onPuzzleClick(userNodeId);\n }\n }, [label, onPuzzleClick, userNodeId, userType]);\n\n const handleReviewClick = useCallback(() => {\n if (onReviewClick && userNodeId) {\n onReviewClick(userNodeId);\n }\n }, [onReviewClick, 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=\"View assigned puzzle\"\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handleClick}\n />\n ) : (\n <FlexView $flexDirection=\"row\" $flexGapX={0.25}>\n {subtext && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subtext}\n </Text>\n )}\n {userType === 'TEACHER' && (\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","userType","card","onPuzzleClick","onReviewClick","label","title","state","subtext","userNodeId","isPuzzle","Icon","getStateIcon","handleClick","useCallback","handleReviewClick","jsxs","FlexView","jsx","getStateColor","Text","TextButton"],"mappings":";;;;;;AAQA,MAAMA,IAAwCC;AAAA,EAC5C,CAAC,EAAE,UAAAC,GAAU,MAAAC,GAAM,eAAAC,GAAe,eAAAC,QAAoB;AACpD,UAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,cAAcC,EAAe,IAAAP,GAC7DQ,IAAWL,MAAU,UACrBM,IAAOC,EAAaL,CAAK,GAEzBM,IAAcC,EAAY,MAAM;AACpC,MAAIT,MAAU,YAAYJ,MAAa,aAAaQ,KAAcN,KAChEA,EAAcM,CAAU;AAAA,OAEzB,CAACJ,GAAOF,GAAeM,GAAYR,CAAQ,CAAC,GAEzCc,IAAoBD,EAAY,MAAM;AAC1C,MAAIV,KAAiBK,KACnBL,EAAcK,CAAU;AAAA,IAC1B,GACC,CAACL,GAAeK,CAAU,CAAC;AAE9B,WACG,gBAAAO,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA;AAAA,MAAA,gBAAAC,EAACD,KAAS,aAAaE,EAAcZ,CAAK,GAAG,gBAAgB,KAAK,QAAQ,IAAI,SAAS,IACpF,eAAS,gBAAAW,EAAAP,GAAA,EAAK,OAAO,IAAI,QAAQ,GAAI,CAAA,GACxC;AAAA,MACA,gBAAAK,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,YAAAf;AAAA,YAAM;AAAA,UAAA,GACT;AAAA,UAAQ;AAAA,UACPC;AAAA,QAAA,GACH;AAAA,QACCI,IACC,gBAAAQ;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASR;AAAA,UAAA;AAAA,QAAA,IAGV,gBAAAG,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,MACvC,UAAA;AAAA,UAAAT,uBACEY,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHZ,GAAA;AAAA,UAEDP,MAAa,aACZ,gBAAAiB;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;AAEAhB,EAAc,cAAc;"}
@@ -1,66 +0,0 @@
1
- import { ILLUSTRATIONS as e } from "../../../../assets/illustrations/illustrations.js";
2
- import { IMAGES as t } from "../../../../assets/images/images.js";
3
- import o from "../../../../assets/line-icons/icons/check2.js";
4
- import n from "../../../../assets/line-icons/icons/cross.js";
5
- import a from "../../../../assets/line-icons/icons/status.js";
6
- import { formatDate as c } from "../../../../node_modules/date-fns/format.js";
7
- const u = (r) => {
8
- switch (r) {
9
- case "COMPLETED":
10
- return o;
11
- case "IN_PROGRESS":
12
- return a;
13
- case "PENDING":
14
- return n;
15
- }
16
- }, R = (r) => {
17
- switch (r) {
18
- case "COMPLETED":
19
- return "GREEN_2";
20
- case "IN_PROGRESS":
21
- return "YELLOW_2";
22
- case "PENDING":
23
- return "ORANGE_2";
24
- default:
25
- return "GREY_2";
26
- }
27
- }, i = (r) => {
28
- switch (r) {
29
- case "CW":
30
- return e.CW_ICON;
31
- case "HW":
32
- return e.HW_ICON;
33
- case "CIRCLE":
34
- return e.CIRCLE_ICON;
35
- case "NO_ACTIVITY":
36
- return e.NO_ACTIVITY;
37
- default:
38
- return null;
39
- }
40
- }, M = {
41
- "01": t.JAN,
42
- "02": t.FEB,
43
- "03": t.MAR,
44
- "04": t.APR,
45
- "05": t.MAY,
46
- "06": t.JUN,
47
- "07": t.JUL,
48
- "08": t.AUG,
49
- "09": t.SEP,
50
- 10: t.OCT,
51
- 11: t.NOV,
52
- 12: t.DEC
53
- }, O = (r) => ({
54
- day: r.getDate(),
55
- month: r.getMonth() + 1,
56
- year: r.getFullYear(),
57
- monthName: c(r, "MMM")
58
- });
59
- export {
60
- O as getDayMonthYear,
61
- R as getStateColor,
62
- u as getStateIcon,
63
- i as getTimelineCardIcon,
64
- M as monthImageMap
65
- };
66
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/features/timeline/comps/accordion-item/utils.ts"],"sourcesContent":["import { format } from 'date-fns';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport { IMAGES } from '../../../../assets/images/images';\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport StatusIcon from '../../../../assets/line-icons/icons/status';\n\nexport const getStateIcon = (state: string) => {\n switch (state) {\n case 'COMPLETED':\n return Check2Icon;\n case 'IN_PROGRESS':\n return StatusIcon;\n case 'PENDING':\n return CrossIcon;\n }\n};\n\nexport const getStateColor = ($state: string) => {\n switch ($state) {\n case 'COMPLETED':\n return 'GREEN_2';\n case 'IN_PROGRESS':\n return 'YELLOW_2';\n case 'PENDING':\n return 'ORANGE_2';\n default:\n return 'GREY_2';\n }\n};\n\nexport const getTimelineCardIcon = (type: 'CW' | 'HW' | 'CIRCLE' | 'NO_ACTIVITY') => {\n switch (type) {\n case 'CW':\n return ILLUSTRATIONS.CW_ICON;\n case 'HW':\n return ILLUSTRATIONS.HW_ICON;\n case 'CIRCLE':\n return ILLUSTRATIONS.CIRCLE_ICON;\n case 'NO_ACTIVITY':\n return ILLUSTRATIONS.NO_ACTIVITY;\n default:\n return null;\n }\n};\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 getDayMonthYear = (dateObj: Date) => ({\n day: dateObj.getDate(),\n month: dateObj.getMonth() + 1,\n year: dateObj.getFullYear(),\n monthName: format(dateObj, 'MMM'),\n});\n"],"names":["getStateIcon","state","Check2Icon","StatusIcon","CrossIcon","getStateColor","$state","getTimelineCardIcon","type","ILLUSTRATIONS","monthImageMap","IMAGES","getDayMonthYear","dateObj","format"],"mappings":";;;;;;AAQa,MAAAA,IAAe,CAACC,MAAkB;AAC7C,UAAQA,GAAO;AAAA,IACb,KAAK;AACI,aAAAC;AAAA,IACT,KAAK;AACI,aAAAC;AAAA,IACT,KAAK;AACI,aAAAC;AAAA,EACX;AACF,GAEaC,IAAgB,CAACC,MAAmB;AAC/C,UAAQA,GAAQ;AAAA,IACd,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,IACT,KAAK;AACI,aAAA;AAAA,IACT;AACS,aAAA;AAAA,EACX;AACF,GAEaC,IAAsB,CAACC,MAAiD;AACnF,UAAQA,GAAM;AAAA,IACZ,KAAK;AACH,aAAOC,EAAc;AAAA,IACvB,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB,KAAK;AACH,aAAOA,EAAc;AAAA,IACvB;AACS,aAAA;AAAA,EACX;AACF,GAEaC,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,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,13 +0,0 @@
1
- import e from "styled-components";
2
- import t from "../../../ui/layout/flex-view.js";
3
- const i = e(t)`
4
- border-left: ${({ $isLastCard: o, theme: r }) => o ? "none" : `1px dashed ${r.colors.GREY_3}`};
5
- padding-bottom: ${({ $isLastCard: o }) => o ? "0" : "20px"};
6
- > div {
7
- margin-left: -8px;
8
- }
9
- `;
10
- export {
11
- i as Card
12
- };
13
- //# sourceMappingURL=daily-timeline-items-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily-timeline-items-styled.js","sources":["../../../../../src/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nexport const Card = styled(FlexView)<{ $isLastCard: boolean }>`\n border-left: ${({ $isLastCard, theme }) =>\n $isLastCard ? 'none' : `1px dashed ${theme.colors.GREY_3}`};\n padding-bottom: ${({ $isLastCard }) => ($isLastCard ? '0' : '20px')};\n > div {\n margin-left: -8px;\n }\n`;\n"],"names":["Card","styled","FlexView","$isLastCard","theme"],"mappings":";;AAIa,MAAAA,IAAOC,EAAOC,CAAQ;AAAA,iBAClB,CAAC,EAAE,aAAAC,GAAa,OAAAC,EAAM,MACnCD,IAAc,SAAS,cAAcC,EAAM,OAAO,MAAM,EAAE;AAAA,oBAC1C,CAAC,EAAE,aAAAD,EAAA,MAAmBA,IAAc,MAAM,MAAO;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,50 +0,0 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { memo as c, useMemo as s } from "react";
3
- import g from "../../../ui/layout/flex-view.js";
4
- import h from "../../../ui/simple-accordian/accordion.js";
5
- import u from "../../comps/accordion-item/accordion-item.js";
6
- import { getTimelineCardIcon as $ } from "../../comps/accordion-item/utils.js";
7
- import { Card as x } from "./daily-timeline-items-styled.js";
8
- const B = c(
9
- ({
10
- type: e,
11
- summary: i,
12
- cards: t,
13
- onPuzzleClick: n,
14
- onReviewClick: l,
15
- courseStream: d,
16
- shouldShowTag: a,
17
- userType: f
18
- }) => {
19
- const p = s(() => $(e), [e]);
20
- return /* @__PURE__ */ o(
21
- h,
22
- {
23
- tag: a ? d : void 0,
24
- title: i,
25
- defaultExpanded: !1,
26
- icon: p,
27
- children: t.length > 0 && /* @__PURE__ */ o(g, { $gutter: 32, $marginBottom: 24, children: t.map((m, r) => /* @__PURE__ */ o(
28
- x,
29
- {
30
- $isLastCard: r === t.length - 1,
31
- children: /* @__PURE__ */ o(
32
- u,
33
- {
34
- userType: f,
35
- card: m,
36
- onPuzzleClick: n,
37
- onReviewClick: l
38
- }
39
- )
40
- },
41
- `${m.node_id}-${r}`
42
- )) })
43
- }
44
- );
45
- }
46
- );
47
- export {
48
- B as default
49
- };
50
- //# sourceMappingURL=daily-timeline-items.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily-timeline-items.js","sources":["../../../../../src/features/timeline/daily-timeline/daily-timeline-items/daily-timeline-items.tsx"],"sourcesContent":["import { memo, useMemo, type FC } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Accordion from '../../../ui/simple-accordian/accordion';\nimport AccordionItem from '../../comps/accordion-item/accordion-item';\nimport { getTimelineCardIcon } from '../../comps/accordion-item/utils';\nimport * as Styled from './daily-timeline-items-styled';\nimport type { DailyTimelineItemsProps } from './daily-timeline-items.types';\n\nconst DailyTimelineItems: FC<DailyTimelineItemsProps> = memo(\n ({\n type,\n summary,\n cards,\n onPuzzleClick,\n onReviewClick,\n courseStream,\n shouldShowTag,\n userType,\n }) => {\n const icon = useMemo(() => getTimelineCardIcon(type), [type]);\n\n return (\n <Accordion\n tag={shouldShowTag ? courseStream : undefined}\n title={summary}\n defaultExpanded={false}\n icon={icon}\n >\n {cards.length > 0 && (\n <FlexView $gutter={32} $marginBottom={24}>\n {cards.map((card, index) => (\n <Styled.Card\n key={`${card.node_id}-${index}`}\n $isLastCard={index === cards.length - 1}\n >\n <AccordionItem\n userType={userType}\n card={card}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n />\n </Styled.Card>\n ))}\n </FlexView>\n )}\n </Accordion>\n );\n },\n);\n\nexport default DailyTimelineItems;\n"],"names":["DailyTimelineItems","memo","type","summary","cards","onPuzzleClick","onReviewClick","courseStream","shouldShowTag","userType","icon","useMemo","getTimelineCardIcon","jsx","Accordion","FlexView","card","index","Styled.Card","AccordionItem"],"mappings":";;;;;;;AASA,MAAMA,IAAkDC;AAAA,EACtD,CAAC;AAAA,IACC,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,MACI;AACE,UAAAC,IAAOC,EAAQ,MAAMC,EAAoBV,CAAI,GAAG,CAACA,CAAI,CAAC;AAG1D,WAAA,gBAAAW;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAKN,IAAgBD,IAAe;AAAA,QACpC,OAAOJ;AAAA,QACP,iBAAiB;AAAA,QACjB,MAAAO;AAAA,QAEC,UAAMN,EAAA,SAAS,KACd,gBAAAS,EAACE,GAAS,EAAA,SAAS,IAAI,eAAe,IACnC,UAAAX,EAAM,IAAI,CAACY,GAAMC,MAChB,gBAAAJ;AAAA,UAACK;AAAAA,UAAA;AAAA,YAEC,aAAaD,MAAUb,EAAM,SAAS;AAAA,YAEtC,UAAA,gBAAAS;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,UAAAV;AAAA,gBACA,MAAAO;AAAA,gBACA,eAAAX;AAAA,gBACA,eAAAC;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,UARK,GAAGU,EAAK,OAAO,IAAIC,CAAK;AAAA,QAUhC,CAAA,GACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;"}
@@ -1,34 +0,0 @@
1
- import e from "styled-components";
2
- import i from "../../ui/layout/flex-view.js";
3
- const a = e(i)`
4
- overflow-y: auto;
5
- max-width: 512px;
6
- margin: auto;
7
- `, m = e(i)`
8
- & > div {
9
- border-bottom: none;
10
- }
11
- & > div:last-child {
12
- border-bottom: 1px solid ${({ theme: o, $borderBottomColor: t }) => o.colors[t]};
13
- }
14
- `, p = e(i)`
15
- margin-top: ${({ $addedmonthbreak: o }) => o ? "-122px" : "0"};
16
- z-index: 1;
17
- `, d = e(i)`
18
- margin-top: ${({ $isLastYear: o }) => o ? "-46px" : "0"};
19
- background-image: url(${({ $img: o }) => o});
20
- background-size: cover;
21
- background-position: center;
22
- width: 100%;
23
- height: 246px;
24
- `, l = e(i)`
25
- z-index: 1;
26
- `;
27
- export {
28
- p as DailyItems,
29
- a as DailyTimelineConatainer,
30
- m as DailyTimelineItemsContainer,
31
- d as MonthImageWrapper,
32
- l as YearWrapper
33
- };
34
- //# sourceMappingURL=daily-timeline-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily-timeline-styled.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { type TColorNames } from '../../ui/types';\n\nconst DailyTimelineConatainer = styled(FlexView)`\n overflow-y: auto;\n max-width: 512px;\n margin: auto;\n`;\n\nconst DailyTimelineItemsContainer = styled(FlexView)<{ $borderBottomColor: TColorNames }>`\n & > div {\n border-bottom: none;\n }\n & > div:last-child {\n border-bottom: 1px solid ${({ theme, $borderBottomColor }) => theme.colors[$borderBottomColor]};\n }\n`;\n\nconst DailyItems = styled(FlexView)<{ $addedmonthbreak?: boolean }>`\n margin-top: ${({ $addedmonthbreak }) => ($addedmonthbreak ? '-122px' : '0')};\n z-index: 1;\n`;\n\nconst MonthImageWrapper = styled(FlexView)<{ $isLastYear: boolean; $img: string }>`\n margin-top: ${({ $isLastYear }) => ($isLastYear ? '-46px' : '0')};\n background-image: url(${({ $img }) => $img});\n background-size: cover;\n background-position: center;\n width: 100%;\n height: 246px;\n`;\n\nconst YearWrapper = styled(FlexView)`\n z-index: 1;\n`;\n\nexport {\n DailyTimelineConatainer,\n DailyItems,\n MonthImageWrapper,\n YearWrapper,\n DailyTimelineItemsContainer,\n};\n"],"names":["DailyTimelineConatainer","styled","FlexView","DailyTimelineItemsContainer","theme","$borderBottomColor","DailyItems","$addedmonthbreak","MonthImageWrapper","$isLastYear","$img","YearWrapper"],"mappings":";;AAKM,MAAAA,IAA0BC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMzCC,IAA8BF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,+BAKpB,CAAC,EAAE,OAAAE,GAAO,oBAAAC,EAAA,MAAyBD,EAAM,OAAOC,CAAkB,CAAC;AAAA;AAAA,GAI5FC,IAAaL,EAAOC,CAAQ;AAAA,gBAClB,CAAC,EAAE,kBAAAK,EAAA,MAAwBA,IAAmB,WAAW,GAAI;AAAA;AAAA,GAIvEC,IAAoBP,EAAOC,CAAQ;AAAA,gBACzB,CAAC,EAAE,aAAAO,EAAA,MAAmBA,IAAc,UAAU,GAAI;AAAA,0BACxC,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA,GAOtCC,IAAcV,EAAOC,CAAQ;AAAA;AAAA;"}
@@ -1,119 +0,0 @@
1
- import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
- import { memo as q, useMemo as b, useState as x, useRef as G, useCallback as U, useEffect as p } from "react";
3
- import { ILLUSTRATIONS as Z } from "../../../assets/illustrations/illustrations.js";
4
- import { Loader as J } from "../../ui/buttons/button/button-styled.js";
5
- import Q from "../../ui/error/error.js";
6
- import u from "../../ui/layout/flex-view.js";
7
- import ee from "../../ui/loader/app-loader/app-loader.js";
8
- import s from "../../ui/separator/separator.js";
9
- import te from "../../ui/simple-accordian/accordion.js";
10
- import v from "../../ui/text/text.js";
11
- import { useDailyTimelineGet as oe } from "../api/use-daily-timeline-get.js";
12
- import { getTimelineCardIcon as re, getDayMonthYear as B, monthImageMap as ie } from "../comps/accordion-item/utils.js";
13
- import ne from "./daily-timeline-items/daily-timeline-items.js";
14
- import { DailyTimelineConatainer as ae, YearWrapper as se, MonthImageWrapper as me, DailyItems as le, DailyTimelineItemsContainer as ce } from "./daily-timeline-styled.js";
15
- import { parseISO as E } from "../../../node_modules/date-fns/parseISO.js";
16
- import { isLastDayOfMonth as he } from "../../../node_modules/date-fns/isLastDayOfMonth.js";
17
- const de = q(
18
- ({ userType: N, studentId: m, courseStreams: y, onPuzzlesClick: O, onReviewClick: Y }) => {
19
- const $ = b(() => Intl.DateTimeFormat().resolvedOptions().timeZone, []), [T, C] = x([]), [l, L] = x(!1), j = G(null), k = b(() => re("NO_ACTIVITY"), []), {
20
- get: _,
21
- data: t,
22
- isProcessingFailed: K,
23
- isProcessing: R
24
- } = oe(m), { user_logs: c } = t || {}, i = U(
25
- (o = 1, h = !1) => {
26
- h && L(!0), _(m, {
27
- page: o,
28
- size: 10,
29
- timezone: $,
30
- course_stream: y
31
- });
32
- },
33
- [_, m, $, y]
34
- );
35
- return p(() => {
36
- t && (t.curr_page === 1 ? C(c || []) : (C((o) => [...o, ...c || []]), L(!1)));
37
- }, [t, c]), p(() => {
38
- i(1, !1);
39
- }, [i]), p(() => {
40
- const o = () => {
41
- t != null && t.next_page && !l && window.scrollY + window.innerHeight >= document.body.scrollHeight - 100 && i(t.next_page, !0);
42
- };
43
- return window.addEventListener("scroll", o), () => {
44
- window.removeEventListener("scroll", o);
45
- };
46
- }, [t == null ? void 0 : t.next_page, l, i]), K ? /* @__PURE__ */ e(Q, { height: "70vh", onTryAgain: () => i(1, !1) }) : R && !T.length ? /* @__PURE__ */ e(u, { $alignItems: "center", $justifyContent: "center", $height: "100%", children: /* @__PURE__ */ e(ee, { width: "100%", height: "100%" }) }) : /* @__PURE__ */ a(ae, { ref: j, children: [
47
- T.map((o, h) => {
48
- const { daily_logs: n, from_date: A, to_date: I } = o;
49
- if (n) {
50
- const X = E(A), D = E(I), {
51
- day: w,
52
- month: z,
53
- monthName: F
54
- } = B(X), {
55
- day: S,
56
- month: d,
57
- year: P,
58
- monthName: H
59
- } = B(D), f = he(D), M = f && d === 12 && S === 31, g = Array.from(
60
- new Set(n.map((r) => r.course_stream).filter(Boolean))
61
- ), V = g.includes("CIRCLE") ? g.length > 2 : g.length > 1;
62
- return /* @__PURE__ */ a(u, { children: [
63
- M && /* @__PURE__ */ a(se, { $gutterX: 1, children: [
64
- /* @__PURE__ */ e(s, { heightX: 1 }),
65
- /* @__PURE__ */ e(v, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: P })
66
- ] }),
67
- f && d && /* @__PURE__ */ e(
68
- me,
69
- {
70
- $isLastYear: M,
71
- $img: ie[String(z).padStart(2, "0")]
72
- }
73
- ),
74
- /* @__PURE__ */ a(le, { $gutterX: 1, $addedmonthbreak: !!(f && d), children: [
75
- /* @__PURE__ */ e(s, { heightX: 1 }),
76
- /* @__PURE__ */ e(v, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: A === I ? `${w} ${F}` : `${w} - ${S} ${H}` }),
77
- /* @__PURE__ */ e(s, { heightX: 1 }),
78
- /* @__PURE__ */ e(
79
- ce,
80
- {
81
- $borderBottomColor: n.length > 0 ? "BLACK" : "BLACK_T_04",
82
- children: n.length > 0 ? n.map((r, W) => /* @__PURE__ */ e(
83
- ne,
84
- {
85
- type: r.type,
86
- summary: r.summary || "",
87
- courseStream: r.course_stream || void 0,
88
- cards: r.cards,
89
- onPuzzleClick: O,
90
- onReviewClick: Y,
91
- userType: N,
92
- shouldShowTag: V && r.course_stream !== "CIRCLE"
93
- },
94
- `timeline-${W}`
95
- )) : /* @__PURE__ */ e(
96
- te,
97
- {
98
- icon: k,
99
- title: "No Activity",
100
- defaultExpanded: !1,
101
- $borderColor: "BLACK_T_04",
102
- $backgroundColor: "BLACK_T_15"
103
- }
104
- )
105
- }
106
- ),
107
- /* @__PURE__ */ e(s, { heightX: 1 })
108
- ] })
109
- ] }, `timeline-entry-${h}`);
110
- }
111
- }),
112
- l && /* @__PURE__ */ e(u, { $alignItems: "center", $justifyContent: "center", $height: "100%", children: /* @__PURE__ */ e(J, { src: Z.LOADER, alt: "Loader", $size: "large" }) })
113
- ] });
114
- }
115
- ), be = de;
116
- export {
117
- be as default
118
- };
119
- //# sourceMappingURL=daily-timeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily-timeline.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline.tsx"],"sourcesContent":["import { isLastDayOfMonth, parseISO } from 'date-fns';\nimport { memo, useCallback, useEffect, useMemo, useRef, useState, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { Loader } from '../../ui/buttons/button/button-styled';\nimport Error from '../../ui/error/error';\nimport FlexView from '../../ui/layout/flex-view';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\nimport Separator from '../../ui/separator/separator';\nimport Accordion from '../../ui/simple-accordian/accordion';\nimport Text from '../../ui/text/text';\nimport { type TimelineData, useDailyTimelineGet } from '../api/use-daily-timeline-get';\nimport { getDayMonthYear, getTimelineCardIcon, monthImageMap } from '../comps/accordion-item/utils';\nimport DailyTimelineItems from './daily-timeline-items/daily-timeline-items';\nimport * as Styled from './daily-timeline-styled';\nimport { type DailyTimelineProps } from './daily-timeline-types';\n\nconst DailyTimeline: FC<DailyTimelineProps> = memo(\n ({ userType, studentId, courseStreams, onPuzzlesClick, onReviewClick }) => {\n const timezone = useMemo(() => Intl.DateTimeFormat().resolvedOptions().timeZone, []);\n const [allTimelineData, setAllTimelineData] = useState<TimelineData[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const NoActivityIcon = useMemo(() => getTimelineCardIcon('NO_ACTIVITY'), []);\n const {\n get: getTimeline,\n data: timelineData,\n isProcessingFailed,\n isProcessing,\n } = useDailyTimelineGet(studentId);\n const { user_logs: userLogs } = timelineData || {};\n\n const fetchTimeline = useCallback(\n (page = 1, append = false) => {\n if (append) {\n setIsLoadingMore(true);\n }\n\n getTimeline(studentId, {\n page,\n size: 10,\n timezone,\n course_stream: courseStreams,\n });\n },\n [getTimeline, studentId, timezone, courseStreams],\n );\n\n useEffect(() => {\n if (timelineData) {\n if (timelineData.curr_page === 1) {\n setAllTimelineData(userLogs || []);\n } else {\n setAllTimelineData(prev => [...prev, ...(userLogs || [])]);\n setIsLoadingMore(false);\n }\n }\n }, [timelineData, userLogs]);\n\n useEffect(() => {\n fetchTimeline(1, false);\n }, [fetchTimeline]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (\n timelineData?.next_page &&\n !isLoadingMore &&\n window.scrollY + window.innerHeight >= document.body.scrollHeight - 100\n ) {\n fetchTimeline(timelineData.next_page, true);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [timelineData?.next_page, isLoadingMore, fetchTimeline]);\n\n if (isProcessingFailed) {\n return <Error height=\"70vh\" onTryAgain={() => fetchTimeline(1, false)} />;\n }\n\n if (isProcessing && !allTimelineData.length) {\n return (\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <AppLoader width=\"100%\" height=\"100%\" />\n </FlexView>\n );\n }\n\n return (\n <Styled.DailyTimelineConatainer ref={scrollContainerRef}>\n {allTimelineData.map((entry, index) => {\n const { daily_logs, from_date, to_date } = entry;\n\n if (daily_logs) {\n const fromDateObj = parseISO(from_date);\n const toDateObj = parseISO(to_date);\n\n const {\n day: fromDay,\n month: fromMonth,\n monthName: fromMonthName,\n } = getDayMonthYear(fromDateObj);\n\n const {\n day: toDay,\n month: toMonth,\n year: toYear,\n monthName: toMonthName,\n } = getDayMonthYear(toDateObj);\n\n const isLast = isLastDayOfMonth(toDateObj);\n const isLastYear = isLast && toMonth === 12 && toDay === 31;\n const uniqueCourseStreams = Array.from(\n new Set(daily_logs.map(log => log.course_stream).filter(Boolean)),\n );\n const shouldShowTag = uniqueCourseStreams.includes('CIRCLE')\n ? uniqueCourseStreams.length > 2\n : uniqueCourseStreams.length > 1;\n\n return (\n <FlexView key={`timeline-entry-${index}`}>\n {isLastYear && (\n <Styled.YearWrapper $gutterX={1}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {toYear}\n </Text>\n </Styled.YearWrapper>\n )}\n {isLast && toMonth && (\n <Styled.MonthImageWrapper\n $isLastYear={isLastYear}\n $img={\n monthImageMap[\n String(fromMonth).padStart(2, '0') as keyof typeof monthImageMap\n ]\n }\n />\n )}\n <Styled.DailyItems $gutterX={1} $addedmonthbreak={!!(isLast && toMonth)}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {from_date === to_date\n ? `${fromDay} ${fromMonthName}`\n : `${fromDay} - ${toDay} ${toMonthName}`}\n </Text>\n <Separator heightX={1} />\n <Styled.DailyTimelineItemsContainer\n $borderBottomColor={daily_logs.length > 0 ? 'BLACK' : 'BLACK_T_04'}\n >\n {daily_logs.length > 0 ? (\n daily_logs.map((log, logIndex) => (\n <DailyTimelineItems\n key={`timeline-${logIndex}`}\n type={log.type}\n summary={log.summary || ''}\n courseStream={log.course_stream || undefined}\n cards={log.cards}\n onPuzzleClick={onPuzzlesClick}\n onReviewClick={onReviewClick}\n userType={userType}\n shouldShowTag={shouldShowTag && log.course_stream !== 'CIRCLE'}\n />\n ))\n ) : (\n <Accordion\n icon={NoActivityIcon}\n title=\"No Activity\"\n defaultExpanded={false}\n $borderColor=\"BLACK_T_04\"\n $backgroundColor=\"BLACK_T_15\"\n />\n )}\n </Styled.DailyTimelineItemsContainer>\n <Separator heightX={1} />\n </Styled.DailyItems>\n </FlexView>\n );\n }\n })}\n\n {isLoadingMore && (\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $height=\"100%\">\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size=\"large\" />\n </FlexView>\n )}\n </Styled.DailyTimelineConatainer>\n );\n },\n);\n\nexport default DailyTimeline;\n"],"names":["DailyTimeline","memo","userType","studentId","courseStreams","onPuzzlesClick","onReviewClick","timezone","useMemo","allTimelineData","setAllTimelineData","useState","isLoadingMore","setIsLoadingMore","scrollContainerRef","useRef","NoActivityIcon","getTimelineCardIcon","getTimeline","timelineData","isProcessingFailed","isProcessing","useDailyTimelineGet","userLogs","fetchTimeline","useCallback","page","append","useEffect","prev","handleScroll","jsx","Error","FlexView","AppLoader","jsxs","Styled.DailyTimelineConatainer","entry","index","daily_logs","from_date","to_date","fromDateObj","parseISO","toDateObj","fromDay","fromMonth","fromMonthName","getDayMonthYear","toDay","toMonth","toYear","toMonthName","isLast","isLastDayOfMonth","isLastYear","uniqueCourseStreams","log","shouldShowTag","Styled.YearWrapper","Separator","Text","Styled.MonthImageWrapper","monthImageMap","Styled.DailyItems","Styled.DailyTimelineItemsContainer","logIndex","DailyTimelineItems","Accordion","Loader","ILLUSTRATIONS","DailyTimeline$1"],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import t from "styled-components";
2
- import e from "../layout/flex-view.js";
3
- const r = t(e)`
4
- position: absolute;
5
- top: 0px;
6
- left: 0px;
7
- z-index: 2;
8
- `, i = t(e)`
9
- cursor: ${({ $disabled: o }) => o ? "not-allowed" : "pointer"};
10
- `, l = t(e)`
11
- display: ${({ $isExpanded: o }) => o ? "flex" : "none"};
12
- `;
13
- export {
14
- l as ContentWrapper,
15
- r as TagContainer,
16
- i as Wrapper
17
- };
18
- //# sourceMappingURL=accordion-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion-styled.js","sources":["../../../../src/features/ui/simple-accordian/accordion-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\nconst TagContainer = styled(FlexView)`\n position: absolute;\n top: 0px;\n left: 0px;\n z-index: 2;\n`;\n\nconst Wrapper = styled(FlexView)<{ $disabled?: boolean }>`\n cursor: ${({ $disabled }) => ($disabled ? 'not-allowed' : 'pointer')};\n`;\n\nconst ContentWrapper = styled(FlexView)<{ $isExpanded?: boolean }>`\n display: ${({ $isExpanded }) => ($isExpanded ? 'flex' : 'none')};\n`;\n\nexport { TagContainer, Wrapper, ContentWrapper };\n"],"names":["TagContainer","styled","FlexView","Wrapper","$disabled","ContentWrapper","$isExpanded"],"mappings":";;AAIM,MAAAA,IAAeC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAO9BC,IAAUF,EAAOC,CAAQ;AAAA,YACnB,CAAC,EAAE,WAAAE,EAAA,MAAiBA,IAAY,gBAAgB,SAAU;AAAA,GAGhEC,IAAiBJ,EAAOC,CAAQ;AAAA,aACzB,CAAC,EAAE,aAAAI,EAAA,MAAmBA,IAAc,SAAS,MAAO;AAAA;"}
@@ -1,59 +0,0 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { memo as g, useState as u, useCallback as x } from "react";
3
- import b from "../../../assets/line-icons/icons/minus.js";
4
- import h from "../../../assets/line-icons/icons/plus.js";
5
- import s from "../text/text.js";
6
- import C from "../image/image.js";
7
- import o from "../layout/flex-view.js";
8
- import { TagContainer as I, Wrapper as w, ContentWrapper as k } from "./accordion-styled.js";
9
- const D = g(
10
- ({ title: c, icon: n, tag: i, children: r, defaultExpanded: l = !1, $borderColor: m, $backgroundColor: d }) => {
11
- const [a, p] = u(l), $ = x(() => {
12
- r && p((f) => !f);
13
- }, [r]);
14
- return /* @__PURE__ */ t(
15
- o,
16
- {
17
- $position: "relative",
18
- $borderColor: m || "BLACK_1",
19
- $background: d || "WHITE",
20
- children: [
21
- i && /* @__PURE__ */ e(I, { $background: "BLACK", $gutter: 4, children: /* @__PURE__ */ e(s, { $renderAs: "ab4-black", $color: "WHITE", children: i }) }),
22
- /* @__PURE__ */ t(
23
- w,
24
- {
25
- $flexDirection: "row",
26
- $alignItems: "center",
27
- $justifyContent: "space-between",
28
- $gutterX: 1,
29
- $gapX: 1.32,
30
- $disabled: !r,
31
- onClick: $,
32
- children: [
33
- /* @__PURE__ */ t(
34
- o,
35
- {
36
- $flexDirection: "row",
37
- $alignItems: "center",
38
- $justifyContent: "center",
39
- $flexGapX: 0.75,
40
- children: [
41
- /* @__PURE__ */ e(o, { children: n && /* @__PURE__ */ e(C, { src: n }) }),
42
- /* @__PURE__ */ e(s, { $renderAs: "ab2", children: c })
43
- ]
44
- }
45
- ),
46
- r && (a ? /* @__PURE__ */ e(b, { width: 20, height: 20 }) : /* @__PURE__ */ e(h, { width: 20, height: 20 }))
47
- ]
48
- }
49
- ),
50
- r && /* @__PURE__ */ e(k, { $isExpanded: a, children: r })
51
- ]
52
- }
53
- );
54
- }
55
- );
56
- export {
57
- D as default
58
- };
59
- //# sourceMappingURL=accordion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion.js","sources":["../../../../src/features/ui/simple-accordian/accordion.tsx"],"sourcesContent":["import { memo, useState, useCallback, type FC } from 'react';\n\nimport MinusIcon from '../../../assets/line-icons/icons/minus';\nimport PlusIcon from '../../../assets/line-icons/icons/plus';\nimport Text from '../text/text';\nimport Image from '../image/image';\nimport FlexView from '../layout/flex-view';\nimport * as Styled from './accordion-styled';\nimport type { IAccordionProps } from './accordion-types';\n\nconst Accordion: FC<IAccordionProps> = memo(\n ({ title, icon, tag, children, defaultExpanded = false, $borderColor, $backgroundColor }) => {\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\n\n const handleToggle = useCallback(() => {\n if (children) {\n setIsExpanded(prev => !prev);\n }\n }, [children]);\n\n return (\n <FlexView\n $position=\"relative\"\n $borderColor={$borderColor || 'BLACK_1'}\n $background={$backgroundColor || 'WHITE'}\n >\n {tag && (\n <Styled.TagContainer $background=\"BLACK\" $gutter={4}>\n <Text $renderAs=\"ab4-black\" $color=\"WHITE\">\n {tag}\n </Text>\n </Styled.TagContainer>\n )}\n\n <Styled.Wrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $gutterX={1}\n $gapX={1.32}\n $disabled={!children}\n onClick={handleToggle}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexGapX={0.75}\n >\n <FlexView>{icon && <Image src={icon} />}</FlexView>\n <Text $renderAs=\"ab2\">{title}</Text>\n </FlexView>\n {children &&\n (isExpanded ? (\n <MinusIcon width={20} height={20} />\n ) : (\n <PlusIcon width={20} height={20} />\n ))}\n </Styled.Wrapper>\n\n {children && (\n <Styled.ContentWrapper $isExpanded={isExpanded}>{children}</Styled.ContentWrapper>\n )}\n </FlexView>\n );\n },\n);\n\nexport default Accordion;\n"],"names":["Accordion","memo","title","icon","tag","children","defaultExpanded","$borderColor","$backgroundColor","isExpanded","setIsExpanded","useState","handleToggle","useCallback","prev","jsxs","FlexView","jsx","Styled.TagContainer","Text","Styled.Wrapper","Image","MinusIcon","PlusIcon","Styled.ContentWrapper"],"mappings":";;;;;;;;AAUA,MAAMA,IAAiCC;AAAA,EACrC,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,KAAAC,GAAK,UAAAC,GAAU,iBAAAC,IAAkB,IAAO,cAAAC,GAAc,kBAAAC,QAAuB;AAC3F,UAAM,CAACC,GAAYC,CAAa,IAAIC,EAASL,CAAe,GAEtDM,IAAeC,EAAY,MAAM;AACrC,MAAIR,KACYK,EAAA,CAAAI,MAAQ,CAACA,CAAI;AAAA,IAC7B,GACC,CAACT,CAAQ,CAAC;AAGX,WAAA,gBAAAU;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,cAAcT,KAAgB;AAAA,QAC9B,aAAaC,KAAoB;AAAA,QAEhC,UAAA;AAAA,UAAAJ,KACE,gBAAAa,EAAAC,GAAA,EAAoB,aAAY,SAAQ,SAAS,GAChD,UAAA,gBAAAD,EAACE,KAAK,WAAU,aAAY,QAAO,SAChC,YACH,CAAA,GACF;AAAA,UAGF,gBAAAJ;AAAA,YAACK;AAAAA,YAAA;AAAA,cACC,gBAAe;AAAA,cACf,aAAY;AAAA,cACZ,iBAAgB;AAAA,cAChB,UAAU;AAAA,cACV,OAAO;AAAA,cACP,WAAW,CAACf;AAAA,cACZ,SAASO;AAAA,cAET,UAAA;AAAA,gBAAA,gBAAAG;AAAA,kBAACC;AAAA,kBAAA;AAAA,oBACC,gBAAe;AAAA,oBACf,aAAY;AAAA,oBACZ,iBAAgB;AAAA,oBAChB,WAAW;AAAA,oBAEX,UAAA;AAAA,sBAAA,gBAAAC,EAACD,KAAU,UAAQb,KAAA,gBAAAc,EAACI,GAAM,EAAA,KAAKlB,EAAM,CAAA,GAAG;AAAA,sBACvC,gBAAAc,EAAAE,GAAA,EAAK,WAAU,OAAO,UAAMjB,GAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAC/B;AAAA,gBACCG,MACEI,IACE,gBAAAQ,EAAAK,GAAA,EAAU,OAAO,IAAI,QAAQ,GAAI,CAAA,IAEjC,gBAAAL,EAAAM,GAAA,EAAS,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAEvC;AAAA,UAEClB,KACE,gBAAAY,EAAAO,GAAA,EAAsB,aAAaf,GAAa,UAAAJ,GAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIlE;AACF;"}
@@ -1,10 +0,0 @@
1
- import { toDate as o } from "./toDate.js";
2
- function a(e) {
3
- const t = o(e);
4
- return t.setHours(23, 59, 59, 999), t;
5
- }
6
- export {
7
- a as default,
8
- a as endOfDay
9
- };
10
- //# sourceMappingURL=endOfDay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"endOfDay.js","sources":["../../../node_modules/date-fns/endOfDay.mjs"],"sourcesContent":["import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n const _date = toDate(date);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n"],"names":["endOfDay","date","_date","toDate"],"mappings":";AAsBO,SAASA,EAASC,GAAM;AAC7B,QAAMC,IAAQC,EAAOF,CAAI;AACzB,SAAAC,EAAM,SAAS,IAAI,IAAI,IAAI,GAAG,GACvBA;AACT;","x_google_ignoreList":[0]}
@@ -1,10 +0,0 @@
1
- import { toDate as n } from "./toDate.js";
2
- function a(e) {
3
- const t = n(e), o = t.getMonth();
4
- return t.setFullYear(t.getFullYear(), o + 1, 0), t.setHours(23, 59, 59, 999), t;
5
- }
6
- export {
7
- a as default,
8
- a as endOfMonth
9
- };
10
- //# sourceMappingURL=endOfMonth.js.map