@cuemath/leap 3.5.32-as10 → 3.5.32-as3

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 (40) hide show
  1. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js +7 -7
  2. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js.map +1 -1
  3. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js +13 -13
  4. package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js.map +1 -1
  5. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js +5 -5
  6. package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js.map +1 -1
  7. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js +40 -40
  8. package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js.map +1 -1
  9. package/dist/features/timeline/monthly-timeline/constants.js.map +1 -1
  10. package/dist/features/timeline/monthly-timeline/monthly-report/api/{use-monthly-report-api.js → use-monthly-report-get.js} +4 -4
  11. package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-get.js.map +1 -0
  12. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js +52 -52
  13. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js.map +1 -1
  14. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js +88 -39
  15. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js.map +1 -1
  16. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js +13 -13
  17. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js.map +1 -1
  18. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js +4 -10
  19. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js.map +1 -1
  20. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js +12 -6
  21. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js.map +1 -1
  22. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js +75 -60
  23. package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js.map +1 -1
  24. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +1 -1
  25. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -1
  26. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js +59 -69
  27. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js.map +1 -1
  28. package/dist/features/timeline/monthly-timeline/monthly-timeline.js +46 -49
  29. package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -1
  30. package/dist/features/timeline/timeline-tabs/timeline-tabs.js +37 -23
  31. package/dist/features/timeline/timeline-tabs/timeline-tabs.js.map +1 -1
  32. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js +2 -2
  33. package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js.map +1 -1
  34. package/dist/index.d.ts +1 -2
  35. package/package.json +1 -1
  36. package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-api.js.map +0 -1
  37. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js +0 -66
  38. package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js.map +0 -1
  39. package/dist/features/timeline/timeline-tabs/constants.js +0 -17
  40. package/dist/features/timeline/timeline-tabs/constants.js.map +0 -1
