@cuemath/leap 4.0.3 → 4.0.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js +17 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js +62 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js +23 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js +33 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -1
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +119 -99
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/package.json +1 -1
package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import r from "styled-components";
|
|
2
|
+
import t from "../../../../../ui/layout/flex-view.js";
|
|
3
|
+
const s = r(t)`
|
|
4
|
+
width: 100%;
|
|
5
|
+
`, d = r(t)`
|
|
6
|
+
${({ theme: o, selected: i }) => `
|
|
7
|
+
width: 64px;
|
|
8
|
+
height: 64px;
|
|
9
|
+
border: 1px solid ${o.colors.BLACK_1};
|
|
10
|
+
background-color: ${i ? o.colors.BLACK_T_08 : o.colors.WHITE_1};
|
|
11
|
+
`}
|
|
12
|
+
`;
|
|
13
|
+
export {
|
|
14
|
+
s as Container,
|
|
15
|
+
d as ThumbButton
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=ptm-feedback-styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ptm-feedback-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const Container = styled(FlexView)`\n width: 100%;\n`;\n\nexport const ThumbButton = styled(FlexView)<{ selected?: boolean }>`\n ${({ theme, selected }: { theme: any; selected?: boolean }) => `\n width: 64px;\n height: 64px;\n border: 1px solid ${theme.colors.BLACK_1};\n background-color: ${selected ? theme.colors.BLACK_T_08 : theme.colors.WHITE_1};\n`}\n`;\n"],"names":["Container","styled","FlexView","ThumbButton","theme","selected"],"mappings":";;AAIa,MAAAA,IAAYC,EAAOC,CAAQ;AAAA;AAAA,GAI3BC,IAAcF,EAAOC,CAAQ;AAAA,IACtC,CAAC,EAAE,OAAAE,GAAO,UAAAC,EAAA,MAAmD;AAAA;AAAA;AAAA,sBAG3CD,EAAM,OAAO,OAAO;AAAA,sBACpBC,IAAWD,EAAM,OAAO,aAAaA,EAAM,OAAO,OAAO;AAAA,CAC9E;AAAA;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as $, useCallback as o } from "react";
|
|
3
|
+
import { ILLUSTRATIONS as n } from "../../../../../../assets/illustrations/illustrations.js";
|
|
4
|
+
import h from "../../../../../ui/layout/flex-view.js";
|
|
5
|
+
import c from "../../../../../ui/image/image.js";
|
|
6
|
+
import l from "../../../../../ui/separator/separator.js";
|
|
7
|
+
import g from "../../../../../ui/text/text.js";
|
|
8
|
+
import { Container as u, ThumbButton as a } from "./ptm-feedback-styled.js";
|
|
9
|
+
const P = $(function({
|
|
10
|
+
studentName: s,
|
|
11
|
+
onFeedback: t,
|
|
12
|
+
feedback: i
|
|
13
|
+
}) {
|
|
14
|
+
const m = o(() => {
|
|
15
|
+
t("positive");
|
|
16
|
+
}, [t]), d = o(() => {
|
|
17
|
+
t("negative");
|
|
18
|
+
}, [t]);
|
|
19
|
+
return /* @__PURE__ */ r(u, { $gapX: 1.25, $background: "WHITE_1", $gutterX: 2, children: [
|
|
20
|
+
/* @__PURE__ */ e(h, { $gutterX: 1, children: /* @__PURE__ */ r(g, { $renderAs: "ab2-black", $color: "BLACK_1", $align: "center", children: [
|
|
21
|
+
"Are you happy with ",
|
|
22
|
+
s,
|
|
23
|
+
"'s PTM?"
|
|
24
|
+
] }) }),
|
|
25
|
+
/* @__PURE__ */ e(l, { heightX: 1.5 }),
|
|
26
|
+
/* @__PURE__ */ r(h, { $flexDirection: "row", $flexGapX: 3, $alignItems: "center", $justifyContent: "center", children: [
|
|
27
|
+
/* @__PURE__ */ e(
|
|
28
|
+
a,
|
|
29
|
+
{
|
|
30
|
+
$widthX: 5,
|
|
31
|
+
$heightX: 5,
|
|
32
|
+
$alignItems: "center",
|
|
33
|
+
$justifyContent: "center",
|
|
34
|
+
$borderRadiusX: 2.5,
|
|
35
|
+
$borderColor: "BLACK_1",
|
|
36
|
+
onClick: m,
|
|
37
|
+
selected: i === "positive",
|
|
38
|
+
children: /* @__PURE__ */ e(c, { src: n.THUMPS_UP, alt: "Thumbs up", width: 32, height: 32 })
|
|
39
|
+
}
|
|
40
|
+
),
|
|
41
|
+
/* @__PURE__ */ e(
|
|
42
|
+
a,
|
|
43
|
+
{
|
|
44
|
+
$widthX: 5,
|
|
45
|
+
$heightX: 5,
|
|
46
|
+
$alignItems: "center",
|
|
47
|
+
$justifyContent: "center",
|
|
48
|
+
$borderColor: "BLACK_1",
|
|
49
|
+
$borderRadiusX: 2.5,
|
|
50
|
+
onClick: d,
|
|
51
|
+
selected: i === "negative",
|
|
52
|
+
children: /* @__PURE__ */ e(c, { src: n.THUMPS_DOWN, alt: "Thumbs down", width: 32, height: 32 })
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
] }),
|
|
56
|
+
/* @__PURE__ */ e(l, { heightX: 1.5 })
|
|
57
|
+
] });
|
|
58
|
+
});
|
|
59
|
+
export {
|
|
60
|
+
P as default
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=ptm-feedback.js.map
|
package/dist/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ptm-feedback.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/ptm-feedback/ptm-feedback.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\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 type { IPTMFeedbackProps } from './ptm-feedback-types';\nimport * as Styled from './ptm-feedback-styled';\n\nconst PTMFeedback: FC<IPTMFeedbackProps> = memo(function PTMFeedback({\n studentName,\n onFeedback,\n feedback,\n}) {\n const handlePositiveFeedback = useCallback(() => {\n onFeedback('positive');\n }, [onFeedback]);\n\n const handleNegativeFeedback = useCallback(() => {\n onFeedback('negative');\n }, [onFeedback]);\n\n return (\n <Styled.Container $gapX={1.25} $background=\"WHITE_1\" $gutterX={2}>\n <FlexView $gutterX={1}>\n <Text $renderAs=\"ab2-black\" $color=\"BLACK_1\" $align=\"center\">\n Are you happy with {studentName}'s PTM?\n </Text>\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $flexGapX={3} $alignItems=\"center\" $justifyContent=\"center\">\n <Styled.ThumbButton\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={2.5}\n $borderColor=\"BLACK_1\"\n onClick={handlePositiveFeedback}\n selected={feedback === 'positive'}\n >\n <Image src={ILLUSTRATIONS.THUMPS_UP} alt=\"Thumbs up\" width={32} height={32} />\n </Styled.ThumbButton>\n <Styled.ThumbButton\n $widthX={5}\n $heightX={5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderColor=\"BLACK_1\"\n $borderRadiusX={2.5}\n onClick={handleNegativeFeedback}\n selected={feedback === 'negative'}\n >\n <Image src={ILLUSTRATIONS.THUMPS_DOWN} alt=\"Thumbs down\" width={32} height={32} />\n </Styled.ThumbButton>\n </FlexView>\n <Separator heightX={1.5} />\n </Styled.Container>\n );\n});\n\nexport default PTMFeedback;\n"],"names":["PTMFeedback","memo","studentName","onFeedback","feedback","handlePositiveFeedback","useCallback","handleNegativeFeedback","jsxs","Styled.Container","jsx","FlexView","Text","Separator","Styled.ThumbButton","Image","ILLUSTRATIONS"],"mappings":";;;;;;;;AAUM,MAAAA,IAAqCC,EAAK,SAAqB;AAAA,EACnE,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AACF,GAAG;AACK,QAAAC,IAAyBC,EAAY,MAAM;AAC/C,IAAAH,EAAW,UAAU;AAAA,EAAA,GACpB,CAACA,CAAU,CAAC,GAETI,IAAyBD,EAAY,MAAM;AAC/C,IAAAH,EAAW,UAAU;AAAA,EAAA,GACpB,CAACA,CAAU,CAAC;AAGb,SAAA,gBAAAK,EAACC,GAAA,EAAiB,OAAO,MAAM,aAAY,WAAU,UAAU,GAC7D,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAS,UAAU,GAClB,UAAC,gBAAAH,EAAAI,GAAA,EAAK,WAAU,aAAY,QAAO,WAAU,QAAO,UAAS,UAAA;AAAA,MAAA;AAAA,MACvCV;AAAA,MAAY;AAAA,IAAA,EAAA,CAClC,EACF,CAAA;AAAA,IACA,gBAAAQ,EAACG,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACzB,gBAAAL,EAACG,KAAS,gBAAe,OAAM,WAAW,GAAG,aAAY,UAAS,iBAAgB,UAChF,UAAA;AAAA,MAAA,gBAAAD;AAAA,QAACI;AAAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,gBAAgB;AAAA,UAChB,cAAa;AAAA,UACb,SAAST;AAAA,UACT,UAAUD,MAAa;AAAA,UAEvB,UAAA,gBAAAM,EAACK,GAAM,EAAA,KAAKC,EAAc,WAAW,KAAI,aAAY,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,QAAA;AAAA,MAC9E;AAAA,MACA,gBAAAN;AAAA,QAACI;AAAAA,QAAA;AAAA,UACC,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,cAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,SAASP;AAAA,UACT,UAAUH,MAAa;AAAA,UAEvB,UAAA,gBAAAM,EAACK,GAAM,EAAA,KAAKC,EAAc,aAAa,KAAI,eAAc,OAAO,IAAI,QAAQ,GAAI,CAAA;AAAA,QAAA;AAAA,MAClF;AAAA,IAAA,GACF;AAAA,IACA,gBAAAN,EAACG,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,EAC3B,EAAA,CAAA;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import t from "styled-components";
|
|
2
|
+
import i from "../../../../../ui/layout/flex-view.js";
|
|
3
|
+
const e = t(i)(
|
|
4
|
+
({ theme: o }) => `
|
|
5
|
+
position: fixed;
|
|
6
|
+
bottom: 0;
|
|
7
|
+
left: 0;
|
|
8
|
+
right: 0;
|
|
9
|
+
width: 100%;
|
|
10
|
+
background-color: ${o.colors.WHITE_1};
|
|
11
|
+
border-top: 1px solid ${o.colors.BLACK_5};
|
|
12
|
+
z-index: 100;
|
|
13
|
+
max-width: 480px;
|
|
14
|
+
`
|
|
15
|
+
), n = t(i)`
|
|
16
|
+
width: 100%;
|
|
17
|
+
max-width: 100%;
|
|
18
|
+
`;
|
|
19
|
+
export {
|
|
20
|
+
n as ContentWrapper,
|
|
21
|
+
e as StickyContainer
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=sticky-footer-styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sticky-footer-styled.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nexport const StickyContainer = styled(FlexView)(\n ({ theme }) => `\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n background-color: ${theme.colors.WHITE_1};\n border-top: 1px solid ${theme.colors.BLACK_5};\n z-index: 100;\n max-width: 480px;\n `,\n);\n\nexport const ContentWrapper = styled(FlexView)`\n width: 100%;\n max-width: 100%;\n`;\n"],"names":["StickyContainer","styled","FlexView","theme","ContentWrapper"],"mappings":";;AAIa,MAAAA,IAAkBC,EAAOC,CAAQ;AAAA,EAC5C,CAAC,EAAE,OAAAC,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMOA,EAAM,OAAO,OAAO;AAAA,4BAChBA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAIhD,GAEaC,IAAiBH,EAAOC,CAAQ;AAAA;AAAA;AAAA;"}
|
package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as r, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { memo as l } from "react";
|
|
3
|
+
import p from "../../../../../ui/buttons/button/button.js";
|
|
4
|
+
import a from "../../../../../ui/layout/flex-view.js";
|
|
5
|
+
import c from "../ptm-feedback/ptm-feedback.js";
|
|
6
|
+
import { StickyContainer as s, ContentWrapper as f } from "./sticky-footer-styled.js";
|
|
7
|
+
const C = l(function({
|
|
8
|
+
studentName: e,
|
|
9
|
+
onSubmit: o,
|
|
10
|
+
onFeedback: i,
|
|
11
|
+
feedback: t,
|
|
12
|
+
showFeedback: n = !1
|
|
13
|
+
}) {
|
|
14
|
+
return n ? /* @__PURE__ */ r(s, { $gutterX: 2, $gapX: 2, children: /* @__PURE__ */ m(f, { $gapX: 2, children: [
|
|
15
|
+
/* @__PURE__ */ r(c, { studentName: e, onFeedback: i, feedback: t }),
|
|
16
|
+
/* @__PURE__ */ r(a, { $width: "100%", children: /* @__PURE__ */ r(
|
|
17
|
+
p,
|
|
18
|
+
{
|
|
19
|
+
label: "Submit",
|
|
20
|
+
renderAs: "primary",
|
|
21
|
+
size: "large",
|
|
22
|
+
shape: "curved",
|
|
23
|
+
onClick: o,
|
|
24
|
+
justifyContent: "center",
|
|
25
|
+
disabled: !t
|
|
26
|
+
}
|
|
27
|
+
) })
|
|
28
|
+
] }) }) : null;
|
|
29
|
+
});
|
|
30
|
+
export {
|
|
31
|
+
C as default
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=sticky-footer.js.map
|
package/dist/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sticky-footer.js","sources":["../../../../../../../src/features/timeline/monthly-timeline/ptm-report/comps/sticky-footer/sticky-footer.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport Button from '../../../../../ui/buttons/button/button';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport PTMFeedback from '../ptm-feedback/ptm-feedback';\nimport type { IStickyFooterProps } from './sticky-footer-types';\nimport * as Styled from './sticky-footer-styled';\n\nconst StickyFooter: FC<IStickyFooterProps> = memo(function StickyFooter({\n studentName,\n onSubmit,\n onFeedback,\n feedback,\n showFeedback = false,\n}) {\n if (!showFeedback) {\n return null;\n }\n\n return (\n <Styled.StickyContainer $gutterX={2} $gapX={2}>\n <Styled.ContentWrapper $gapX={2}>\n <PTMFeedback studentName={studentName} onFeedback={onFeedback} feedback={feedback} />\n <FlexView $width=\"100%\">\n <Button\n label=\"Submit\"\n renderAs=\"primary\"\n size=\"large\"\n shape=\"curved\"\n onClick={onSubmit}\n justifyContent=\"center\"\n disabled={!feedback}\n />\n </FlexView>\n </Styled.ContentWrapper>\n </Styled.StickyContainer>\n );\n});\n\nexport default StickyFooter;\n"],"names":["StickyFooter","memo","studentName","onSubmit","onFeedback","feedback","showFeedback","jsx","Styled.StickyContainer","jsxs","Styled.ContentWrapper","PTMFeedback","FlexView","Button"],"mappings":";;;;;;AAQM,MAAAA,IAAuCC,EAAK,SAAsB;AAAA,EACtE,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC,IAAe;AACjB,GAAG;AACD,SAAKA,IAKF,gBAAAC,EAAAC,GAAA,EAAuB,UAAU,GAAG,OAAO,GAC1C,UAAC,gBAAAC,EAAAC,GAAA,EAAsB,OAAO,GAC5B,UAAA;AAAA,IAAC,gBAAAH,EAAAI,GAAA,EAAY,aAAAT,GAA0B,YAAAE,GAAwB,UAAAC,EAAoB,CAAA;AAAA,IACnF,gBAAAE,EAACK,GAAS,EAAA,QAAO,QACf,UAAA,gBAAAL;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,UAAS;AAAA,QACT,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAASV;AAAA,QACT,gBAAe;AAAA,QACf,UAAU,CAACE;AAAA,MAAA;AAAA,IAAA,GAEf;AAAA,EAAA,EACF,CAAA,EACF,CAAA,IAnBO;AAqBX,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ptm-report-types.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report-types.ts"],"sourcesContent":["// ============================\n// SHARED INTERFACES\n// ============================\n\nexport interface IIntroSlide {\n color: string;\n content: string;\n section_name: string;\n type: string;\n}\n\nexport interface IStrategyOption {\n option_info: string;\n option_label: string;\n}\n\nexport interface IStrategyCategory {\n category_label: string;\n icon: string;\n options: IStrategyOption[];\n}\n\n// ============================\n// CONFIG INTERFACES\n// ============================\n\nexport interface ILearningStrategyConfig {\n intro_slide: IIntroSlide;\n learning_strategy_cta: string;\n max: number;\n min: number;\n page_heading: string;\n page_subheading: string;\n show_key_need?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n strategies: {\n advanced_math: IStrategyCategory;\n learning_gaps: IStrategyCategory;\n math_anxiety: IStrategyCategory;\n math_foundation: IStrategyCategory;\n mental_math: IStrategyCategory;\n more_practice: IStrategyCategory;\n };\n}\n\nexport interface IParentSupportOptionConfig {\n icon: string;\n option_cta: string | null;\n option_info: string;\n option_key: string;\n option_label: string;\n report_statement: string;\n slides_ratio: string;\n slides_tag: string;\n}\n\nexport interface IParentSupportConfig {\n intro_slide: IIntroSlide;\n options: IParentSupportOptionConfig[];\n page_heading: string;\n page_subheading: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IRealWorldProjectConfig {\n intro_slide: IIntroSlide;\n max: number;\n page_heading: string;\n ptm_report_color?: {\n images: string[];\n objective: string;\n remarks: string;\n };\n remarks_heading: string;\n remarks_placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n tag: string;\n}\n\nexport interface ISchoolSupportArea {\n area_label?: string;\n optional: boolean;\n options?: string[];\n placeholder?: string;\n question: string;\n report_statement: string | string[];\n report_statement_with_performance?: string[];\n report_statement_with_previous_performance?: string[];\n type: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportTestHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportSubsectionsConfig {\n homework_help: ISchoolSupportHomeworkHelpConfig;\n test_help: ISchoolSupportTestHelpConfig;\n}\n\nexport interface ISchoolSupportConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ISchoolSupportSubsectionsConfig;\n}\n\nexport interface IObservationAreaConfig {\n area_key: string;\n area_label: string;\n icon: string;\n report_statement: string;\n}\n\nexport interface IFocusAreaConfig {\n areas: IObservationAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n report_tag: string;\n}\n\nexport interface IStrengthOptionConfig {\n option_label: string;\n report_statement: string;\n report_tag: string;\n}\n\nexport interface IStrengthAreaConfig extends IObservationAreaConfig {\n options: IStrengthOptionConfig[];\n}\n\nexport interface IStrengthsConfig {\n areas: IStrengthAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n}\n\nexport interface ITeacherRemarksConfig {\n area_label: string;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n report_tag: string;\n}\n\nexport interface ITeacherObservationSubsectionsConfig {\n focus_area: IFocusAreaConfig;\n strengths: IStrengthsConfig;\n teacher_remarks: ITeacherRemarksConfig;\n}\n\nexport interface ITeacherObservationConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ITeacherObservationSubsectionsConfig;\n}\n\nexport interface IUpcomingChaptersConfig {\n area_label: string;\n intro_slide: IIntroSlide;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IPTMReportSectionsConfig {\n learning_strategy: ILearningStrategyConfig;\n parent_support: IParentSupportConfig;\n real_world_project?: IRealWorldProjectConfig;\n school_support?: ISchoolSupportConfig;\n teacher_observation: ITeacherObservationConfig;\n upcoming_chapters?: IUpcomingChaptersConfig;\n}\n\n// ============================\n// REPORT INTERFACES (actual report data)\n// ============================\n\nexport interface IReportStrategies {\n advanced_math?: number[];\n learning_gaps?: number[];\n math_anxiety?: number[];\n math_foundation?: number[];\n mental_math?: number[];\n more_practice?: number[];\n}\n\nexport interface IReportTeacherObservation {\n focus_area: string;\n strengths: Record<string, number>;\n teacher_remarks: string;\n}\n\nexport interface IRealWorldProjectReport {\n images?: number[];\n observation: string;\n}\n\nexport interface IUpcomingChaptersReport {\n upcoming_chapters: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpReport {\n is_hw_help_provided: number;\n selected: number[];\n topics: string;\n}\n\nexport interface ISchoolSupportTestHelpReport {\n performance: {\n scored: string;\n total: string;\n grade: string;\n };\n previous_performance: {\n scored: string;\n total: string;\n grade: string;\n };\n selected: number[];\n}\n\nexport interface ISchoolSupportReport {\n homework_help: ISchoolSupportHomeworkHelpReport;\n test_help: ISchoolSupportTestHelpReport;\n}\n\nexport interface IReportSections {\n parent_support: number[];\n strategies: IReportStrategies;\n teacher_observation: IReportTeacherObservation;\n real_world_project?: IRealWorldProjectReport;\n upcoming_chapters?: IUpcomingChaptersReport;\n school_support?: ISchoolSupportReport;\n}\n\n// ============================\n// STUDENT & TEACHER DATA\n// ============================\n\nexport interface IAttendanceData {\n classes_completed: number;\n weeks_completed: number;\n}\n\nexport interface IHomeworkData {\n incomplete_sheets: number | null;\n sheets_assigned: number;\n sheets_not_completed: number;\n}\n\nexport interface IKeyNeed {\n created_by_id?: string;\n evidence_of_key_need?: string;\n is_published?: boolean;\n is_seen_by_teacher?: boolean;\n key_need: string;\n last_modified_by?: string;\n measure_of_success: string;\n strategies?: any[];\n timestamp?: number;\n}\n\nexport interface ILateClassData {\n break_time: number;\n date: number;\n enter_datetime: number;\n id: string;\n is_invalid: boolean;\n is_skipped: boolean;\n perfect_hit: number;\n scheduled_duration_minutes: number;\n scheduled_end_time: number;\n scheduled_start_datetime: number;\n scheduled_start_time: number;\n status: string;\n student_course_id: string;\n student_id: string;\n tag: string;\n teacher_classroom_id: string;\n was_late: boolean;\n}\n\nexport interface IRealWorldProjectInfo {\n activity: string;\n attempt_id?: string;\n objective: string;\n image_upload_urls?: string[];\n}\n\nexport interface IStudentData {\n attendance_data: IAttendanceData;\n key_need: IKeyNeed;\n country: string;\n country_code: string;\n first_name: string;\n gender: string;\n grade: string;\n homework_data: IHomeworkData;\n last_name: string;\n name: string;\n parent_name: string;\n phone: string;\n plus_class_streak: number;\n real_world_project?: IRealWorldProjectInfo;\n late_class_data: ILateClassData[];\n student_service_id: string;\n}\n\nexport interface ITeacherData {\n email: string;\n first_name: string;\n gender: string;\n last_name: string;\n name: string;\n phone: string;\n}\n\nexport interface IPTMReport {\n report_sections: IReportSections;\n state: string;\n student_data: IStudentData;\n teacher_data: ITeacherData;\n}\n\n// ============================\n// PTM CONFIG INTERFACES\n// ============================\n\nexport interface IDefaultKeyNeed {\n key_need: string;\n measure_of_success: string;\n}\n\nexport interface IFeedbackConfig {\n questions: string[];\n}\n\nexport interface IPTMSchedulingConfig {\n colatteral_image_link: string;\n colatteral_text: string;\n cta_label: string;\n cta_label_share_report?: string;\n cta_text: string;\n cta_text_share_report?: string;\n optional?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface ISlidesConfigBullet {\n content: string;\n title?: string;\n}\n\nexport interface ISlidesConfig {\n qna?: {\n content: string;\n header: string;\n type: string;\n };\n thankyou: {\n bullets?: ISlidesConfigBullet[];\n content?: string;\n header: string;\n subheader?: string;\n type: string;\n };\n welcome: {\n bullets: ISlidesConfigBullet[];\n header: string;\n type: string;\n };\n}\n\nexport interface IPTMConfigDetails {\n default_key_need: IDefaultKeyNeed;\n feedback_config: IFeedbackConfig;\n late_if_minutes: number;\n late_if_seconds: number;\n ptm_expiry_days: number;\n ptm_report_sections: IPTMReportSectionsConfig;\n ptm_scheduling: IPTMSchedulingConfig;\n report_color_config: Record<string, string>;\n slides_config: ISlidesConfig;\n}\n\nexport interface IPTMConfig {\n config: IPTMConfigDetails;\n created_on_ts: number;\n id: string;\n is_active: boolean;\n meta: null;\n ptm_type: string;\n updated_on_ts: number;\n version: number;\n}\n\n// ============================\n// MAIN PTM RESPONSE INTERFACE\n// ============================\n\nexport interface IPTMReportResponse {\n created_on_ts: number;\n due_date: number;\n id: string;\n is_moment_ptm: boolean;\n meta: {\n student_classroom_id: string;\n student_course_id: string;\n };\n opportunity_action_id: string | null;\n ptm_config: IPTMConfig;\n ptm_config_id: string;\n ptm_id: string;\n ptm_platform: string | null;\n ptm_state: string;\n ptm_type: string;\n report: IPTMReport;\n reschedule_reason: string | null;\n scheduled_on: number;\n student_classroom_id: string;\n student_course_id: string;\n student_id: string;\n teacher_classroom_id: string;\n teacher_id: string;\n updated_on_ts: number;\n}\n\n// ============================\n// UTILITY INTERFACES & ENUMS\n// ============================\n\nexport interface IPTMReportProps {\n ptmId: string;\n onAPIComplete?: (success: boolean) => void;\n}\n\nexport enum EPTMTypes {\n ON_DEMAND = 'ON_DEMAND',\n PLUS_CLASS_7 = 'PLUS_CLASS_7',\n}\n"],"names":["EPTMTypes"],"mappings":"AAidY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,eAAe,gBAFLA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
1
|
+
{"version":3,"file":"ptm-report-types.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report-types.ts"],"sourcesContent":["// ============================\n// SHARED INTERFACES\n// ============================\n\nexport interface IIntroSlide {\n color: string;\n content: string;\n section_name: string;\n type: string;\n}\n\nexport interface IStrategyOption {\n option_info: string;\n option_label: string;\n}\n\nexport interface IStrategyCategory {\n category_label: string;\n icon: string;\n options: IStrategyOption[];\n}\n\n// ============================\n// CONFIG INTERFACES\n// ============================\n\nexport interface ILearningStrategyConfig {\n intro_slide: IIntroSlide;\n learning_strategy_cta: string;\n max: number;\n min: number;\n page_heading: string;\n page_subheading: string;\n show_key_need?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n strategies: {\n advanced_math: IStrategyCategory;\n learning_gaps: IStrategyCategory;\n math_anxiety: IStrategyCategory;\n math_foundation: IStrategyCategory;\n mental_math: IStrategyCategory;\n more_practice: IStrategyCategory;\n };\n}\n\nexport interface IParentSupportOptionConfig {\n icon: string;\n option_cta: string | null;\n option_info: string;\n option_key: string;\n option_label: string;\n report_statement: string;\n slides_ratio: string;\n slides_tag: string;\n}\n\nexport interface IParentSupportConfig {\n intro_slide: IIntroSlide;\n options: IParentSupportOptionConfig[];\n page_heading: string;\n page_subheading: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IRealWorldProjectConfig {\n intro_slide: IIntroSlide;\n max: number;\n page_heading: string;\n ptm_report_color?: {\n images: string[];\n objective: string;\n remarks: string;\n };\n remarks_heading: string;\n remarks_placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n tag: string;\n}\n\nexport interface ISchoolSupportArea {\n area_label?: string;\n optional: boolean;\n options?: string[];\n placeholder?: string;\n question: string;\n report_statement: string | string[];\n report_statement_with_performance?: string[];\n report_statement_with_previous_performance?: string[];\n type: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportTestHelpConfig {\n area_name: string;\n areas: ISchoolSupportArea[];\n color: string;\n optional: boolean;\n page_heading: string;\n}\n\nexport interface ISchoolSupportSubsectionsConfig {\n homework_help: ISchoolSupportHomeworkHelpConfig;\n test_help: ISchoolSupportTestHelpConfig;\n}\n\nexport interface ISchoolSupportConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ISchoolSupportSubsectionsConfig;\n}\n\nexport interface IObservationAreaConfig {\n area_key: string;\n area_label: string;\n icon: string;\n report_statement: string;\n}\n\nexport interface IFocusAreaConfig {\n areas: IObservationAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n report_tag: string;\n}\n\nexport interface IStrengthOptionConfig {\n option_label: string;\n report_statement: string;\n report_tag: string;\n}\n\nexport interface IStrengthAreaConfig extends IObservationAreaConfig {\n options: IStrengthOptionConfig[];\n}\n\nexport interface IStrengthsConfig {\n areas: IStrengthAreaConfig[];\n max: number;\n page_heading: string;\n page_subheading: string;\n}\n\nexport interface ITeacherRemarksConfig {\n area_label: string;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n report_tag: string;\n}\n\nexport interface ITeacherObservationSubsectionsConfig {\n focus_area: IFocusAreaConfig;\n strengths: IStrengthsConfig;\n teacher_remarks: ITeacherRemarksConfig;\n}\n\nexport interface ITeacherObservationConfig {\n intro_slide: IIntroSlide;\n step_no: number;\n steps_info: string;\n steps_label: string;\n subsections: ITeacherObservationSubsectionsConfig;\n}\n\nexport interface IUpcomingChaptersConfig {\n area_label: string;\n intro_slide: IIntroSlide;\n page_heading: string;\n page_subheading: string;\n placeholder: string;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface IPTMReportSectionsConfig {\n learning_strategy: ILearningStrategyConfig;\n parent_support: IParentSupportConfig;\n real_world_project?: IRealWorldProjectConfig;\n school_support?: ISchoolSupportConfig;\n teacher_observation: ITeacherObservationConfig;\n upcoming_chapters?: IUpcomingChaptersConfig;\n}\n\n// ============================\n// REPORT INTERFACES (actual report data)\n// ============================\n\nexport interface IReportStrategies {\n advanced_math?: number[];\n learning_gaps?: number[];\n math_anxiety?: number[];\n math_foundation?: number[];\n mental_math?: number[];\n more_practice?: number[];\n}\n\nexport interface IReportTeacherObservation {\n focus_area: string;\n strengths: Record<string, number>;\n teacher_remarks: string;\n}\n\nexport interface IRealWorldProjectReport {\n images?: number[];\n observation: string;\n}\n\nexport interface IUpcomingChaptersReport {\n upcoming_chapters: string;\n}\n\nexport interface ISchoolSupportHomeworkHelpReport {\n is_hw_help_provided: number;\n selected: number[];\n topics: string;\n}\n\nexport interface ISchoolSupportTestHelpReport {\n performance: {\n scored: string;\n total: string;\n grade: string;\n };\n previous_performance: {\n scored: string;\n total: string;\n grade: string;\n };\n selected: number[];\n}\n\nexport interface ISchoolSupportReport {\n homework_help: ISchoolSupportHomeworkHelpReport;\n test_help: ISchoolSupportTestHelpReport;\n}\n\nexport interface IReportSections {\n parent_support: number[];\n strategies: IReportStrategies;\n teacher_observation: IReportTeacherObservation;\n real_world_project?: IRealWorldProjectReport;\n upcoming_chapters?: IUpcomingChaptersReport;\n school_support?: ISchoolSupportReport;\n}\n\n// ============================\n// STUDENT & TEACHER DATA\n// ============================\n\nexport interface IAttendanceData {\n classes_completed: number;\n weeks_completed: number;\n}\n\nexport interface IHomeworkData {\n incomplete_sheets: number | null;\n sheets_assigned: number;\n sheets_not_completed: number;\n}\n\nexport interface IKeyNeed {\n created_by_id?: string;\n evidence_of_key_need?: string;\n is_published?: boolean;\n is_seen_by_teacher?: boolean;\n key_need: string;\n last_modified_by?: string;\n measure_of_success: string;\n strategies?: any[];\n timestamp?: number;\n}\n\nexport interface ILateClassData {\n break_time: number;\n date: number;\n enter_datetime: number;\n id: string;\n is_invalid: boolean;\n is_skipped: boolean;\n perfect_hit: number;\n scheduled_duration_minutes: number;\n scheduled_end_time: number;\n scheduled_start_datetime: number;\n scheduled_start_time: number;\n status: string;\n student_course_id: string;\n student_id: string;\n tag: string;\n teacher_classroom_id: string;\n was_late: boolean;\n}\n\nexport interface IRealWorldProjectInfo {\n activity: string;\n attempt_id?: string;\n objective: string;\n image_upload_urls?: string[];\n}\n\nexport interface IStudentData {\n attendance_data: IAttendanceData;\n key_need: IKeyNeed;\n country: string;\n country_code: string;\n first_name: string;\n gender: string;\n grade: string;\n homework_data: IHomeworkData;\n last_name: string;\n name: string;\n parent_name: string;\n phone: string;\n plus_class_streak: number;\n real_world_project?: IRealWorldProjectInfo;\n late_class_data: ILateClassData[];\n student_service_id: string;\n}\n\nexport interface ITeacherData {\n email: string;\n first_name: string;\n gender: string;\n last_name: string;\n name: string;\n phone: string;\n}\n\nexport interface IPTMReport {\n report_sections: IReportSections;\n state: string;\n student_data: IStudentData;\n teacher_data: ITeacherData;\n}\n\n// ============================\n// PTM CONFIG INTERFACES\n// ============================\n\nexport interface IDefaultKeyNeed {\n key_need: string;\n measure_of_success: string;\n}\n\nexport interface IFeedbackConfig {\n questions: string[];\n}\n\nexport interface IPTMSchedulingConfig {\n colatteral_image_link: string;\n colatteral_text: string;\n cta_label: string;\n cta_label_share_report?: string;\n cta_text: string;\n cta_text_share_report?: string;\n optional?: boolean;\n step_no: number;\n steps_info: string;\n steps_label: string;\n}\n\nexport interface ISlidesConfigBullet {\n content: string;\n title?: string;\n}\n\nexport interface ISlidesConfig {\n qna?: {\n content: string;\n header: string;\n type: string;\n };\n thankyou: {\n bullets?: ISlidesConfigBullet[];\n content?: string;\n header: string;\n subheader?: string;\n type: string;\n };\n welcome: {\n bullets: ISlidesConfigBullet[];\n header: string;\n type: string;\n };\n}\n\nexport interface IPTMConfigDetails {\n default_key_need: IDefaultKeyNeed;\n feedback_config: IFeedbackConfig;\n late_if_minutes: number;\n late_if_seconds: number;\n ptm_expiry_days: number;\n ptm_report_sections: IPTMReportSectionsConfig;\n ptm_scheduling: IPTMSchedulingConfig;\n report_color_config: Record<string, string>;\n slides_config: ISlidesConfig;\n}\n\nexport interface IPTMConfig {\n config: IPTMConfigDetails;\n created_on_ts: number;\n id: string;\n is_active: boolean;\n meta: null;\n ptm_type: string;\n updated_on_ts: number;\n version: number;\n}\n\n// ============================\n// MAIN PTM RESPONSE INTERFACE\n// ============================\n\nexport interface IPTMReportResponse {\n created_on_ts: number;\n due_date: number;\n id: string;\n is_moment_ptm: boolean;\n meta: {\n student_classroom_id: string;\n student_course_id: string;\n };\n opportunity_action_id: string | null;\n ptm_config: IPTMConfig;\n ptm_config_id: string;\n ptm_id: string;\n ptm_platform: string | null;\n ptm_state: string;\n ptm_type: string;\n report: IPTMReport;\n reschedule_reason: string | null;\n scheduled_on: number;\n student_classroom_id: string;\n student_course_id: string;\n student_id: string;\n teacher_classroom_id: string;\n teacher_id: string;\n updated_on_ts: number;\n}\n\n// ============================\n// UTILITY INTERFACES & ENUMS\n// ============================\n\nexport interface IPTMReportProps {\n ptmId: string;\n onAPIComplete?: (success: boolean) => void;\n onFeedback?: (feedbackType: 'positive' | 'negative', ptmId: string) => void;\n showFeedback?: boolean;\n}\n\nexport enum EPTMTypes {\n ON_DEMAND = 'ON_DEMAND',\n PLUS_CLASS_7 = 'PLUS_CLASS_7',\n}\n"],"names":["EPTMTypes"],"mappings":"AAmdY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,eAAe,gBAFLA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -1,116 +1,136 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import { usePTMReportGet as
|
|
4
|
-
import { EPTMTypes as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { Container as
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
school_support:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
strengths:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
1
|
+
import { jsx as e, jsxs as l, Fragment as Re } from "react/jsx-runtime";
|
|
2
|
+
import { memo as Ce, useState as ke, useCallback as f, useEffect as _ } from "react";
|
|
3
|
+
import { usePTMReportGet as Se } from "./api/use-ptm-report-get.js";
|
|
4
|
+
import { EPTMTypes as Te } from "./ptm-report-types.js";
|
|
5
|
+
import we from "../../../ui/loader/app-loader/app-loader.js";
|
|
6
|
+
import ye from "./comps/student-info/student-info.js";
|
|
7
|
+
import { Container as be } from "./ptm-report-styled.js";
|
|
8
|
+
import Me from "./comps/key-need/key-need.js";
|
|
9
|
+
import Pe from "../../../ui/layout/flex-view.js";
|
|
10
|
+
import De from "./comps/teacher-observations/teacher-observations.js";
|
|
11
|
+
import Oe from "./comps/strategies/strategies.js";
|
|
12
|
+
import je from "./comps/parent-support/parent-support.js";
|
|
13
|
+
import Ae from "./comps/upcoming-chapters/upcoming-chapters.js";
|
|
14
|
+
import ve from "./comps/real-world-projects/real-world-projects.js";
|
|
15
|
+
import xe from "./comps/school-support/school-support.js";
|
|
16
|
+
import Ee from "../../../ui/error/error.js";
|
|
17
|
+
import Ne from "./comps/sticky-footer/sticky-footer.js";
|
|
18
|
+
const Ue = ({
|
|
19
|
+
ptmId: t,
|
|
20
|
+
onAPIComplete: o,
|
|
21
|
+
onFeedback: r,
|
|
22
|
+
showFeedback: R = !1
|
|
23
|
+
}) => {
|
|
24
|
+
const [s, C] = ke(null), {
|
|
25
|
+
get: d,
|
|
26
|
+
data: u,
|
|
27
|
+
isProcessing: k,
|
|
28
|
+
isProcessed: n,
|
|
29
|
+
isProcessingFailed: a
|
|
30
|
+
} = Se(t), S = f((h) => {
|
|
31
|
+
C(h);
|
|
32
|
+
}, []), T = f(() => {
|
|
33
|
+
s && (r == null || r(s, t));
|
|
34
|
+
}, [s, t, r]), p = f(() => {
|
|
35
|
+
d(t);
|
|
36
|
+
}, [d, t]);
|
|
37
|
+
if (_(() => {
|
|
38
|
+
p();
|
|
39
|
+
}, [p]), _(() => {
|
|
40
|
+
(n || a) && (o == null || o(n && !a));
|
|
41
|
+
}, [n, a, o]), k || !u)
|
|
42
|
+
return /* @__PURE__ */ e(we, { height: "100dvh" });
|
|
43
|
+
if (a)
|
|
44
|
+
return /* @__PURE__ */ e(Ee, { onTryAgain: p, height: "100dvh" });
|
|
45
|
+
const { ptm_config: w, report: y } = u, { ptm_type: c, config: b } = w || {}, { ptm_report_sections: M, late_if_minutes: P } = b || {}, {
|
|
46
|
+
teacher_observation: D,
|
|
47
|
+
learning_strategy: O,
|
|
48
|
+
parent_support: j,
|
|
49
|
+
school_support: A
|
|
50
|
+
} = M || {}, { subsections: v } = A || {}, { homework_help: x, test_help: E } = v || {}, { options: N } = j || {}, { strategies: U } = O || {}, { subsections: F } = D || {}, {
|
|
51
|
+
focus_area: H,
|
|
52
|
+
strengths: W,
|
|
53
|
+
teacher_remarks: G
|
|
54
|
+
} = F || {}, { areas: K = [], report_tag: X } = H || {}, { areas: $ = [] } = W || {}, { report_tag: L } = G || {}, { report_sections: V, student_data: q } = y, {
|
|
55
|
+
teacher_observation: z,
|
|
56
|
+
parent_support: B,
|
|
57
|
+
strategies: J,
|
|
58
|
+
real_world_project: Q,
|
|
59
|
+
school_support: Y,
|
|
60
|
+
upcoming_chapters: Z
|
|
61
|
+
} = V || {}, { homework_help: I, test_help: ee } = Y || {}, { upcoming_chapters: te } = Z || {}, {
|
|
62
|
+
strengths: oe = {},
|
|
63
|
+
focus_area: re,
|
|
64
|
+
teacher_remarks: se
|
|
65
|
+
} = z || {}, {
|
|
66
|
+
first_name: i,
|
|
67
|
+
grade: ae,
|
|
68
|
+
key_need: m,
|
|
69
|
+
attendance_data: ne,
|
|
70
|
+
homework_data: pe,
|
|
71
|
+
late_class_data: ce = [],
|
|
72
|
+
real_world_project: ie
|
|
73
|
+
} = q || {}, { classes_completed: me, weeks_completed: ge } = ne || {}, { sheets_assigned: he, sheets_not_completed: le } = pe || {}, fe = K.find(
|
|
74
|
+
({ area_key: h }) => h === re
|
|
75
|
+
), de = (m == null ? void 0 : m.key_need) ?? "", g = c === Te.ON_DEMAND, ue = ce.length, _e = c && c.split("_").includes("UPGRADE");
|
|
76
|
+
return /* @__PURE__ */ l(be, { children: [
|
|
77
|
+
/* @__PURE__ */ e(ye, { name: i, grade: ae }),
|
|
78
|
+
/* @__PURE__ */ l(Pe, { $gutterX: 1, $gapX: 1, children: [
|
|
79
|
+
/* @__PURE__ */ e(Me, { text: de }),
|
|
80
|
+
(g || _e) && /* @__PURE__ */ l(Re, { children: [
|
|
81
|
+
/* @__PURE__ */ e(ve, { projectReport: Q, projectInfo: ie }),
|
|
72
82
|
/* @__PURE__ */ e(
|
|
73
|
-
|
|
83
|
+
xe,
|
|
74
84
|
{
|
|
75
|
-
homeworkHelpReport:
|
|
76
|
-
homeworkHelpConfig:
|
|
77
|
-
testHelpReport:
|
|
78
|
-
testHelpConfig:
|
|
79
|
-
studentName:
|
|
80
|
-
isOnDemandPTM:
|
|
85
|
+
homeworkHelpReport: I,
|
|
86
|
+
homeworkHelpConfig: x,
|
|
87
|
+
testHelpReport: ee,
|
|
88
|
+
testHelpConfig: E,
|
|
89
|
+
studentName: i,
|
|
90
|
+
isOnDemandPTM: g
|
|
81
91
|
}
|
|
82
92
|
)
|
|
83
93
|
] }),
|
|
84
94
|
/* @__PURE__ */ e(
|
|
85
|
-
|
|
95
|
+
De,
|
|
86
96
|
{
|
|
87
|
-
strengthAreas:
|
|
88
|
-
strengthsReport:
|
|
89
|
-
focusArea:
|
|
90
|
-
focusAreaReportTag:
|
|
91
|
-
teacherRemarks:
|
|
92
|
-
teacherRemarkTag:
|
|
97
|
+
strengthAreas: $,
|
|
98
|
+
strengthsReport: oe,
|
|
99
|
+
focusArea: fe,
|
|
100
|
+
focusAreaReportTag: X,
|
|
101
|
+
teacherRemarks: se,
|
|
102
|
+
teacherRemarkTag: L
|
|
93
103
|
}
|
|
94
104
|
),
|
|
95
|
-
/* @__PURE__ */ e(
|
|
105
|
+
/* @__PURE__ */ e(Oe, { report: J, strategyConfig: U }),
|
|
96
106
|
/* @__PURE__ */ e(
|
|
97
|
-
|
|
107
|
+
je,
|
|
98
108
|
{
|
|
99
|
-
report:
|
|
100
|
-
options:
|
|
101
|
-
classesCompleted:
|
|
102
|
-
weeksCompleted:
|
|
103
|
-
sheetsAssigned:
|
|
104
|
-
sheetsNotCompleted:
|
|
105
|
-
lateClassesCount:
|
|
106
|
-
lateIfMinutes:
|
|
109
|
+
report: B,
|
|
110
|
+
options: N,
|
|
111
|
+
classesCompleted: me,
|
|
112
|
+
weeksCompleted: ge,
|
|
113
|
+
sheetsAssigned: he,
|
|
114
|
+
sheetsNotCompleted: le,
|
|
115
|
+
lateClassesCount: ue,
|
|
116
|
+
lateIfMinutes: P
|
|
107
117
|
}
|
|
108
118
|
),
|
|
109
|
-
|
|
110
|
-
] })
|
|
119
|
+
g && /* @__PURE__ */ e(Ae, { chapters: te })
|
|
120
|
+
] }),
|
|
121
|
+
/* @__PURE__ */ e(
|
|
122
|
+
Ne,
|
|
123
|
+
{
|
|
124
|
+
studentName: i,
|
|
125
|
+
onSubmit: T,
|
|
126
|
+
onFeedback: S,
|
|
127
|
+
feedback: s,
|
|
128
|
+
showFeedback: R
|
|
129
|
+
}
|
|
130
|
+
)
|
|
111
131
|
] });
|
|
112
|
-
},
|
|
132
|
+
}, tt = Ce(Ue);
|
|
113
133
|
export {
|
|
114
|
-
|
|
134
|
+
tt as default
|
|
115
135
|
};
|
|
116
136
|
//# sourceMappingURL=ptm-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ptm-report.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { usePTMReportGet } from './api/use-ptm-report-get';\nimport { EPTMTypes, type IPTMReportProps } from './ptm-report-types';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport StudentInfo from './comps/student-info/student-info';\nimport * as Styled from './ptm-report-styled';\nimport KeyNeed from './comps/key-need/key-need';\nimport FlexView from '../../../ui/layout/flex-view';\nimport TeacherObservations from './comps/teacher-observations/teacher-observations';\nimport Strategies from './comps/strategies/strategies';\nimport ParentSupport from './comps/parent-support/parent-support';\nimport UpcomingChapters from './comps/upcoming-chapters/upcoming-chapters';\nimport RealWorldProjects from './comps/real-world-projects/real-world-projects';\nimport SchoolSupport from './comps/school-support/school-support';\nimport Error from '../../../ui/error/error';\n\nconst PTMReport: FC<IPTMReportProps> = ({ ptmId, onAPIComplete }) => {\n const {\n get: getPTMReport,\n data: ptmReportData,\n isProcessing,\n isProcessed,\n isProcessingFailed,\n } = usePTMReportGet(ptmId);\n\n const fetchPTMReport = useCallback(() => {\n getPTMReport(ptmId);\n }, [getPTMReport, ptmId]);\n\n useEffect(() => {\n fetchPTMReport();\n }, [fetchPTMReport]);\n\n useEffect(() => {\n if (isProcessed || isProcessingFailed) {\n onAPIComplete?.(isProcessed && !isProcessingFailed);\n }\n }, [isProcessed, isProcessingFailed, onAPIComplete]);\n\n if (isProcessing || !ptmReportData) {\n return <AppLoader height=\"100dvh\" />;\n }\n\n if (isProcessingFailed) {\n return <Error onTryAgain={fetchPTMReport} height=\"100dvh\" />;\n }\n\n const { ptm_config: ptmConfig, report } = ptmReportData;\n const { ptm_type: ptmType, config } = ptmConfig || {};\n const { ptm_report_sections: sectionsConfig, late_if_minutes: lateIfMinutes } = config || {};\n\n const {\n teacher_observation: teacherObservationConfig,\n learning_strategy: strategyConfig,\n parent_support: parentSupportConfig,\n school_support: schoolSupportConfig,\n } = sectionsConfig || {};\n\n const { subsections: schoolSubsections } = schoolSupportConfig || {};\n const { homework_help: homeworkConfig, test_help: testConfig } = schoolSubsections || {};\n\n const { options: parentOptions } = parentSupportConfig || {};\n const { strategies: strategiesConfig } = strategyConfig || {};\n const { subsections: teacherSubsections } = teacherObservationConfig || {};\n\n const {\n focus_area: focusAreaConfig,\n strengths: strengthsConfig,\n teacher_remarks: remarksConfig,\n } = teacherSubsections || {};\n\n const { areas: focusAreas = [], report_tag: focusAreaTag } = focusAreaConfig || {};\n const { areas: strengthAreas = [] } = strengthsConfig || {};\n const { report_tag: remarksTag } = remarksConfig || {};\n\n const { report_sections: reportSections, student_data: studentData } = report;\n\n const {\n teacher_observation: teacherObservationReport,\n parent_support: parentSupportReport,\n strategies: strategiesReport,\n real_world_project: realWorldReport,\n school_support: schoolSupportReport,\n upcoming_chapters: upcomingChaptersReport,\n } = reportSections || {};\n\n const { homework_help: homeworkReport, test_help: testReport } = schoolSupportReport || {};\n\n const { upcoming_chapters: upcomingChapters } = upcomingChaptersReport || {};\n\n const {\n strengths: strengthsReport = {},\n focus_area: selectedFocusAreaKey,\n teacher_remarks: teacherRemarks,\n } = teacherObservationReport || {};\n\n const {\n first_name: studentName,\n grade: studentGrade,\n key_need: keyNeedData,\n attendance_data: attendanceData,\n homework_data: homeworkData,\n late_class_data: lateClasses = [],\n real_world_project: realWorldProjectData,\n } = studentData || {};\n\n const { classes_completed: completedClasses, weeks_completed: completedWeeks } =\n attendanceData || {};\n\n const { sheets_assigned: assignedSheets, sheets_not_completed: incompleteSheets } =\n homeworkData || {};\n\n const selectedFocusArea = focusAreas.find(\n ({ area_key: areaKey }) => areaKey === selectedFocusAreaKey,\n );\n\n const keyNeedText = keyNeedData?.key_need ?? '';\n const isOnDemandPTM = ptmType === EPTMTypes.ON_DEMAND;\n const lateClassesCount = lateClasses.length;\n const isUpgradePTM = ptmType && ptmType.split('_').includes('UPGRADE');\n const isUpgradeOrOnDemandPTM = isOnDemandPTM || isUpgradePTM;\n\n return (\n <Styled.Container>\n <StudentInfo name={studentName} grade={studentGrade} />\n <FlexView $gutterX={1} $gapX={1}>\n <KeyNeed text={keyNeedText} />\n {isUpgradeOrOnDemandPTM && (\n <>\n <RealWorldProjects projectReport={realWorldReport} projectInfo={realWorldProjectData} />\n <SchoolSupport\n homeworkHelpReport={homeworkReport}\n homeworkHelpConfig={homeworkConfig}\n testHelpReport={testReport}\n testHelpConfig={testConfig}\n studentName={studentName}\n isOnDemandPTM={isOnDemandPTM}\n />\n </>\n )}\n <TeacherObservations\n strengthAreas={strengthAreas}\n strengthsReport={strengthsReport}\n focusArea={selectedFocusArea}\n focusAreaReportTag={focusAreaTag}\n teacherRemarks={teacherRemarks}\n teacherRemarkTag={remarksTag}\n />\n <Strategies report={strategiesReport} strategyConfig={strategiesConfig} />\n <ParentSupport\n report={parentSupportReport}\n options={parentOptions}\n classesCompleted={completedClasses}\n weeksCompleted={completedWeeks}\n sheetsAssigned={assignedSheets}\n sheetsNotCompleted={incompleteSheets}\n lateClassesCount={lateClassesCount}\n lateIfMinutes={lateIfMinutes}\n />\n {isOnDemandPTM && <UpcomingChapters chapters={upcomingChapters} />}\n </FlexView>\n </Styled.Container>\n );\n};\n\nexport default memo(PTMReport);\n"],"names":["PTMReport","ptmId","onAPIComplete","getPTMReport","ptmReportData","isProcessing","isProcessed","isProcessingFailed","usePTMReportGet","fetchPTMReport","useCallback","useEffect","jsx","AppLoader","Error","ptmConfig","report","ptmType","config","sectionsConfig","lateIfMinutes","teacherObservationConfig","strategyConfig","parentSupportConfig","schoolSupportConfig","schoolSubsections","homeworkConfig","testConfig","parentOptions","strategiesConfig","teacherSubsections","focusAreaConfig","strengthsConfig","remarksConfig","focusAreas","focusAreaTag","strengthAreas","remarksTag","reportSections","studentData","teacherObservationReport","parentSupportReport","strategiesReport","realWorldReport","schoolSupportReport","upcomingChaptersReport","homeworkReport","testReport","upcomingChapters","strengthsReport","selectedFocusAreaKey","teacherRemarks","studentName","studentGrade","keyNeedData","attendanceData","homeworkData","lateClasses","realWorldProjectData","completedClasses","completedWeeks","assignedSheets","incompleteSheets","selectedFocusArea","areaKey","keyNeedText","isOnDemandPTM","EPTMTypes","lateClassesCount","isUpgradePTM","jsxs","Styled.Container","StudentInfo","FlexView","KeyNeed","Fragment","RealWorldProjects","SchoolSupport","TeacherObservations","Strategies","ParentSupport","UpcomingChapters","ptmReport","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ptm-report.js","sources":["../../../../../src/features/timeline/monthly-timeline/ptm-report/ptm-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useState, type FC } from 'react';\n\nimport { usePTMReportGet } from './api/use-ptm-report-get';\nimport { EPTMTypes, type IPTMReportProps } from './ptm-report-types';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport StudentInfo from './comps/student-info/student-info';\nimport * as Styled from './ptm-report-styled';\nimport KeyNeed from './comps/key-need/key-need';\nimport FlexView from '../../../ui/layout/flex-view';\nimport TeacherObservations from './comps/teacher-observations/teacher-observations';\nimport Strategies from './comps/strategies/strategies';\nimport ParentSupport from './comps/parent-support/parent-support';\nimport UpcomingChapters from './comps/upcoming-chapters/upcoming-chapters';\nimport RealWorldProjects from './comps/real-world-projects/real-world-projects';\nimport SchoolSupport from './comps/school-support/school-support';\nimport Error from '../../../ui/error/error';\nimport StickyFooter from './comps/sticky-footer/sticky-footer';\n\nconst PTMReport: FC<IPTMReportProps> = ({\n ptmId,\n onAPIComplete,\n onFeedback,\n showFeedback = false,\n}) => {\n const [feedback, setFeedback] = useState<'positive' | 'negative' | null>(null);\n const {\n get: getPTMReport,\n data: ptmReportData,\n isProcessing,\n isProcessed,\n isProcessingFailed,\n } = usePTMReportGet(ptmId);\n\n const handleFeedback = useCallback((type: 'positive' | 'negative') => {\n setFeedback(type);\n }, []);\n\n const handleSubmit = useCallback(() => {\n if (feedback) {\n onFeedback?.(feedback, ptmId);\n }\n }, [feedback, ptmId, onFeedback]);\n\n const fetchPTMReport = useCallback(() => {\n getPTMReport(ptmId);\n }, [getPTMReport, ptmId]);\n\n useEffect(() => {\n fetchPTMReport();\n }, [fetchPTMReport]);\n\n useEffect(() => {\n if (isProcessed || isProcessingFailed) {\n onAPIComplete?.(isProcessed && !isProcessingFailed);\n }\n }, [isProcessed, isProcessingFailed, onAPIComplete]);\n\n if (isProcessing || !ptmReportData) {\n return <AppLoader height=\"100dvh\" />;\n }\n\n if (isProcessingFailed) {\n return <Error onTryAgain={fetchPTMReport} height=\"100dvh\" />;\n }\n\n const { ptm_config: ptmConfig, report } = ptmReportData;\n const { ptm_type: ptmType, config } = ptmConfig || {};\n const { ptm_report_sections: sectionsConfig, late_if_minutes: lateIfMinutes } = config || {};\n\n const {\n teacher_observation: teacherObservationConfig,\n learning_strategy: strategyConfig,\n parent_support: parentSupportConfig,\n school_support: schoolSupportConfig,\n } = sectionsConfig || {};\n\n const { subsections: schoolSubsections } = schoolSupportConfig || {};\n const { homework_help: homeworkConfig, test_help: testConfig } = schoolSubsections || {};\n\n const { options: parentOptions } = parentSupportConfig || {};\n const { strategies: strategiesConfig } = strategyConfig || {};\n const { subsections: teacherSubsections } = teacherObservationConfig || {};\n\n const {\n focus_area: focusAreaConfig,\n strengths: strengthsConfig,\n teacher_remarks: remarksConfig,\n } = teacherSubsections || {};\n\n const { areas: focusAreas = [], report_tag: focusAreaTag } = focusAreaConfig || {};\n const { areas: strengthAreas = [] } = strengthsConfig || {};\n const { report_tag: remarksTag } = remarksConfig || {};\n\n const { report_sections: reportSections, student_data: studentData } = report;\n\n const {\n teacher_observation: teacherObservationReport,\n parent_support: parentSupportReport,\n strategies: strategiesReport,\n real_world_project: realWorldReport,\n school_support: schoolSupportReport,\n upcoming_chapters: upcomingChaptersReport,\n } = reportSections || {};\n\n const { homework_help: homeworkReport, test_help: testReport } = schoolSupportReport || {};\n\n const { upcoming_chapters: upcomingChapters } = upcomingChaptersReport || {};\n\n const {\n strengths: strengthsReport = {},\n focus_area: selectedFocusAreaKey,\n teacher_remarks: teacherRemarks,\n } = teacherObservationReport || {};\n\n const {\n first_name: studentName,\n grade: studentGrade,\n key_need: keyNeedData,\n attendance_data: attendanceData,\n homework_data: homeworkData,\n late_class_data: lateClasses = [],\n real_world_project: realWorldProjectData,\n } = studentData || {};\n\n const { classes_completed: completedClasses, weeks_completed: completedWeeks } =\n attendanceData || {};\n\n const { sheets_assigned: assignedSheets, sheets_not_completed: incompleteSheets } =\n homeworkData || {};\n\n const selectedFocusArea = focusAreas.find(\n ({ area_key: areaKey }) => areaKey === selectedFocusAreaKey,\n );\n\n const keyNeedText = keyNeedData?.key_need ?? '';\n const isOnDemandPTM = ptmType === EPTMTypes.ON_DEMAND;\n const lateClassesCount = lateClasses.length;\n const isUpgradePTM = ptmType && ptmType.split('_').includes('UPGRADE');\n const isUpgradeOrOnDemandPTM = isOnDemandPTM || isUpgradePTM;\n\n return (\n <Styled.Container>\n <StudentInfo name={studentName} grade={studentGrade} />\n <FlexView $gutterX={1} $gapX={1}>\n <KeyNeed text={keyNeedText} />\n {isUpgradeOrOnDemandPTM && (\n <>\n <RealWorldProjects projectReport={realWorldReport} projectInfo={realWorldProjectData} />\n <SchoolSupport\n homeworkHelpReport={homeworkReport}\n homeworkHelpConfig={homeworkConfig}\n testHelpReport={testReport}\n testHelpConfig={testConfig}\n studentName={studentName}\n isOnDemandPTM={isOnDemandPTM}\n />\n </>\n )}\n <TeacherObservations\n strengthAreas={strengthAreas}\n strengthsReport={strengthsReport}\n focusArea={selectedFocusArea}\n focusAreaReportTag={focusAreaTag}\n teacherRemarks={teacherRemarks}\n teacherRemarkTag={remarksTag}\n />\n <Strategies report={strategiesReport} strategyConfig={strategiesConfig} />\n <ParentSupport\n report={parentSupportReport}\n options={parentOptions}\n classesCompleted={completedClasses}\n weeksCompleted={completedWeeks}\n sheetsAssigned={assignedSheets}\n sheetsNotCompleted={incompleteSheets}\n lateClassesCount={lateClassesCount}\n lateIfMinutes={lateIfMinutes}\n />\n {isOnDemandPTM && <UpcomingChapters chapters={upcomingChapters} />}\n </FlexView>\n <StickyFooter\n studentName={studentName}\n onSubmit={handleSubmit}\n onFeedback={handleFeedback}\n feedback={feedback}\n showFeedback={showFeedback}\n />\n </Styled.Container>\n );\n};\n\nexport default memo(PTMReport);\n"],"names":["PTMReport","ptmId","onAPIComplete","onFeedback","showFeedback","feedback","setFeedback","useState","getPTMReport","ptmReportData","isProcessing","isProcessed","isProcessingFailed","usePTMReportGet","handleFeedback","useCallback","type","handleSubmit","fetchPTMReport","useEffect","jsx","AppLoader","Error","ptmConfig","report","ptmType","config","sectionsConfig","lateIfMinutes","teacherObservationConfig","strategyConfig","parentSupportConfig","schoolSupportConfig","schoolSubsections","homeworkConfig","testConfig","parentOptions","strategiesConfig","teacherSubsections","focusAreaConfig","strengthsConfig","remarksConfig","focusAreas","focusAreaTag","strengthAreas","remarksTag","reportSections","studentData","teacherObservationReport","parentSupportReport","strategiesReport","realWorldReport","schoolSupportReport","upcomingChaptersReport","homeworkReport","testReport","upcomingChapters","strengthsReport","selectedFocusAreaKey","teacherRemarks","studentName","studentGrade","keyNeedData","attendanceData","homeworkData","lateClasses","realWorldProjectData","completedClasses","completedWeeks","assignedSheets","incompleteSheets","selectedFocusArea","areaKey","keyNeedText","isOnDemandPTM","EPTMTypes","lateClassesCount","isUpgradePTM","jsxs","Styled.Container","StudentInfo","FlexView","KeyNeed","Fragment","RealWorldProjects","SchoolSupport","TeacherObservations","Strategies","ParentSupport","UpcomingChapters","StickyFooter","ptmReport","memo"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3688,6 +3688,8 @@ declare interface IProjects_2 {
|
|
|
3688
3688
|
declare interface IPTMReportProps {
|
|
3689
3689
|
ptmId: string;
|
|
3690
3690
|
onAPIComplete?: (success: boolean) => void;
|
|
3691
|
+
onFeedback?: (feedbackType: 'positive' | 'negative', ptmId: string) => void;
|
|
3692
|
+
showFeedback?: boolean;
|
|
3691
3693
|
}
|
|
3692
3694
|
|
|
3693
3695
|
declare interface IPublishData {
|