@cuemath/leap 4.1.1-beta.1 → 4.1.1-beta.3

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.
@@ -1,30 +1,29 @@
1
1
  import { jsx as e, jsxs as n, Fragment as S } from "react/jsx-runtime";
2
- import { memo as ye, useState as Pe, useCallback as l, useEffect as _ } from "react";
3
- import { usePTMReportGet as Me } from "./api/use-ptm-report-get.js";
4
- import { EPTMTypes as Ne } from "./ptm-report-types.js";
5
- import De from "../../../ui/loader/app-loader/app-loader.js";
6
- import Oe from "./comps/student-info/student-info.js";
7
- import { Container as ve } from "./ptm-report-styled.js";
2
+ import { memo as ye, useState as Me, useCallback as l, useEffect as _ } from "react";
3
+ import { usePTMReportGet as De } from "./api/use-ptm-report-get.js";
4
+ import { EPTMTypes as Pe } from "./ptm-report-types.js";
5
+ import Oe from "../../../ui/loader/app-loader/app-loader.js";
6
+ import ve from "./comps/student-info/student-info.js";
7
+ import { Container as je } from "./ptm-report-styled.js";
8
8
  import Ae from "./comps/key-need/key-need.js";
9
- import je from "../../../ui/layout/flex-view.js";
10
- import Fe from "./comps/teacher-observations/teacher-observations.js";
9
+ import Fe from "../../../ui/layout/flex-view.js";
10
+ import Ne from "./comps/teacher-observations/teacher-observations.js";
11
11
  import xe from "./comps/strategies/strategies.js";
12
- import Ge from "./comps/parent-support/parent-support.js";
13
- import Ue from "./comps/upcoming-chapters/upcoming-chapters.js";
14
- import Ee from "./comps/real-world-projects/real-world-projects.js";
15
- import He from "./comps/school-support/school-support.js";
12
+ import Ee from "./comps/parent-support/parent-support.js";
13
+ import Ge from "./comps/upcoming-chapters/upcoming-chapters.js";
14
+ import He from "./comps/real-world-projects/real-world-projects.js";
15
+ import Ue from "./comps/school-support/school-support.js";
16
16
  import We from "../../../ui/error/error.js";
17
17
  import $e from "./comps/sticky-footer/sticky-footer.js";
18
18
  import Xe from "../../../ui/separator/separator.js";