@@ -1,58 +1,107 @@
1
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- import { memo as S, useRef as R, useState as h, useCallback as i, useEffect as b } from "react";
3
- import x from "../../../../../../../assets/line-icons/icons/chevron-left.js";
4
- import L from "../../../../../../../assets/line-icons/icons/chevron-right.js";
5
- import { ContentWrapper as _, ScrollButton as a, ScrollContainer as w } from "./activities-card-puzzles.styled.js";
6
- import c from "../../../../../../ui/layout/flex-view.js";
7
- import I from "../../../../../../ui/separator/separator.js";
8
- import { IS_APP_RUNNING_IN_RN as f } from "../../../../../../../constants/app-config.js";
9
- import A from "./activity-puzzle-card.js";
10
- const B = ({ puzzles: o, onPuzzleClick: u }) => {
11
- const r = R(null), [d, m] = h(!1), [$, p] = h(!1), g = i(() => {
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { memo as I, useRef as v, useState as m, useCallback as s, useEffect as w } from "react";
3
+ import A from "../../../../../../../assets/line-icons/icons/chevron-left.js";
4
+ import N from "../../../../../../../assets/line-icons/icons/chevron-right.js";
5
+ import { PuzzleContainer as T, StatusIcon as X, ContentWrapper as x, ScrollButton as d, ScrollContainer as B } from "./activities-card-puzzles.styled.js";
6
+ import i from "../../../../../../ui/layout/flex-view.js";
7
+ import k from "../../../../../../ui/image/image.js";
8
+ import f from "../../../../../../ui/separator/separator.js";
9
+ import D from "../../../../../../ui/text/text.js";
10
+ import { NODE_STATE as h } from "../../../../../daily-timeline/daily-timeline-types.js";
11
+ import { stateIcon as $ } from "../constants.js";
12
+ import { IS_APP_RUNNING_IN_RN as g } from "../../../../../../../constants/app-config.js";
13
+ const j = ({
14
+ puzzles: u,
15
+ onPuzzleClick: o
16
+ }) => {
17
+ const n = u || [], r = v(null), [_, C] = m(!1), [b, p] = m(!1), S = s(() => {
12
18
  r.current && r.current.scrollBy({ left: -180, behavior: "smooth" });
13
- }, []), C = i(() => {
19
+ }, []), E = s(() => {
14
20
  r.current && r.current.scrollBy({ left: 180, behavior: "smooth" });
15
- }, []), l = i(() => {
21
+ }, []), c = s(() => {
16
22
  if (r.current) {
17
- const { scrollLeft: t, scrollWidth: n, clientWidth: v } = r.current;
18
- m(t > 0), p(t < n - v - 10);
23
+ const { scrollLeft: t, scrollWidth: a, clientWidth: L } = r.current;
24
+ C(t > 0), p(t < a - L - 10);
19
25
  }
20
26
  }, []);
21
- return b(() => {
27
+ w(() => {
22
28
  const t = r.current;
23
29
  if (t)
24
- return l(), t.addEventListener("scroll", l), () => {
25
- t.removeEventListener("scroll", l);
30
+ return c(), t.addEventListener("scroll", c), () => {
31
+ t.removeEventListener("scroll", c);
26
32
  };
27
- }, [l, o.length]), !o || o.length === 0 ? null : /* @__PURE__ */ e(_, { $flexRowGapX: 1, children: /* @__PURE__ */ s(c, { $position: "relative", $borderColor: "GREY_2", children: [
33
+ }, [c, n.length]);
34
+ const R = s(
35
+ (t, a) => /* @__PURE__ */ l(
36
+ T,
37
+ {
38
+ $gapX: 1,
39
+ $imageHue: t.image_hue || "BLUE",
40
+ $width: 146,
41
+ $height: 162,
42
+ $background: `${t.image_hue || "BLUE"}_2`,
43
+ onClick: () => o == null ? void 0 : o({
44
+ item_ref: t.item_ref,
45
+ feedback_comments: t.feedback_comments,
46
+ image_hue: t.image_hue,
47
+ title: t.title,
48
+ tip: t.tip
49
+ }),
50
+ children: [
51
+ /* @__PURE__ */ e(
52
+ X,
53
+ {
54
+ $borderRadiusX: 1,
55
+ $background: t.state === h.PENDING || t.state === h.NOT_STARTED ? "RED" : "BLACK_1",
56
+ $widthX: 1,
57
+ $heightX: 1,
58
+ $alignItems: "center",
59
+ $justifyContent: "center",
60
+ children: t.state && ($[t.state] || $[h.COMPLETED])
61
+ }
62
+ ),
63
+ /* @__PURE__ */ l(i, { $background: "TRANSPARENT", $alignItems: "center", children: [
64
+ t.image_url && /* @__PURE__ */ e(
65
+ k,
66
+ {
67
+ src: t.image_url ?? "",
68
+ alt: "Puzzle illustration",
69
+ width: 68,
70
+ height: 68,
71
+ withLoader: !0
72
+ }
73
+ ),
74
+ /* @__PURE__ */ e(f, { heightX: 1 }),
75
+ /* @__PURE__ */ e(i, { $gutterX: 0.25, children: /* @__PURE__ */ e(D, { $renderAs: "ab3", $align: "center", children: t.title }) })
76
+ ] })
77
+ ]
78
+ },
79
+ `${t.id}-${a}`
80
+ ),
81
+ [o]
82
+ );
83
+ return !n || n.length === 0 ? null : /* @__PURE__ */ e(x, { $flexRowGapX: 1, children: /* @__PURE__ */ l(i, { $position: "relative", $borderColor: "GREY_2", children: [
28
84
  /* @__PURE__ */ e(
29
- a,
85
+ d,
30
86
  {
31
87
  $background: "BLACK_T_60",
32
88
  $justifyContent: "center",
33
89
  $alignItems: "center",
34
90
  $widthX: 2,
35
91
  $height: "100%",
36
- onClick: g,
37
- $visible: !f && d,
92
+ onClick: S,
93
+ $visible: !g && _,
38
94
  $left: "0px",
39
95
  $right: "auto",
40
- children: /* @__PURE__ */ e(x, { width: 24, height: 24 })
96
+ children: /* @__PURE__ */ e(A, { width: 24, height: 24 })
41
97
  }
42
98
  ),
43
- /* @__PURE__ */ e(c, { $gapX: 1, children: /* @__PURE__ */ e(w, { ref: r, children: /* @__PURE__ */ s(c, { $flexDirection: "row", $flexGapX: 1, children: [
44
- /* @__PURE__ */ e(I, {}),
45
- o.map((t, n) => /* @__PURE__ */ e(
46
- A,
47
- {
48
- puzzle: t,
49
- onPuzzleClick: u
50
- },
51
- `${t.id}-${n}`
52
- ))
99
+ /* @__PURE__ */ e(i, { $gapX: 1, children: /* @__PURE__ */ e(B, { ref: r, children: /* @__PURE__ */ l(i, { $flexDirection: "row", $flexGapX: 1, children: [
100
+ /* @__PURE__ */ e(f, {}),
101
+ n.map(R)
53
102
  ] }) }) }),
54
103
  /* @__PURE__ */ e(
55
- a,
104
+ d,
56
105
  {
57
106
  $position: "absolute",
58
107
  $widthX: 2,
@@ -60,16 +109,16 @@ const B = ({ puzzles: o, onPuzzleClick: u }) => {
60
109
  $background: "BLACK_T_60",
61
110
  $justifyContent: "center",
62
111
  $alignItems: "center",
63
- onClick: C,
64
- $visible: !f && $,
112
+ onClick: E,
113
+ $visible: !g && b,
65
114
  $left: "auto",
66
115
  $right: "0px",
67
- children: /* @__PURE__ */ e(L, { width: 24, height: 24 })
116
+ children: /* @__PURE__ */ e(N, { width: 24, height: 24 })
68
117
  }
69
118
  )
70
119
  ] }) });
71
- }, z = S(B);
120
+ }, q = I(j);
72
121
  export {
73
- z as default
122
+ q as default
74
123
  };
75
124
  //# sourceMappingURL=activities-card-puzzles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activities-card-puzzles.js","sources":["../../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.tsx"],"sourcesContent":["import { type FC, useRef, memo, useCallback, useState, useEffect } from 'react';\n\nimport ChevronLeftIcon from '../../../../../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../../../../../assets/line-icons/icons/chevron-right';\nimport { type IActivitiesCardPuzzlesProps } from './activities-card-puzzles-types';\nimport * as Styled from './activities-card-puzzles.styled';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport Separator from '../../../../../../ui/separator/separator';\nimport { IS_APP_RUNNING_IN_RN } from '../../../../../../../constants/app-config';\nimport ActivityPuzzleCard from './activity-puzzle-card';\n\nconst ActivitiesCardPuzzles: FC<IActivitiesCardPuzzlesProps> = ({ puzzles, onPuzzleClick }) => {\n const scrollRef = useRef<HTMLDivElement>(null);\n const [canScrollLeft, setCanScrollLeft] = useState(false);\n const [canScrollRight, setCanScrollRight] = useState(false);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -180, behavior: 'smooth' });\n }\n }, []);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 180, behavior: 'smooth' });\n }\n }, []);\n\n const updateScrollButtons = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n setCanScrollLeft(scrollLeft > 0);\n setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 10);\n }\n }, []);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n updateScrollButtons();\n\n scrollElement.addEventListener('scroll', updateScrollButtons);\n\n return () => {\n scrollElement.removeEventListener('scroll', updateScrollButtons);\n };\n }\n }, [updateScrollButtons, puzzles.length]);\n\n if (!puzzles || puzzles.length === 0) return null;\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1}>\n <FlexView $position=\"relative\" $borderColor=\"GREY_2\">\n <Styled.ScrollButton\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $widthX={2}\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={!IS_APP_RUNNING_IN_RN && canScrollLeft}\n $left=\"0px\"\n $right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n <FlexView $gapX={1}>\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Separator />\n {puzzles.map((item, index) => {\n return (\n <ActivityPuzzleCard\n key={`${item.id}-${index}`}\n puzzle={item}\n onPuzzleClick={onPuzzleClick}\n />\n );\n })}\n </FlexView>\n </Styled.ScrollContainer>\n </FlexView>\n\n <Styled.ScrollButton\n $position=\"absolute\"\n $widthX={2}\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={!IS_APP_RUNNING_IN_RN && canScrollRight}\n $left=\"auto\"\n $right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(ActivitiesCardPuzzles);\n"],"names":["ActivitiesCardPuzzles","puzzles","onPuzzleClick","scrollRef","useRef","canScrollLeft","setCanScrollLeft","useState","canScrollRight","setCanScrollRight","handleScrollLeft","useCallback","handleScrollRight","updateScrollButtons","scrollLeft","scrollWidth","clientWidth","useEffect","scrollElement","jsx","Styled.ContentWrapper","jsxs","FlexView","Styled.ScrollButton","IS_APP_RUNNING_IN_RN","ChevronLeftIcon","Styled.ScrollContainer","Separator","item","index","ActivityPuzzleCard","ChevronRightIcon","ActivitiesCardPuzzles$1","memo"],"mappings":";;;;;;;;;AAWA,MAAMA,IAAyD,CAAC,EAAE,SAAAC,GAAS,eAAAC,QAAoB;AACvF,QAAAC,IAAYC,EAAuB,IAAI,GACvC,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAK,GAClD,CAACC,GAAgBC,CAAiB,IAAIF,EAAS,EAAK,GAEpDG,IAAmBC,EAAY,MAAM;AACzC,IAAIR,EAAU,WACZA,EAAU,QAAQ,SAAS,EAAE,MAAM,MAAM,UAAU,UAAU;AAAA,EAEjE,GAAG,CAAE,CAAA,GAECS,IAAoBD,EAAY,MAAM;AAC1C,IAAIR,EAAU,WACZA,EAAU,QAAQ,SAAS,EAAE,MAAM,KAAK,UAAU,UAAU;AAAA,EAEhE,GAAG,CAAE,CAAA,GAECU,IAAsBF,EAAY,MAAM;AAC5C,QAAIR,EAAU,SAAS;AACrB,YAAM,EAAE,YAAAW,GAAY,aAAAC,GAAa,aAAAC,EAAA,IAAgBb,EAAU;AAE3D,MAAAG,EAAiBQ,IAAa,CAAC,GACbL,EAAAK,IAAaC,IAAcC,IAAc,EAAE;AAAA,IAC/D;AAAA,EACF,GAAG,CAAE,CAAA;AAgBL,SAdAC,EAAU,MAAM;AACd,UAAMC,IAAgBf,EAAU;AAEhC,QAAIe;AACkB,aAAAL,KAENK,EAAA,iBAAiB,UAAUL,CAAmB,GAErD,MAAM;AACG,QAAAK,EAAA,oBAAoB,UAAUL,CAAmB;AAAA,MAAA;AAAA,EAGlE,GAAA,CAACA,GAAqBZ,EAAQ,MAAM,CAAC,GAEpC,CAACA,KAAWA,EAAQ,WAAW,IAAU,OAG3C,gBAAAkB,EAACC,GAAA,EAAsB,cAAc,GACnC,UAAA,gBAAAC,EAACC,GAAS,EAAA,WAAU,YAAW,cAAa,UAC1C,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,SAAS;AAAA,QACT,SAAQ;AAAA,QACR,SAASb;AAAA,QACT,UAAU,CAACc,KAAwBnB;AAAA,QACnC,OAAM;AAAA,QACN,QAAO;AAAA,QAEP,UAAC,gBAAAc,EAAAM,GAAA,EAAgB,OAAO,IAAI,QAAQ,IAAI;AAAA,MAAA;AAAA,IAC1C;AAAA,IACC,gBAAAN,EAAAG,GAAA,EAAS,OAAO,GACf,4BAACI,GAAA,EAAuB,KAAKvB,GAC3B,UAAC,gBAAAkB,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,GACxC,UAAA;AAAA,MAAA,gBAAAH,EAACQ,GAAU,EAAA;AAAA,MACV1B,EAAQ,IAAI,CAAC2B,GAAMC,MAEhB,gBAAAV;AAAA,QAACW;AAAA,QAAA;AAAA,UAEC,QAAQF;AAAA,UACR,eAAA1B;AAAA,QAAA;AAAA,QAFK,GAAG0B,EAAK,EAAE,IAAIC,CAAK;AAAA,MAAA,CAK7B;AAAA,IAAA,EACH,CAAA,EACF,CAAA,GACF;AAAA,IAEA,gBAAAV;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAQ;AAAA,QACR,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,SAASX;AAAA,QACT,UAAU,CAACY,KAAwBhB;AAAA,QACnC,OAAM;AAAA,QACN,QAAO;AAAA,QAEP,UAAC,gBAAAW,EAAAY,GAAA,EAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,MAAA;AAAA,IAC3C;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ,GAEeC,IAAAC,EAAKjC,CAAqB;"}
1
+ {"version":3,"file":"activities-card-puzzles.js","sources":["../../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.tsx"],"sourcesContent":["import { type FC, useRef, memo, useCallback, useState, useEffect } from 'react';\n\nimport ChevronLeftIcon from '../../../../../../../assets/line-icons/icons/chevron-left';\nimport ChevronRightIcon from '../../../../../../../assets/line-icons/icons/chevron-right';\nimport { type IActivitiesCardPuzzlesProps } from './activities-card-puzzles-types';\nimport { type IMonthlyActivity } from '../../../monthly-report-types';\nimport * as Styled from './activities-card-puzzles.styled';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport Image from '../../../../../../ui/image/image';\nimport Separator from '../../../../../../ui/separator/separator';\nimport Text from '../../../../../../ui/text/text';\nimport { NODE_STATE } from '../../../../../daily-timeline/daily-timeline-types';\nimport { stateIcon } from '../constants';\nimport { IS_APP_RUNNING_IN_RN } from '../../../../../../../constants/app-config';\n\nconst ActivitiesCardPuzzles: FC<IActivitiesCardPuzzlesProps> = ({\n puzzles: newPuzzles,\n onPuzzleClick,\n}) => {\n const puzzles = newPuzzles || [];\n const scrollRef = useRef<HTMLDivElement>(null);\n const [canScrollLeft, setCanScrollLeft] = useState(false);\n const [canScrollRight, setCanScrollRight] = useState(false);\n\n const handleScrollLeft = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: -180, behavior: 'smooth' });\n }\n }, []);\n\n const handleScrollRight = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollBy({ left: 180, behavior: 'smooth' });\n }\n }, []);\n\n const updateScrollButtons = useCallback(() => {\n if (scrollRef.current) {\n const { scrollLeft, scrollWidth, clientWidth } = scrollRef.current;\n\n setCanScrollLeft(scrollLeft > 0);\n setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 10);\n }\n }, []);\n\n useEffect(() => {\n const scrollElement = scrollRef.current;\n\n if (scrollElement) {\n updateScrollButtons();\n\n scrollElement.addEventListener('scroll', updateScrollButtons);\n\n return () => {\n scrollElement.removeEventListener('scroll', updateScrollButtons);\n };\n }\n }, [updateScrollButtons, puzzles.length]);\n\n const renderPuzzleCard = useCallback(\n (puzzle: IMonthlyActivity, index: number) => (\n <Styled.PuzzleContainer\n key={`${puzzle.id}-${index}`}\n $gapX={1}\n $imageHue={puzzle.image_hue || 'BLUE'}\n $width={146}\n $height={162}\n $background={`${puzzle.image_hue || 'BLUE'}_2`}\n onClick={() =>\n onPuzzleClick?.({\n item_ref: puzzle.item_ref,\n feedback_comments: puzzle.feedback_comments,\n image_hue: puzzle.image_hue,\n title: puzzle.title,\n tip: puzzle.tip,\n })\n }\n >\n <Styled.StatusIcon\n $borderRadiusX={1}\n $background={\n puzzle.state === NODE_STATE.PENDING || puzzle.state === NODE_STATE.NOT_STARTED\n ? 'RED'\n : 'BLACK_1'\n }\n $widthX={1}\n $heightX={1}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {puzzle.state &&\n (stateIcon[puzzle.state as NODE_STATE] || stateIcon[NODE_STATE.COMPLETED])}\n </Styled.StatusIcon>\n <FlexView $background=\"TRANSPARENT\" $alignItems=\"center\">\n {puzzle.image_url && (\n <Image\n src={puzzle.image_url ?? ''}\n alt=\"Puzzle illustration\"\n width={68}\n height={68}\n withLoader={true}\n />\n )}\n <Separator heightX={1} />\n <FlexView $gutterX={0.25}>\n <Text $renderAs=\"ab3\" $align=\"center\">\n {puzzle.title}\n </Text>\n </FlexView>\n </FlexView>\n </Styled.PuzzleContainer>\n ),\n [onPuzzleClick],\n );\n\n if (!puzzles || puzzles.length === 0) return null;\n\n return (\n <Styled.ContentWrapper $flexRowGapX={1}>\n <FlexView $position=\"relative\" $borderColor=\"GREY_2\">\n <Styled.ScrollButton\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $widthX={2}\n $height=\"100%\"\n onClick={handleScrollLeft}\n $visible={!IS_APP_RUNNING_IN_RN && canScrollLeft}\n $left=\"0px\"\n $right=\"auto\"\n >\n <ChevronLeftIcon width={24} height={24} />\n </Styled.ScrollButton>\n <FlexView $gapX={1}>\n <Styled.ScrollContainer ref={scrollRef}>\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <Separator />\n {puzzles.map(renderPuzzleCard)}\n </FlexView>\n </Styled.ScrollContainer>\n </FlexView>\n\n <Styled.ScrollButton\n $position=\"absolute\"\n $widthX={2}\n $height=\"100%\"\n $background=\"BLACK_T_60\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n onClick={handleScrollRight}\n $visible={!IS_APP_RUNNING_IN_RN && canScrollRight}\n $left=\"auto\"\n $right=\"0px\"\n >\n <ChevronRightIcon width={24} height={24} />\n </Styled.ScrollButton>\n </FlexView>\n </Styled.ContentWrapper>\n );\n};\n\nexport default memo(ActivitiesCardPuzzles);\n"],"names":["ActivitiesCardPuzzles","newPuzzles","onPuzzleClick","puzzles","scrollRef","useRef","canScrollLeft","setCanScrollLeft","useState","canScrollRight","setCanScrollRight","handleScrollLeft","useCallback","handleScrollRight","updateScrollButtons","scrollLeft","scrollWidth","clientWidth","useEffect","scrollElement","renderPuzzleCard","puzzle","index","jsxs","Styled.PuzzleContainer","jsx","Styled.StatusIcon","NODE_STATE","stateIcon","FlexView","Image","Separator","Text","Styled.ContentWrapper","Styled.ScrollButton","IS_APP_RUNNING_IN_RN","ChevronLeftIcon","Styled.ScrollContainer","ChevronRightIcon","ActivitiesCardPuzzles$1","memo"],"mappings":"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"}
@@ -1,27 +1,27 @@
1
- import { jsxs as f, jsx as e } from "react/jsx-runtime";
2
- import { memo as t } from "react";
3
- import d from "./activities-card/activities-card.js";
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { memo as d } from "react";
3
+ import h from "./activities-card/activities-card.js";
4
4
  import l from "../../../../../ui/layout/flex-view.js";
5
- import h from "../../../../../ui/text/text.js";
6
- import u from "../../../../../ui/separator/separator.js";
7
- const x = ({ activities: o, onPuzzleClick: p }) => !o || Object.keys(o).length === 0 ? null : /* @__PURE__ */ f(l, { children: [
8
- /* @__PURE__ */ e(h, { $renderAs: "ab1-bold", $color: "BLACK_1", children: "Activities" }),
9
- /* @__PURE__ */ e(u, { heightX: 1 }),
10
- /* @__PURE__ */ e(l, { $flexRowGapX: 1.5, children: Object.entries(o).map(([n, r]) => {
5
+ import u from "../../../../../ui/text/text.js";
6
+ import x from "../../../../../ui/separator/separator.js";
7
+ const A = ({ activities: o, onPuzzleClick: p }) => !o || Object.keys(o).length === 0 ? null : /* @__PURE__ */ t(l, { children: [
8
+ /* @__PURE__ */ e(u, { $renderAs: "ab1-bold", $color: "BLACK_1", children: "Activities" }),
9
+ /* @__PURE__ */ e(x, { heightX: 1 }),
10
+ /* @__PURE__ */ e(l, { $flexRowGapX: 1.5, children: Object.entries(o).map(([n, r], f) => {
11
11
  var m;
12
12
  return r != null && r.length ? /* @__PURE__ */ e(
13
- d,
13
+ h,
14
14
  {
15
15
  nodeType: (m = r[0]) == null ? void 0 : m.node_type,
16
16
  cardType: n,
17
17
  activitiesList: r,
18
18
  onPuzzleClick: p
19
19
  },
20
- n
20
+ `${n}-${f}`
21
21
  ) : null;
22
22
  }) })
23
- ] }), w = t(x);
23
+ ] }), y = d(A);
24
24
  export {
25
- w as default
25
+ y as default
26
26
  };
27
27
  //# sourceMappingURL=activities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activities.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport { type IActivitiesProps } from './activities-types';\nimport { type TNodeTypes } from '../../../../../chapters-v2/comps/node-card/node-card-types';\nimport ActivitiesCard from './activities-card/activities-card';\nimport { type CARD_TYPE } from '../../monthly-report-types';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport Separator from '../../../../../ui/separator/separator';\n\nconst Activities: FC<IActivitiesProps> = ({ activities, onPuzzleClick }) => {\n if (!activities || Object.keys(activities).length === 0) return null;\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\" $color=\"BLACK_1\">\n Activities\n </Text>\n <Separator heightX={1} />\n <FlexView $flexRowGapX={1.5}>\n {Object.entries(activities).map(([cardType, activitiesList]) => {\n if (!activitiesList?.length) return null;\n\n return (\n <ActivitiesCard\n key={cardType}\n nodeType={activitiesList[0]?.node_type as TNodeTypes}\n cardType={cardType as CARD_TYPE}\n activitiesList={activitiesList}\n onPuzzleClick={onPuzzleClick}\n />\n );\n })}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(Activities);\n"],"names":["Activities","activities","onPuzzleClick","FlexView","jsx","Text","Separator","cardType","activitiesList","ActivitiesCard","_a","Activities$1","memo"],"mappings":";;;;;;AAUA,MAAMA,IAAmC,CAAC,EAAE,YAAAC,GAAY,eAAAC,QAClD,CAACD,KAAc,OAAO,KAAKA,CAAU,EAAE,WAAW,IAAU,yBAG7DE,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,YAAW,QAAO,WAAU,UAE5C,cAAA;AAAA,EACA,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACtB,gBAAAF,EAAAD,GAAA,EAAS,cAAc,KACrB,UAAO,OAAA,QAAQF,CAAU,EAAE,IAAI,CAAC,CAACM,GAAUC,CAAc,MAAM;;AAC1D,WAACA,KAAA,QAAAA,EAAgB,SAGnB,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QAEC,WAAUC,IAAAF,EAAe,CAAC,MAAhB,gBAAAE,EAAmB;AAAA,QAC7B,UAAAH;AAAA,QACA,gBAAAC;AAAA,QACA,eAAAN;AAAA,MAAA;AAAA,MAJKK;AAAA,IAAA,IAJ2B;AAAA,EAWrC,CAAA,GACH;AACF,EAAA,CAAA,GAIWI,IAAAC,EAAKZ,CAAU;"}
1
+ {"version":3,"file":"activities.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport { type IActivitiesProps } from './activities-types';\nimport { type TNodeTypes } from '../../../../../chapters-v2/comps/node-card/node-card-types';\nimport ActivitiesCard from './activities-card/activities-card';\nimport { type CARD_TYPE } from '../../monthly-report-types';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport Separator from '../../../../../ui/separator/separator';\n\nconst Activities: FC<IActivitiesProps> = ({ activities, onPuzzleClick }) => {\n if (!activities || Object.keys(activities).length === 0) return null;\n\n return (\n <FlexView>\n <Text $renderAs=\"ab1-bold\" $color=\"BLACK_1\">\n Activities\n </Text>\n <Separator heightX={1} />\n <FlexView $flexRowGapX={1.5}>\n {Object.entries(activities).map(([cardType, activitiesList], index) => {\n if (!activitiesList?.length) return null;\n\n return (\n <ActivitiesCard\n key={`${cardType}-${index}`}\n nodeType={activitiesList[0]?.node_type as TNodeTypes}\n cardType={cardType as CARD_TYPE}\n activitiesList={activitiesList}\n onPuzzleClick={onPuzzleClick}\n />\n );\n })}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(Activities);\n"],"names":["Activities","activities","onPuzzleClick","FlexView","jsx","Text","Separator","cardType","activitiesList","index","ActivitiesCard","_a","Activities$1","memo"],"mappings":";;;;;;AAUA,MAAMA,IAAmC,CAAC,EAAE,YAAAC,GAAY,eAAAC,QAClD,CAACD,KAAc,OAAO,KAAKA,CAAU,EAAE,WAAW,IAAU,yBAG7DE,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,YAAW,QAAO,WAAU,UAE5C,cAAA;AAAA,EACA,gBAAAD,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,EACtB,gBAAAF,EAAAD,GAAA,EAAS,cAAc,KACrB,iBAAO,QAAQF,CAAU,EAAE,IAAI,CAAC,CAACM,GAAUC,CAAc,GAAGC,MAAU;;AACjE,WAACD,KAAA,QAAAA,EAAgB,SAGnB,gBAAAJ;AAAA,MAACM;AAAA,MAAA;AAAA,QAEC,WAAUC,IAAAH,EAAe,CAAC,MAAhB,gBAAAG,EAAmB;AAAA,QAC7B,UAAAJ;AAAA,QACA,gBAAAC;AAAA,QACA,eAAAN;AAAA,MAAA;AAAA,MAJK,GAAGK,CAAQ,IAAIE,CAAK;AAAA,IAAA,IAJO;AAAA,EAWrC,CAAA,GACH;AACF,EAAA,CAAA,GAIWG,IAAAC,EAAKb,CAAU;"}
@@ -6,7 +6,7 @@ import _ from "../../../../../../assets/line-icons/icons/exclamation.js";
6
6
  import { NODE_STATE as c } from "../../../../daily-timeline/daily-timeline-types.js";
7
7
  import { ILLUSTRATIONS as E } from "../../../../../../assets/illustrations/illustrations.js";
8
8
  import { CARD_TYPE as o } from "../../monthly-report-types.js";
9
- function R(a) {
9
+ function N(a) {
10
10
  switch (a) {
11
11
  case o.learn:
12
12
  return {
@@ -74,12 +74,6 @@ function R(a) {
74
74
  color: "GREEN_2",
75
75
  background: E.NODE_VIDEO_BG
76
76
  };
77
- case o.pdf:
78
- return {
79
- lottie: r.DOWNLOAD,
80
- color: "BLUE_2",
81
- background: E.NODE_DOWNLOAD_BG
82
- };
83
77
  default:
84
78
  return {
85
79
  lottie: r.PROJECT,
@@ -88,7 +82,7 @@ function R(a) {
88
82
  };
89
83
  }
90
84
  }
91
- const A = {
85
+ const G = {
92
86
  [c.COMPLETED]: /* @__PURE__ */ t(e, { color: "WHITE" }),
93
87
  [c.IN_PROGRESS]: /* @__PURE__ */ t(T, { color: "WHITE" }),
94
88
  [c.PENDING]: /* @__PURE__ */ t(_, { color: "WHITE" }),
@@ -96,7 +90,7 @@ const A = {
96
90
  [c.WAIT_FOR_REVIEW]: /* @__PURE__ */ t(e, { color: "WHITE" })
97
91
  };
98
92
  export {
99
- R as getCardTypeIconMap,
100
- A as stateIcon
93
+ N as getCardTypeIconMap,
94
+ G as stateIcon
101
95
  };
102
96
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.tsx"],"sourcesContent":["import { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport Check2Icon from '../../../../../../assets/line-icons/icons/check2';\nimport StatusIcon from '../../../../../../assets/line-icons/icons/status';\nimport ExclamationIcon from '../../../../../../assets/line-icons/icons/exclamation';\nimport { NODE_STATE } from '../../../../daily-timeline/daily-timeline-types';\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport { CARD_TYPE } from '../../monthly-report-types';\n\nexport function getCardTypeIconMap(cardType: CARD_TYPE) {\n switch (cardType) {\n case CARD_TYPE.learn:\n return {\n lottie: LOTTIE.LEARN,\n color: 'YELLOW_2',\n background: ILLUSTRATIONS.NODE_LEARN_LARGE_BG,\n };\n case CARD_TYPE.practice:\n case CARD_TYPE.smart_practice:\n case CARD_TYPE.sat_mock_test:\n return {\n lottie: LOTTIE.PRACTICE,\n color: 'PURPLE_2',\n background: ILLUSTRATIONS.NODE_PRACTICE_BG,\n };\n case CARD_TYPE.puzzle:\n return {\n lottie: LOTTIE.PUZZLE,\n color: 'PURPLE_2',\n background: ILLUSTRATIONS.NODE_PUZZLE_LARGE_BG,\n };\n case CARD_TYPE.test:\n case CARD_TYPE.diagnostic:\n return {\n lottie: LOTTIE.TEST,\n color: 'ORANGE_2',\n background: ILLUSTRATIONS.NODE_TEST_LARGE_BG,\n };\n case CARD_TYPE.challenge:\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n color: 'ORANGE_2',\n background: ILLUSTRATIONS.NODE_TEST_PREP_BG,\n };\n case CARD_TYPE.advanced:\n return {\n lottie: LOTTIE.TEST,\n color: 'GREEN_2',\n background: ILLUSTRATIONS.NODE_TEST_LARGE_BG,\n };\n case CARD_TYPE.subjective:\n return {\n lottie: LOTTIE.SUBJECTIVE,\n color: 'BLUE_2',\n background: ILLUSTRATIONS.NODE_SUBJECTIVE_BG,\n };\n case CARD_TYPE.recap:\n case CARD_TYPE.remedial:\n case CARD_TYPE.revision:\n return {\n lottie: LOTTIE.RECAP,\n color: 'BLUE_2',\n background: ILLUSTRATIONS.NODE_RECAP_BG,\n };\n\n case CARD_TYPE.activity:\n case CARD_TYPE.wb_activity:\n return {\n lottie: LOTTIE.ACTIVITY,\n color: 'ORANGE_2',\n background: ILLUSTRATIONS.NODE_ACTIVITY_BG,\n };\n\n case CARD_TYPE.video:\n return {\n lottie: LOTTIE.VIDEO,\n color: 'GREEN_2',\n background: ILLUSTRATIONS.NODE_VIDEO_BG,\n };\n\n case CARD_TYPE.pdf:\n return {\n lottie: LOTTIE.DOWNLOAD,\n color: 'BLUE_2',\n background: ILLUSTRATIONS.NODE_DOWNLOAD_BG,\n };\n\n default:\n return {\n lottie: LOTTIE.PROJECT,\n color: 'GREEN_2',\n background: ILLUSTRATIONS.NODE_PROJECT_BG,\n };\n }\n}\n\nexport const stateIcon = {\n [NODE_STATE.COMPLETED]: <Check2Icon color=\"WHITE\" />,\n [NODE_STATE.IN_PROGRESS]: <StatusIcon color=\"WHITE\" />,\n [NODE_STATE.PENDING]: <ExclamationIcon color=\"WHITE\" />,\n [NODE_STATE.NOT_STARTED]: <ExclamationIcon color=\"WHITE\" />,\n [NODE_STATE.WAIT_FOR_REVIEW]: <Check2Icon color=\"WHITE\" />,\n};\n"],"names":["getCardTypeIconMap","cardType","CARD_TYPE","LOTTIE","ILLUSTRATIONS","stateIcon","NODE_STATE","jsx","Check2Icon","StatusIcon","ExclamationIcon"],"mappings":";;;;;;;;AAQO,SAASA,EAAmBC,GAAqB;AACtD,UAAQA,GAAU;AAAA,IAChB,KAAKC,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAG9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAG9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAG9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAG9B;AACS,aAAA;AAAA,QACL,QAAQD,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,EAEhC;AACF;AAEO,MAAMC,IAAY;AAAA,EACvB,CAACC,EAAW,SAAS,GAAI,gBAAAC,EAAAC,GAAA,EAAW,OAAM,SAAQ;AAAA,EAClD,CAACF,EAAW,WAAW,GAAI,gBAAAC,EAAAE,GAAA,EAAW,OAAM,SAAQ;AAAA,EACpD,CAACH,EAAW,OAAO,GAAI,gBAAAC,EAAAG,GAAA,EAAgB,OAAM,SAAQ;AAAA,EACrD,CAACJ,EAAW,WAAW,GAAI,gBAAAC,EAAAG,GAAA,EAAgB,OAAM,SAAQ;AAAA,EACzD,CAACJ,EAAW,eAAe,GAAI,gBAAAC,EAAAC,GAAA,EAAW,OAAM,SAAQ;AAC1D;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.tsx"],"sourcesContent":["import { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport Check2Icon from '../../../../../../assets/line-icons/icons/check2';\nimport StatusIcon from '../../../../../../assets/line-icons/icons/status';\nimport ExclamationIcon from '../../../../../../assets/line-icons/icons/exclamation';\nimport { NODE_STATE } from '../../../../daily-timeline/daily-timeline-types';\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport { CARD_TYPE } from '../../monthly-report-types';\n\nexport function getCardTypeIconMap(cardType: CARD_TYPE) {\n switch (cardType) {\n case CARD_TYPE.learn:\n return {\n lottie: LOTTIE.LEARN,\n color: 'YELLOW_2',\n background: ILLUSTRATIONS.NODE_LEARN_LARGE_BG,\n };\n case CARD_TYPE.practice:\n case CARD_TYPE.smart_practice:\n case CARD_TYPE.sat_mock_test:\n return {\n lottie: LOTTIE.PRACTICE,\n color: 'PURPLE_2',\n background: ILLUSTRATIONS.NODE_PRACTICE_BG,\n };\n case CARD_TYPE.puzzle:\n return {\n lottie: LOTTIE.PUZZLE,\n color: 'PURPLE_2',\n background: ILLUSTRATIONS.NODE_PUZZLE_LARGE_BG,\n };\n case CARD_TYPE.test:\n case CARD_TYPE.diagnostic:\n return {\n lottie: LOTTIE.TEST,\n color: 'ORANGE_2',\n background: ILLUSTRATIONS.NODE_TEST_LARGE_BG,\n };\n case CARD_TYPE.challenge:\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n color: 'ORANGE_2',\n background: ILLUSTRATIONS.NODE_TEST_PREP_BG,\n };\n case CARD_TYPE.advanced:\n return {\n lottie: LOTTIE.TEST,\n color: 'GREEN_2',\n background: ILLUSTRATIONS.NODE_TEST_LARGE_BG,\n };\n case CARD_TYPE.subjective:\n return {\n lottie: LOTTIE.SUBJECTIVE,\n color: 'BLUE_2',\n background: ILLUSTRATIONS.NODE_SUBJECTIVE_BG,\n };\n case CARD_TYPE.recap:\n case CARD_TYPE.remedial:\n case CARD_TYPE.revision:\n return {\n lottie: LOTTIE.RECAP,\n color: 'BLUE_2',\n background: ILLUSTRATIONS.NODE_RECAP_BG,\n };\n\n case CARD_TYPE.activity:\n case CARD_TYPE.wb_activity:\n return {\n lottie: LOTTIE.ACTIVITY,\n color: 'ORANGE_2',\n background: ILLUSTRATIONS.NODE_ACTIVITY_BG,\n };\n\n case CARD_TYPE.video:\n return {\n lottie: LOTTIE.VIDEO,\n color: 'GREEN_2',\n background: ILLUSTRATIONS.NODE_VIDEO_BG,\n };\n\n default:\n return {\n lottie: LOTTIE.PROJECT,\n color: 'GREEN_2',\n background: ILLUSTRATIONS.NODE_PROJECT_BG,\n };\n }\n}\n\nexport const stateIcon = {\n [NODE_STATE.COMPLETED]: <Check2Icon color=\"WHITE\" />,\n [NODE_STATE.IN_PROGRESS]: <StatusIcon color=\"WHITE\" />,\n [NODE_STATE.PENDING]: <ExclamationIcon color=\"WHITE\" />,\n [NODE_STATE.NOT_STARTED]: <ExclamationIcon color=\"WHITE\" />,\n [NODE_STATE.WAIT_FOR_REVIEW]: <Check2Icon color=\"WHITE\" />,\n};\n"],"names":["getCardTypeIconMap","cardType","CARD_TYPE","LOTTIE","ILLUSTRATIONS","stateIcon","NODE_STATE","jsx","Check2Icon","StatusIcon","ExclamationIcon"],"mappings":";;;;;;;;AAQO,SAASA,EAAmBC,GAAqB;AACtD,UAAQA,GAAU;AAAA,IAChB,KAAKC,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAE9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAG9B,KAAKF,EAAU;AAAA,IACf,KAAKA,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAG9B,KAAKF,EAAU;AACN,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,IAG9B;AACS,aAAA;AAAA,QACL,QAAQD,EAAO;AAAA,QACf,OAAO;AAAA,QACP,YAAYC,EAAc;AAAA,MAAA;AAAA,EAEhC;AACF;AAEO,MAAMC,IAAY;AAAA,EACvB,CAACC,EAAW,SAAS,GAAI,gBAAAC,EAAAC,GAAA,EAAW,OAAM,SAAQ;AAAA,EAClD,CAACF,EAAW,WAAW,GAAI,gBAAAC,EAAAE,GAAA,EAAW,OAAM,SAAQ;AAAA,EACpD,CAACH,EAAW,OAAO,GAAI,gBAAAC,EAAAG,GAAA,EAAgB,OAAM,SAAQ;AAAA,EACrD,CAACJ,EAAW,WAAW,GAAI,gBAAAC,EAAAG,GAAA,EAAgB,OAAM,SAAQ;AAAA,EACzD,CAACJ,EAAW,eAAe,GAAI,gBAAAC,EAAAC,GAAA,EAAW,OAAM,SAAQ;AAC1D;"}
@@ -1,9 +1,15 @@
1
- import { NODE_STATE as o } from "../../../../daily-timeline/daily-timeline-types.js";
2
- const E = (i) => i.reduce(
3
- (t, { state: e }) => (e === o.COMPLETED || e === o.WAIT_FOR_REVIEW ? t.totalDone++ : e === o.IN_PROGRESS ? t.totalPending++ : (e === o.PENDING || e === o.NOT_STARTED) && t.totalOverdue++, t),
4
- { totalDone: 0, totalPending: 0, totalOverdue: 0 }
5
- );
1
+ import { NODE_STATE as e } from "../../../../daily-timeline/daily-timeline-types.js";
2
+ const T = (n) => {
3
+ const o = n.filter(
4
+ (t) => t.state === e.COMPLETED || t.state === e.WAIT_FOR_REVIEW
5
+ ).length, l = n.filter(
6
+ (t) => t.state === e.IN_PROGRESS
7
+ ).length, r = n.filter(
8
+ (t) => t.state === e.PENDING || t.state === e.NOT_STARTED
9
+ ).length;
10
+ return { totalDone: o, totalPending: l, totalOverdue: r };
11
+ };
6
12
  export {
7
- E as countActivitiesByState
13
+ T as countActivitiesByState
8
14
  };
9
15
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.ts"],"sourcesContent":["import { type IMonthlyActivity } from '../../monthly-report-types';\nimport { NODE_STATE } from '../../../../daily-timeline/daily-timeline-types';\n\nexport const countActivitiesByState = (activitiesList: IMonthlyActivity[]) =>\n activitiesList.reduce(\n (acc, { state }) => {\n if (state === NODE_STATE.COMPLETED || state === NODE_STATE.WAIT_FOR_REVIEW) {\n acc.totalDone++;\n } else if (state === NODE_STATE.IN_PROGRESS) {\n acc.totalPending++;\n } else if (state === NODE_STATE.PENDING || state === NODE_STATE.NOT_STARTED) {\n acc.totalOverdue++;\n }\n\n return acc;\n },\n { totalDone: 0, totalPending: 0, totalOverdue: 0 },\n );\n"],"names":["countActivitiesByState","activitiesList","acc","state","NODE_STATE"],"mappings":";AAGa,MAAAA,IAAyB,CAACC,MACrCA,EAAe;AAAA,EACb,CAACC,GAAK,EAAE,OAAAC,SACFA,MAAUC,EAAW,aAAaD,MAAUC,EAAW,kBACrDF,EAAA,cACKC,MAAUC,EAAW,cAC1BF,EAAA,kBACKC,MAAUC,EAAW,WAAWD,MAAUC,EAAW,gBAC1DF,EAAA,gBAGCA;AAAA,EAET,EAAE,WAAW,GAAG,cAAc,GAAG,cAAc,EAAE;AACnD;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.ts"],"sourcesContent":["import { type IMonthlyActivity } from '../../monthly-report-types';\nimport { NODE_STATE } from '../../../../daily-timeline/daily-timeline-types';\n\nexport const countActivitiesByState = (activitiesList: IMonthlyActivity[]) => {\n const totalDone = activitiesList.filter(\n activity =>\n activity.state === NODE_STATE.COMPLETED || activity.state === NODE_STATE.WAIT_FOR_REVIEW,\n ).length;\n const totalPending = activitiesList.filter(\n activity => activity.state === NODE_STATE.IN_PROGRESS,\n ).length;\n const totalOverdue = activitiesList.filter(\n activity => activity.state === NODE_STATE.PENDING || activity.state === NODE_STATE.NOT_STARTED,\n ).length;\n\n return { totalDone, totalPending, totalOverdue };\n};\n"],"names":["countActivitiesByState","activitiesList","totalDone","activity","NODE_STATE","totalPending","totalOverdue"],"mappings":";AAGa,MAAAA,IAAyB,CAACC,MAAuC;AAC5E,QAAMC,IAAYD,EAAe;AAAA,IAC/B,OACEE,EAAS,UAAUC,EAAW,aAAaD,EAAS,UAAUC,EAAW;AAAA,EAC3E,EAAA,QACIC,IAAeJ,EAAe;AAAA,IAClC,CAAAE,MAAYA,EAAS,UAAUC,EAAW;AAAA,EAC1C,EAAA,QACIE,IAAeL,EAAe;AAAA,IAClC,OAAYE,EAAS,UAAUC,EAAW,WAAWD,EAAS,UAAUC,EAAW;AAAA,EACnF,EAAA;AAEK,SAAA,EAAE,WAAAF,GAAW,cAAAG,GAAc,cAAAC;AACpC;"}
@@ -1,85 +1,100 @@
1
- import { jsxs as h, jsx as t } from "react/jsx-runtime";
2
- import { memo as b, useCallback as c } from "react";
3
- import l from "../../../../../ui/layout/flex-view.js";
4
- import { ILLUSTRATIONS as $ } from "../../../../../../assets/illustrations/illustrations.js";
5
- import f from "../../../../../ui/image/image.js";
6
- import { invalidateMonthlyReport as P, monthlyReportPatch as u } from "../../api/use-monthly-report-api.js";
7
- import C from "../../../../../ui/separator/separator.js";
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { memo as R, useCallback as l } from "react";
3
+ import c from "../../../../../ui/layout/flex-view.js";
4
+ import { ILLUSTRATIONS as g } from "../../../../../../assets/illustrations/illustrations.js";
5
+ import $ from "../../../../../ui/image/image.js";
6
+ import { invalidateMonthlyReport as P, useMonthlyReportPatch as k } from "../../api/use-monthly-report-get.js";
7
+ import f from "../../../../../ui/separator/separator.js";
8
8
  import A from "../../../../../ui/text/text.js";
9
- import { FeedbackContainer as R } from "./feedback-styled.js";
10
- import { useUIContext as X } from "../../../../../ui/context/context.js";
11
- import { MONTHLY_REPORT_ANALYTICS_EVENTS as p } from "../../monthly-report-events.js";
12
- const k = ({
13
- reportId: e,
14
- studentName: d,
15
- onFeedback: m,
9
+ import C from "../../../../../ui/buttons/clickable/clickable.js";
10
+ import { FeedbackContainer as X } from "./feedback-styled.js";
11
+ import { useUIContext as y } from "../../../../../ui/context/context.js";
12
+ import { MONTHLY_REPORT_ANALYTICS_EVENTS as b } from "../../monthly-report-events.js";
13
+ const L = ({
14
+ reportId: t,
15
+ studentName: E,
16
+ onFeedback: s,
16
17
  studentCourseId: a,
17
- showSnackbar: s
18
+ showSnackbar: h
18
19
  }) => {
19
- const E = c(
20
+ const _ = l(
20
21
  (r, n) => {
21
- r && s && s({
22
+ r && h && h({
22
23
  type: "error",
23
24
  message: "Something went wrong. Please try again.",
24
25
  bgColor: "red"
25
- }), !r && m && (n != null && n.feedback) && (P(e), m(n.feedback, a));
26
+ }), !r && s && (n != null && n.feedback) && (P(t), s(n.feedback, a));
26
27
  },
27
- [m, e, s, a]
28
- ), { onEvent: o } = X(), { patch: g, isProcessing: y } = u({
29
- onComplete: E
30
- }), i = c(
28
+ [s, t, h, a]
29
+ ), { onEvent: i } = y(), { patch: d, isProcessing: p } = k({
30
+ onComplete: _
31
+ }), o = l(
31
32
  (r) => {
32
- g(e, { feedback: r });
33
+ d(t, { feedback: r });
33
34
  },
34
- [e, g]
35
- ), _ = c(() => {
36
- o(p.REPORT_POSITIVE_FEEDBACK_CLICKED, {
37
- report_id: e
38
- }), i("positive");
39
- }, [i, e, o]), T = c(() => {
40
- o(p.REPORT_NEGATIVE_FEEDBACK_CLICKED, {
41
- report_id: e
42
- }), i("negative");
43
- }, [i, e, o]);
44
- return /* @__PURE__ */ h(R, { $gapX: 1.25, $background: "WHITE_3", children: [
45
- /* @__PURE__ */ t(l, { $gutterX: 1, children: /* @__PURE__ */ h(A, { $renderAs: "ab2-black", $color: "BLACK_1", $align: "center", children: [
35
+ [t, d]
36
+ ), u = l(() => {
37
+ i(b.REPORT_POSITIVE_FEEDBACK_CLICKED, {
38
+ report_id: t
39
+ }), o("positive");
40
+ }, [o, t, i]), T = l(() => {
41
+ i(b.REPORT_NEGATIVE_FEEDBACK_CLICKED, {
42
+ report_id: t
43
+ }), o("negative");
44
+ }, [o, t, i]);
45
+ return /* @__PURE__ */ m(X, { $gapX: 1.25, $background: "WHITE_3", children: [
46
+ /* @__PURE__ */ e(c, { $gutterX: 1, children: /* @__PURE__ */ m(A, { $renderAs: "ab2-black", $color: "BLACK_1", $align: "center", children: [
46
47
  "Are you happy with ",
47
- d ?? "her",
48
+ E ?? "her",
48
49
  " progress?"
49
50
  ] }) }),
50
- /* @__PURE__ */ t(C, { heightX: 1.5 }),
51
- /* @__PURE__ */ h(l, { $flexDirection: "row", $flexGapX: 3, $alignItems: "center", $justifyContent: "center", children: [
52
- /* @__PURE__ */ t(
53
- l,
51
+ /* @__PURE__ */ e(f, { heightX: 1.5 }),
52
+ /* @__PURE__ */ m(c, { $flexDirection: "row", $flexGapX: 3, $alignItems: "center", $justifyContent: "center", children: [
53
+ /* @__PURE__ */ e(
54
+ C,
54
55
  {
55
- $widthX: 5,
56
- $heightX: 5,
57
- $alignItems: "center",
58
- $justifyContent: "center",
59
- $borderRadiusX: 2.5,
60
- $borderColor: "BLACK_5",
61
- onClick: _,
62
- children: /* @__PURE__ */ t(f, { src: $.THUMPS_UP, alt: "UP", width: 32, height: 32 })
56
+ label: "Report thumps up",
57
+ disabled: p,
58
+ onClick: u,
59
+ children: /* @__PURE__ */ e(
60
+ c,
61
+ {
62
+ $widthX: 5,
63
+ $heightX: 5,
64
+ $alignItems: "center",
65
+ $justifyContent: "center",
66
+ $borderRadiusX: 2.5,
67
+ $borderColor: "BLACK_5",
68
+ children: /* @__PURE__ */ e($, { src: g.THUMPS_UP, alt: "UP", width: 32, height: 32 })
69
+ }
70
+ )
63
71
  }
64
72
  ),
65
- /* @__PURE__ */ t(
66
- l,
73
+ /* @__PURE__ */ e(
74
+ C,
67
75
  {
68
- $widthX: 5,
69
- $heightX: 5,
70
- $alignItems: "center",
71
- $justifyContent: "center",
72
- $borderColor: "BLACK_5",
73
- $borderRadiusX: 2.5,
76
+ label: "Report thumps down",
77
+ disabled: p,
74
78
  onClick: T,
75
- children: /* @__PURE__ */ t(f, { src: $.THUMPS_DOWN, alt: "DOWN", width: 32, height: 32 })
79
+ children: /* @__PURE__ */ e(
80
+ c,
81
+ {
82
+ $widthX: 5,
83
+ $heightX: 5,
84
+ $alignItems: "center",
85
+ $justifyContent: "center",
86
+ $borderColor: "BLACK_5",
87
+ $borderRadiusX: 2.5,
88
+ children: /* @__PURE__ */ e($, { src: g.THUMPS_DOWN, alt: "DOWN", width: 32, height: 32 })
89
+ }
90
+ )
76
91
  }
77
92
  )
78
93
  ] }),
79
- /* @__PURE__ */ t(C, { heightX: 1.5 })
94
+ /* @__PURE__ */ e(f, { heightX: 1.5 })
80
95
  ] });
81
- }, U = b(k);
96
+ }, j = R(L);
82
97
  export {
83
- U as default
98
+ j as default
84
99
  };
85
100
  //# sourceMappingURL=feedback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.tsx"],"sourcesContent":["import { memo, useCallback } from 'react';\n\nimport type { IMonthlyReportResponse, TFeedback } from '../../monthly-report-types';\nimport type { IFeedbackTypesProps } from './feedback-types';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport Image from '../../../../../ui/image/image';\nimport { invalidateMonthlyReport, monthlyReportPatch } from '../../api/use-monthly-report-api';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport Clickable from '../../../../../ui/buttons/clickable/clickable';\nimport * as Styled from './feedback-styled';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport { MONTHLY_REPORT_ANALYTICS_EVENTS } from '../../monthly-report-events';\n\nconst Feedback = ({\n reportId,\n studentName,\n onFeedback,\n studentCourseId,\n showSnackbar,\n}: IFeedbackTypesProps) => {\n const onComplete = useCallback(\n (err: string | null, data?: IMonthlyReportResponse) => {\n if (err && showSnackbar) {\n showSnackbar({\n type: 'error',\n message: 'Something went wrong. Please try again.',\n bgColor: 'red',\n });\n }\n\n if (!err && onFeedback && data?.feedback) {\n invalidateMonthlyReport(reportId);\n onFeedback(data.feedback, studentCourseId);\n }\n },\n [onFeedback, reportId, showSnackbar, studentCourseId],\n );\n const { onEvent: trackEvent } = useUIContext();\n\n const { patch: updateMilestone, isProcessing } = monthlyReportPatch({\n onComplete,\n });\n\n const handleFeedback = useCallback(\n (feedback: TFeedback) => {\n updateMilestone(reportId, { feedback });\n },\n [reportId, updateMilestone],\n );\n\n const handlePositiveFeedback = useCallback(() => {\n trackEvent(MONTHLY_REPORT_ANALYTICS_EVENTS.REPORT_POSITIVE_FEEDBACK_CLICKED, {\n report_id: reportId,\n });\n handleFeedback('positive');\n }, [handleFeedback, reportId, trackEvent]);\n\n const handleNegativeFeedback = useCallback(() => {\n trackEvent(MONTHLY_REPORT_ANALYTICS_EVENTS.REPORT_NEGATIVE_FEEDBACK_CLICKED, {\n report_id: reportId,\n });\n handleFeedback('negative');\n }, [handleFeedback, reportId, trackEvent]);\n\n return (\n <Styled.FeedbackContainer $gapX={1.25} $background=\"WHITE_3\">\n <FlexView $gutterX={1}>\n <Text $renderAs=\"ab2-black\" $color=\"BLACK_1\" $align=\"center\">\n Are you happy with {studentName ?? 'her'} progress?\n </Text>\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $flexGapX={3} $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={2.5}\n $borderColor=\"BLACK_5\"\n onClick={handlePositiveFeedback}\n >\n <Image src={ILLUSTRATIONS.THUMPS_UP} alt=\"UP\" width={32} height={32} />\n </FlexView>\n <FlexView\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderColor=\"BLACK_5\"\n $borderRadiusX={2.5}\n onClick={handleNegativeFeedback}\n >\n <Image src={ILLUSTRATIONS.THUMPS_DOWN} alt=\"DOWN\" width={32} height={32} />\n </FlexView>\n </FlexView>\n <Separator heightX={1.5} />\n </Styled.FeedbackContainer>\n );\n};\n\nexport default memo(Feedback);\n"],"names":["Feedback","reportId","studentName","onFeedback","studentCourseId","showSnackbar","onComplete","useCallback","err","data","invalidateMonthlyReport","trackEvent","useUIContext","updateMilestone","isProcessing","monthlyReportPatch","handleFeedback","feedback","handlePositiveFeedback","MONTHLY_REPORT_ANALYTICS_EVENTS","handleNegativeFeedback","Styled.FeedbackContainer","jsx","FlexView","jsxs","Text","Separator","Image","ILLUSTRATIONS","Feedback$1","memo"],"mappings":";;;;;;;;;;;AAeA,MAAMA,IAAW,CAAC;AAAA,EAChB,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,cAAAC;AACF,MAA2B;AACzB,QAAMC,IAAaC;AAAA,IACjB,CAACC,GAAoBC,MAAkC;AACrD,MAAID,KAAOH,KACIA,EAAA;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,MAAA,CACV,GAGC,CAACG,KAAOL,MAAcM,KAAA,QAAAA,EAAM,cAC9BC,EAAwBT,CAAQ,GACrBE,EAAAM,EAAK,UAAUL,CAAe;AAAA,IAE7C;AAAA,IACA,CAACD,GAAYF,GAAUI,GAAcD,CAAe;AAAA,EAAA,GAEhD,EAAE,SAASO,EAAW,IAAIC,EAAa,GAEvC,EAAE,OAAOC,GAAiB,cAAAC,EAAA,IAAiBC,EAAmB;AAAA,IAClE,YAAAT;AAAA,EAAA,CACD,GAEKU,IAAiBT;AAAA,IACrB,CAACU,MAAwB;AACP,MAAAJ,EAAAZ,GAAU,EAAE,UAAAgB,EAAA,CAAU;AAAA,IACxC;AAAA,IACA,CAAChB,GAAUY,CAAe;AAAA,EAAA,GAGtBK,IAAyBX,EAAY,MAAM;AAC/C,IAAAI,EAAWQ,EAAgC,kCAAkC;AAAA,MAC3E,WAAWlB;AAAA,IAAA,CACZ,GACDe,EAAe,UAAU;AAAA,EACxB,GAAA,CAACA,GAAgBf,GAAUU,CAAU,CAAC,GAEnCS,IAAyBb,EAAY,MAAM;AAC/C,IAAAI,EAAWQ,EAAgC,kCAAkC;AAAA,MAC3E,WAAWlB;AAAA,IAAA,CACZ,GACDe,EAAe,UAAU;AAAA,EACxB,GAAA,CAACA,GAAgBf,GAAUU,CAAU,CAAC;AAEzC,2BACGU,GAAA,EAAyB,OAAO,MAAM,aAAY,WACjD,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAS,UAAU,GAClB,UAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,aAAY,QAAO,WAAU,QAAO,UAAS,UAAA;AAAA,MAAA;AAAA,MACvCvB,KAAe;AAAA,MAAM;AAAA,IAAA,EAAA,CAC3C,EACF,CAAA;AAAA,IACA,gBAAAoB,EAACI,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACzB,gBAAAF,EAACD,KAAS,gBAAe,OAAM,WAAW,GAAG,aAAY,UAAS,iBAAgB,UAChF,UAAA;AAAA,MAAA,gBAAAD;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,gBAAgB;AAAA,UAChB,cAAa;AAAA,UACb,SAASL;AAAA,UAET,UAAA,gBAAAI,EAACK,GAAM,EAAA,KAAKC,EAAc,WAAW,KAAI,MAAK,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,QAAA;AAAA,MACvE;AAAA,MACA,gBAAAN;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,cAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,SAASH;AAAA,UAET,UAAA,gBAAAE,EAACK,GAAM,EAAA,KAAKC,EAAc,aAAa,KAAI,QAAO,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,QAAA;AAAA,MAC3E;AAAA,IAAA,GACF;AAAA,IACA,gBAAAN,EAACI,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,EAC3B,EAAA,CAAA;AAEJ,GAEeG,IAAAC,EAAK9B,CAAQ;"}
1
+ {"version":3,"file":"feedback.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.tsx"],"sourcesContent":["import { memo, useCallback } from 'react';\n\nimport type { IMonthlyReportResponse, TFeedback } from '../../monthly-report-types';\nimport type { IFeedbackTypesProps } from './feedback-types';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport Image from '../../../../../ui/image/image';\nimport { invalidateMonthlyReport, useMonthlyReportPatch } from '../../api/use-monthly-report-get';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport Clickable from '../../../../../ui/buttons/clickable/clickable';\nimport * as Styled from './feedback-styled';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport { MONTHLY_REPORT_ANALYTICS_EVENTS } from '../../monthly-report-events';\n\nconst Feedback = ({\n reportId,\n studentName,\n onFeedback,\n studentCourseId,\n showSnackbar,\n}: IFeedbackTypesProps) => {\n const onComplete = useCallback(\n (err: string | null, data?: IMonthlyReportResponse) => {\n if (err && showSnackbar) {\n showSnackbar({\n type: 'error',\n message: 'Something went wrong. Please try again.',\n bgColor: 'red',\n });\n }\n\n if (!err && onFeedback && data?.feedback) {\n invalidateMonthlyReport(reportId);\n onFeedback(data.feedback, studentCourseId);\n }\n },\n [onFeedback, reportId, showSnackbar, studentCourseId],\n );\n const { onEvent: trackEvent } = useUIContext();\n\n const { patch: updateMilestone, isProcessing } = useMonthlyReportPatch({\n onComplete,\n });\n\n const handleFeedback = useCallback(\n (feedback: TFeedback) => {\n updateMilestone(reportId, { feedback });\n },\n [reportId, updateMilestone],\n );\n\n const handlePositiveFeedback = useCallback(() => {\n trackEvent(MONTHLY_REPORT_ANALYTICS_EVENTS.REPORT_POSITIVE_FEEDBACK_CLICKED, {\n report_id: reportId,\n });\n handleFeedback('positive');\n }, [handleFeedback, reportId, trackEvent]);\n\n const handleNegativeFeedback = useCallback(() => {\n trackEvent(MONTHLY_REPORT_ANALYTICS_EVENTS.REPORT_NEGATIVE_FEEDBACK_CLICKED, {\n report_id: reportId,\n });\n handleFeedback('negative');\n }, [handleFeedback, reportId, trackEvent]);\n\n return (\n <Styled.FeedbackContainer $gapX={1.25} $background=\"WHITE_3\">\n <FlexView $gutterX={1}>\n <Text $renderAs=\"ab2-black\" $color=\"BLACK_1\" $align=\"center\">\n Are you happy with {studentName ?? 'her'} progress?\n </Text>\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $flexGapX={3} $alignItems=\"center\" $justifyContent=\"center\">\n <Clickable\n label=\"Report thumps up\"\n disabled={isProcessing}\n onClick={handlePositiveFeedback}\n >\n <FlexView\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={2.5}\n $borderColor=\"BLACK_5\"\n >\n <Image src={ILLUSTRATIONS.THUMPS_UP} alt=\"UP\" width={32} height={32} />\n </FlexView>\n </Clickable>\n <Clickable\n label=\"Report thumps down\"\n disabled={isProcessing}\n onClick={handleNegativeFeedback}\n >\n <FlexView\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderColor=\"BLACK_5\"\n $borderRadiusX={2.5}\n >\n <Image src={ILLUSTRATIONS.THUMPS_DOWN} alt=\"DOWN\" width={32} height={32} />\n </FlexView>\n </Clickable>\n </FlexView>\n <Separator heightX={1.5} />\n </Styled.FeedbackContainer>\n );\n};\n\nexport default memo(Feedback);\n"],"names":["Feedback","reportId","studentName","onFeedback","studentCourseId","showSnackbar","onComplete","useCallback","err","data","invalidateMonthlyReport","trackEvent","useUIContext","updateMilestone","isProcessing","useMonthlyReportPatch","handleFeedback","feedback","handlePositiveFeedback","MONTHLY_REPORT_ANALYTICS_EVENTS","handleNegativeFeedback","Styled.FeedbackContainer","jsx","FlexView","jsxs","Text","Separator","Clickable","Image","ILLUSTRATIONS","Feedback$1","memo"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var e = /* @__PURE__ */ ((t) => (t.general = "general", t.legacy = "legacy", t.diagnostic = "diagnostic", t.remedial = "remedial", t.recap = "recap", t.learn = "learn", t.extra_practice = "extra_practice", t.practice = "practice", t.test = "test", t.revision = "revision", t.advanced = "advanced", t.challenge = "challenge", t.video = "video", t.simulation = "simulation", t.note = "note", t.subjective = "subjective", t.deck = "deck", t.puzzle = "puzzle", t.test_series = "test_series", t.activity = "activity", t.project = "project", t.certificate = "certificate", t.ppt_viva = "ppt_viva", t.ppt_content = "ppt_content", t.wb_activity = "wb_activity", t.smart_practice = "smart_practice", t.exit_ticket = "exit_ticket", t.monthly_mastery_test = "monthly_mastery_test", t.supplementary_mastery_test = "supplementary_mastery_test", t.trial_diagnostic = "trial_diagnostic", t.trial_basic = "trial_basic", t.trial_intermediate = "trial_intermediate", t.trial_advanced = "trial_advanced", t.sat_mock_test = "sat_mock_test", t.pdf = "pdf", t))(e || {});
1
+ var e = /* @__PURE__ */ ((t) => (t.general = "general", t.legacy = "legacy", t.diagnostic = "diagnostic", t.remedial = "remedial", t.recap = "recap", t.learn = "learn", t.extra_practice = "extra_practice", t.practice = "practice", t.test = "test", t.revision = "revision", t.advanced = "advanced", t.challenge = "challenge", t.video = "video", t.simulation = "simulation", t.note = "note", t.subjective = "subjective", t.deck = "deck", t.puzzle = "puzzle", t.test_series = "test_series", t.activity = "activity", t.project = "project", t.certificate = "certificate", t.ppt_viva = "ppt_viva", t.ppt_content = "ppt_content", t.wb_activity = "wb_activity", t.smart_practice = "smart_practice", t.exit_ticket = "exit_ticket", t.monthly_mastery_test = "monthly_mastery_test", t.supplementary_mastery_test = "supplementary_mastery_test", t.trial_diagnostic = "trial_diagnostic", t.trial_basic = "trial_basic", t.trial_intermediate = "trial_intermediate", t.trial_advanced = "trial_advanced", t.sat_mock_test = "sat_mock_test", t))(e || {});
2
2
  export {
3
3
  e as CARD_TYPE
4
4
  };