19
- import { IS_APP_RUNNING_IN_RN as Ke } from "../../../../constants/app-config.js";
20
- const Le = ({ ptmId: o, onAPIComplete: s, onFeedback: c }) => {
21
- const [t, T] = Pe(null), {
19
+ const Ke = ({ ptmId: o, onAPIComplete: s, onFeedback: c }) => {
20
+ const [t, T] = Me(null), {
22
21
  get: u,
23
22
  data: p,
24
23
  isProcessing: b,
25
24
  isProcessed: i,
26
25
  isProcessingFailed: a
27
- } = Me(o), { report: w, meta: y } = p || {}, { parent_feedback_given: P } = y || {}, { teacher_data: M } = w || {}, { name: k, gender: N } = M || {}, R = N === "female" ? "Ma'am" : "Sir", D = l((r) => {
26
+ } = De(o), { report: w, meta: y } = p || {}, { parent_feedback_given: M } = y || {}, { teacher_data: D } = w || {}, { name: k, gender: P } = D || {}, R = P === "female" ? "Ma'am" : "Sir", O = l((r) => {
28
27
  T(r);
29
28
  }, []), C = l(() => {
30
29
  if (c && t) {
@@ -41,26 +40,26 @@ const Le = ({ ptmId: o, onAPIComplete: s, onFeedback: c }) => {
41
40
  }, [i, a, s]), _(() => {
42
41
  t && (console.log("submitting feedback:", t), C());
43
42
  }, [t, C]), b || !p)
44
- return /* @__PURE__ */ e(De, { height: "100dvh" });
43
+ return /* @__PURE__ */ e(Oe, { height: "100dvh" });
45
44
  if (a)
46
45
  return /* @__PURE__ */ e(We, { onTryAgain: m, height: "100dvh" });
47
- const { ptm_config: O, report: v } = p || {}, { report_sections: A, student_data: j } = v || {}, { ptm_type: h, config: F } = O || {}, { ptm_report_sections: x, late_if_minutes: G } = F || {}, {
48
- teacher_observation: U,
46
+ const { ptm_config: v, report: j } = p || {}, { ptm_type: h, config: A } = v || {}, { ptm_report_sections: F, late_if_minutes: N } = A || {}, {
47
+ teacher_observation: x,
49
48
  learning_strategy: E,
50
- parent_support: H,
51
- school_support: W
52
- } = x || {}, { subsections: $ } = W || {}, { homework_help: X, test_help: K } = $ || {}, { options: L } = H || {}, { strategies: V } = E || {}, { subsections: q } = U || {}, {
53
- focus_area: z,
54
- strengths: B,
55
- teacher_remarks: J
56
- } = q || {}, { areas: Q = [], report_tag: Y } = z || {}, { areas: Z = [] } = B || {}, { report_tag: I } = J || {}, {
49
+ parent_support: G,
50
+ school_support: H
51
+ } = F || {}, { subsections: U } = H || {}, { homework_help: W, test_help: $ } = U || {}, { options: X } = G || {}, { strategies: K } = E || {}, { subsections: L } = x || {}, {
52
+ focus_area: V,
53
+ strengths: q,
54
+ teacher_remarks: z
55
+ } = L || {}, { areas: B = [], report_tag: J } = V || {}, { areas: Q = [] } = q || {}, { report_tag: Y } = z || {}, { report_sections: Z, student_data: I } = j, {
57
56
  teacher_observation: ee,
58
57
  parent_support: te,
59
58
  strategies: oe,
60
59
  real_world_project: re,
61
60
  school_support: se,
62
61
  upcoming_chapters: ae
63
- } = A || {}, { homework_help: ne, test_help: ce } = se || {}, { upcoming_chapters: pe } = ae || {}, {
62
+ } = Z || {}, { homework_help: ne, test_help: ce } = se || {}, { upcoming_chapters: pe } = ae || {}, {
64
63
  strengths: ie = {},
65
64
  focus_area: me,
66
65
  teacher_remarks: he
@@ -72,61 +71,61 @@ const Le = ({ ptmId: o, onAPIComplete: s, onFeedback: c }) => {
72
71
  homework_data: de,
73
72
  late_class_data: le = [],
74
73
  real_world_project: _e
75
- } = j || {}, { classes_completed: ue, weeks_completed: ke } = fe || {}, { sheets_assigned: Re, sheets_not_completed: Ce } = de || {}, Se = Q.find(
74
+ } = I || {}, { classes_completed: ue, weeks_completed: ke } = fe || {}, { sheets_assigned: Re, sheets_not_completed: Ce } = de || {}, Se = B.find(
76
75
  ({ area_key: r }) => r === me
77
- ), Te = (f == null ? void 0 : f.key_need) ?? "", d = h === Ne.ON_DEMAND, be = le.length, we = h && h.split("_").includes("UPGRADE");
78
- return /* @__PURE__ */ n(ve, { children: [
79
- /* @__PURE__ */ e(Oe, { name: g, grade: ge }),
80
- /* @__PURE__ */ n(je, { $gutterX: 1, $gapX: 1, children: [
76
+ ), Te = (f == null ? void 0 : f.key_need) ?? "", d = h === Pe.ON_DEMAND, be = le.length, we = h && h.split("_").includes("UPGRADE");
77
+ return /* @__PURE__ */ n(je, { children: [
78
+ /* @__PURE__ */ e(ve, { name: g, grade: ge }),
79
+ /* @__PURE__ */ n(Fe, { $gutterX: 1, $gapX: 1, children: [
81
80
  /* @__PURE__ */ e(Ae, { text: Te }),
82
81
  (d || we) && /* @__PURE__ */ n(S, { children: [
83
- /* @__PURE__ */ e(Ee, { projectReport: re, projectInfo: _e }),
82
+ /* @__PURE__ */ e(He, { projectReport: re, projectInfo: _e }),
84
83
  /* @__PURE__ */ e(
85
- He,
84
+ Ue,
86
85
  {
87
86
  homeworkHelpReport: ne,
88
- homeworkHelpConfig: X,
87
+ homeworkHelpConfig: W,
89
88
  testHelpReport: ce,
90
- testHelpConfig: K,
89
+ testHelpConfig: $,
91
90
  studentName: g,
92
91
  isOnDemandPTM: d
93
92
  }
94
93
  )
95
94
  ] }),
96
95
  /* @__PURE__ */ e(
97
- Fe,
96
+ Ne,
98
97
  {
99
- strengthAreas: Z,
98
+ strengthAreas: Q,
100
99
  strengthsReport: ie,
101
100
  focusArea: Se,
102
- focusAreaReportTag: Y,
101
+ focusAreaReportTag: J,
103
102
  teacherRemarks: he,
104
- teacherRemarkTag: I
103
+ teacherRemarkTag: Y
105
104
  }
106
105
  ),
107
- /* @__PURE__ */ e(xe, { report: oe, strategyConfig: V }),
106
+ /* @__PURE__ */ e(xe, { report: oe, strategyConfig: K }),
108
107
  /* @__PURE__ */ e(
109
- Ge,
108
+ Ee,
110
109
  {
111
110
  report: te,
112
- options: L,
111
+ options: X,
113
112
  classesCompleted: ue,
114
113
  weeksCompleted: ke,
115
114
  sheetsAssigned: Re,
116
115
  sheetsNotCompleted: Ce,
117
116
  lateClassesCount: be,
118
- lateIfMinutes: G
117
+ lateIfMinutes: N
119
118
  }
120
119
  ),
121
- d && /* @__PURE__ */ e(Ue, { chapters: pe })
120
+ d && /* @__PURE__ */ e(Ge, { chapters: pe })
122
121
  ] }),
123
- !P && Ke && /* @__PURE__ */ n(S, { children: [
122
+ !M && /* @__PURE__ */ n(S, { children: [
124
123
  /* @__PURE__ */ e(Xe, { heightX: 11 }),
125
- /* @__PURE__ */ e($e, { studentName: g, onFeedback: D })
124
+ /* @__PURE__ */ e($e, { studentName: g, onFeedback: O })
126
125
  ] })
127
126
  ] });
128
- }, ht = ye(Le);
127
+ }, it = ye(Ke);
129
128
  export {
130
- ht as default
129
+ it as default
131
130
  };
132
131
  //# 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, 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';\nimport Separator from '../../../ui/separator/separator';\nimport { IS_APP_RUNNING_IN_RN } from '../../../../constants/app-config';\n\nconst PTMReport: FC<IPTMReportProps> = ({ ptmId, onAPIComplete, onFeedback }) => {\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 { report: ptmReport, meta } = ptmReportData || {};\n\n const { parent_feedback_given: parentFeedbackGiven } = meta || {};\n const { teacher_data: teacherData } = ptmReport || {};\n const { name: teacherName, gender: teacherGender } = teacherData || {};\n\n const teacherHonorific = teacherGender === 'female' ? \"Ma'am\" : 'Sir';\n\n const handleFeedback = useCallback((type: 'positive' | 'negative') => {\n setFeedback(type);\n }, []);\n\n const handleSubmit = useCallback(() => {\n if (onFeedback && feedback) {\n const feedbackTeacherName = `${teacherName} ${teacherHonorific}`;\n\n onFeedback(feedback, ptmId, feedbackTeacherName);\n }\n }, [feedback, ptmId, onFeedback, teacherName, teacherHonorific]);\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 useEffect(() => {\n if (feedback) {\n // eslint-disable-next-line no-console\n console.log('submitting feedback:', feedback);\n handleSubmit();\n }\n }, [feedback, handleSubmit]);\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\n const { report_sections: reportSections, student_data: studentData } = report || {};\n\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 {\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 {!parentFeedbackGiven && IS_APP_RUNNING_IN_RN && (\n <>\n <Separator heightX={11} />\n <StickyFooter studentName={studentName} onFeedback={handleFeedback} />\n </>\n )}\n </Styled.Container>\n );\n};\n\nexport default memo(PTMReport);\n"],"names":["PTMReport","ptmId","onAPIComplete","onFeedback","feedback","setFeedback","useState","getPTMReport","ptmReportData","isProcessing","isProcessed","isProcessingFailed","usePTMReportGet","ptmReport","meta","parentFeedbackGiven","teacherData","teacherName","teacherGender","teacherHonorific","handleFeedback","useCallback","type","handleSubmit","feedbackTeacherName","fetchPTMReport","useEffect","jsx","AppLoader","Error","ptmConfig","report","reportSections","studentData","ptmType","config","sectionsConfig","lateIfMinutes","teacherObservationConfig","strategyConfig","parentSupportConfig","schoolSupportConfig","schoolSubsections","homeworkConfig","testConfig","parentOptions","strategiesConfig","teacherSubsections","focusAreaConfig","strengthsConfig","remarksConfig","focusAreas","focusAreaTag","strengthAreas","remarksTag","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","IS_APP_RUNNING_IN_RN","Separator","StickyFooter","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';\nimport Separator from '../../../ui/separator/separator';\n\nconst PTMReport: FC<IPTMReportProps> = ({ ptmId, onAPIComplete, onFeedback }) => {\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 { report: ptmReport, meta } = ptmReportData || {};\n\n const { parent_feedback_given: parentFeedbackGiven } = meta || {};\n const { teacher_data: teacherData } = ptmReport || {};\n const { name: teacherName, gender: teacherGender } = teacherData || {};\n\n const teacherHonorific = teacherGender === 'female' ? \"Ma'am\" : 'Sir';\n\n const handleFeedback = useCallback((type: 'positive' | 'negative') => {\n setFeedback(type);\n }, []);\n\n const handleSubmit = useCallback(() => {\n if (onFeedback && feedback) {\n const feedbackTeacherName = `${teacherName} ${teacherHonorific}`;\n\n onFeedback(feedback, ptmId, feedbackTeacherName);\n }\n }, [feedback, ptmId, onFeedback, teacherName, teacherHonorific]);\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 useEffect(() => {\n if (feedback) {\n // eslint-disable-next-line no-console\n console.log('submitting feedback:', feedback);\n handleSubmit();\n }\n }, [feedback, handleSubmit]);\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 {!parentFeedbackGiven && (\n <>\n <Separator heightX={11} />\n <StickyFooter studentName={studentName} onFeedback={handleFeedback} />\n </>\n )}\n </Styled.Container>\n );\n};\n\nexport default memo(PTMReport);\n"],"names":["PTMReport","ptmId","onAPIComplete","onFeedback","feedback","setFeedback","useState","getPTMReport","ptmReportData","isProcessing","isProcessed","isProcessingFailed","usePTMReportGet","ptmReport","meta","parentFeedbackGiven","teacherData","teacherName","teacherGender","teacherHonorific","handleFeedback","useCallback","type","handleSubmit","feedbackTeacherName","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","Separator","StickyFooter","memo"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "4.1.1-beta.1",
3
+ "version": "4.1.1-beta.3",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"