@cuemath/leap 3.3.12-j2 → 3.3.12-pawar.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.
Files changed (74) hide show
  1. package/dist/features/auth/comps/pill-button/pill-button.js +19 -19
  2. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  3. package/dist/features/auth/pla-signup/pla-analytics-events.js +4 -5
  4. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  5. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +42 -45
  6. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  7. package/dist/features/parent-dashboard/parent-dashboard-types.js +2 -3
  8. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  9. package/dist/features/parent-dashboard/parent-dashboard-view.js +127 -139
  10. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  11. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +7 -8
  12. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -1
  13. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +26 -27
  14. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -1
  15. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +13 -15
  16. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
  17. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +1 -1
  18. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
  19. package/dist/features/trial-session/comps/worksheet/worksheet.js +22 -22
  20. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  21. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  22. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +18 -17
  23. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  24. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  25. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +31 -30
  26. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  27. package/dist/index.d.ts +18 -54
  28. package/dist/index.js +218 -232
  29. package/dist/index.js.map +1 -1
  30. package/dist/node_modules/query-string/base.js +1 -1
  31. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  32. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  33. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  34. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  35. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  36. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  37. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  38. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  39. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  40. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  41. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  42. package/package.json +2 -3
  43. package/dist/features/parent-dashboard/api/get-student-profile-summary.js +0 -9
  44. package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +0 -1
  45. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js +0 -9
  46. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js.map +0 -1
  47. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +0 -42
  48. package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +0 -1
  49. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js +0 -20
  50. package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js.map +0 -1
  51. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js +0 -40
  52. package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js.map +0 -1
  53. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js +0 -44
  54. package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js.map +0 -1
  55. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js +0 -32
  56. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +0 -1
  57. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +0 -13
  58. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +0 -1
  59. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +0 -44
  60. package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +0 -1
  61. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +0 -14
  62. package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +0 -1
  63. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +0 -28
  64. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +0 -1
  65. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js +0 -43
  66. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js.map +0 -1
  67. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +0 -59
  68. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +0 -1
  69. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js +0 -86
  70. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js.map +0 -1
  71. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  72. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  73. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  74. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -1,9 +1,9 @@
1
- import { jsx as o, jsxs as R } from "react/jsx-runtime";
2
- import { memo as _, useState as L, useCallback as l, useEffect as j } from "react";
3
- import { useTheme as k } from "styled-components";
4
- import y from "../../../ui/arrow-tooltip/arrow-tooltip.js";
5
- import B from "../../../ui/hooks/use-click-handler.js";
6
- import O from "../../../ui/layout/flex-view.js";
1
+ import { jsx as o, jsxs as _ } from "react/jsx-runtime";
2
+ import { memo as j, useState as L, useCallback as l, useEffect as k } from "react";
3
+ import { useTheme as y } from "styled-components";
4
+ import B from "../../../ui/arrow-tooltip/arrow-tooltip.js";
5
+ import O from "../../../ui/hooks/use-click-handler.js";
6
+ import P from "../../../ui/layout/flex-view.js";
7
7
  import S from "../../../ui/lottie-animation/lottie-animation.js";
8
8
  import { Wrapper as X, IconWrapper as Y, Label as D } from "./pill-button-styled.js";
9
9
  const F = {
@@ -20,21 +20,21 @@ const F = {
20
20
  onClick: c,
21
21
  tooltip: f,
22
22
  width: A,
23
- analyticsLabel: $,
24
- analyticsProps: g,
25
- isTransparent: v = !1
23
+ analyticsLabel: g,
24
+ analyticsProps: v,
25
+ isTransparent: C = !1
26
26
  }) => {
27
- const [C, h] = L(!1), [n, E] = L(!1), { colors: m } = k(), s = !!u, I = l(() => {
27
+ const [$, h] = L(!1), [n, E] = L(!1), { colors: m } = y(), s = !!u, I = l(() => {
28
28
  c(i);
29
- }, [i, c]), { handleClick: w } = B({ label: a, analyticsLabel: $, analyticsProps: g }, I);
30
- j(() => {
29
+ }, [i, c]), { handleClick: w } = O({ label: a, analyticsLabel: g, analyticsProps: v }, I);
30
+ k(() => {
31
31
  if (!s || e) return;
32
32
  const M = setInterval(() => {
33
- E((P) => !P);
33
+ E((R) => !R);
34
34
  }, 1e3);
35
35
  return () => clearInterval(M);
36
36
  }, [e, s]);
37
- const H = l(() => h(!0), []), T = l(() => h(!1), []), p = !!r && !e && (s || t || C), W = m[n ? "YELLOW_4" : "WHITE_1"], b = m[n && !t ? "YELLOW_4" : "WHITE_1"], d = n ? u : a, x = /* @__PURE__ */ o(
37
+ const H = l(() => h(!0), []), T = l(() => h(!1), []), p = !!r && !e && (s || t || $), W = m[n ? "YELLOW_4" : "WHITE_1"], b = m[n && !t ? "YELLOW_4" : "WHITE_1"], d = n ? u : a, x = /* @__PURE__ */ o(
38
38
  X,
39
39
  {
40
40
  selected: t,
@@ -44,9 +44,9 @@ const F = {
44
44
  onMouseLeave: T,
45
45
  width: A,
46
46
  borderColor: W,
47
- isTransparent: v,
48
- children: /* @__PURE__ */ R(
49
- O,
47
+ isTransparent: C,
48
+ children: /* @__PURE__ */ _(
49
+ P,
50
50
  {
51
51
  $flexDirection: "row",
52
52
  $alignItems: "center",
@@ -71,8 +71,8 @@ const F = {
71
71
  )
72
72
  }
73
73
  );
74
- return e && f ? /* @__PURE__ */ o(y, { renderAs: "primary", tooltipItem: f, position: "top", children: x }) : x;
75
- }, et = _(G);
74
+ return e && f ? /* @__PURE__ */ o(B, { renderAs: "primary", tooltipItem: f, position: "top", children: x }) : x;
75
+ }, et = j(G);
76
76
  export {
77
77
  et as default
78
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pill-button.js","sources":["../../../../../src/features/auth/comps/pill-button/pill-button.tsx"],"sourcesContent":["import type { IPillButtonProps } from './pill-button-types';\n\nimport { useCallback, useEffect, useState, type FC, memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport useClickHandler from '../../../ui/hooks/use-click-handler';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './pill-button-styled';\n\nconst lottieSettings = {\n autoplay: true,\n loop: true,\n renderer: 'canvas',\n};\n\nconst PillButton: FC<IPillButtonProps> = ({\n id,\n label,\n selected = false,\n disabled = false,\n animatedLabel = '',\n icon,\n onClick,\n tooltip,\n width,\n analyticsLabel,\n analyticsProps,\n isTransparent = false,\n}) => {\n const [isHovered, setHovered] = useState(false);\n const [highlightPhase, setHighlightPhase] = useState(false);\n const { colors } = useTheme();\n const shouldAnimate = !!animatedLabel;\n\n const handleSelect = useCallback(() => {\n onClick(id);\n }, [id, onClick]);\n\n const { handleClick } = useClickHandler({ label, analyticsLabel, analyticsProps }, handleSelect);\n\n useEffect(() => {\n if (!shouldAnimate || disabled) return;\n\n const interval = setInterval(() => {\n setHighlightPhase(prev => !prev);\n }, 1000);\n\n return () => clearInterval(interval);\n }, [disabled, shouldAnimate]);\n\n const handleMouseEnter = useCallback(() => setHovered(true), []);\n const handleMouseLeave = useCallback(() => setHovered(false), []);\n\n const showLottie = !!icon && !disabled && (shouldAnimate || selected || isHovered);\n\n const borderColor = colors[highlightPhase ? 'YELLOW_4' : 'WHITE_1'];\n const textColor = colors[highlightPhase && !selected ? 'YELLOW_4' : 'WHITE_1'];\n const currentLabel = highlightPhase ? animatedLabel : label;\n const defaultTextRenderAs = selected ? 'ub2-bold' : 'ub2';\n const textRenderAs = highlightPhase ? (selected ? 'ub3-bold' : 'ub3') : defaultTextRenderAs;\n\n const ButtonContent = (\n <Styled.Wrapper\n selected={selected}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n width={width}\n borderColor={borderColor}\n isTransparent={isTransparent}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexColumnGapX={0.25}\n >\n {icon && (\n <Styled.IconWrapper $widthX={1} $heightX={1} $showLottie={showLottie}>\n <LottieAnimation src={icon} settings={lottieSettings} />\n </Styled.IconWrapper>\n )}\n <Styled.Label\n key={currentLabel}\n shouldOffsetLabel={showLottie || !icon}\n selected={selected}\n disabled={disabled}\n $renderAs={textRenderAs}\n textColor={textColor}\n >\n {currentLabel}\n </Styled.Label>\n </FlexView>\n </Styled.Wrapper>\n );\n\n return disabled && tooltip ? (\n <ArrowTooltip renderAs=\"primary\" tooltipItem={tooltip} position=\"top\">\n {ButtonContent}\n </ArrowTooltip>\n ) : (\n ButtonContent\n );\n};\n\nexport default memo(PillButton);\n"],"names":["lottieSettings","PillButton","id","label","selected","disabled","animatedLabel","icon","onClick","tooltip","width","analyticsLabel","analyticsProps","isTransparent","isHovered","setHovered","useState","highlightPhase","setHighlightPhase","colors","useTheme","shouldAnimate","handleSelect","useCallback","handleClick","useClickHandler","useEffect","interval","prev","handleMouseEnter","handleMouseLeave","showLottie","borderColor","textColor","currentLabel","ButtonContent","jsx","Styled.Wrapper","jsxs","FlexView","Styled.IconWrapper","LottieAnimation","Styled.Label","ArrowTooltip","PillButton$1","memo"],"mappings":";;;;;;;;AAWA,MAAMA,IAAiB;AAAA,EACrB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ,GAEMC,IAAmC,CAAC;AAAA,EACxC,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC,IAAgB;AAClB,MAAM;AACJ,QAAM,CAACC,GAAWC,CAAU,IAAIC,EAAS,EAAK,GACxC,CAACC,GAAgBC,CAAiB,IAAIF,EAAS,EAAK,GACpD,EAAE,QAAAG,MAAWC,KACbC,IAAgB,CAAC,CAACf,GAElBgB,IAAeC,EAAY,MAAM;AACrC,IAAAf,EAAQN,CAAE;AAAA,EAAA,GACT,CAACA,GAAIM,CAAO,CAAC,GAEV,EAAE,aAAAgB,EAAgB,IAAAC,EAAgB,EAAE,OAAAtB,GAAO,gBAAAQ,GAAgB,gBAAAC,KAAkBU,CAAY;AAE/F,EAAAI,EAAU,MAAM;AACV,QAAA,CAACL,KAAiBhB,EAAU;AAE1B,UAAAsB,IAAW,YAAY,MAAM;AACf,MAAAT,EAAA,CAAAU,MAAQ,CAACA,CAAI;AAAA,OAC9B,GAAI;AAEA,WAAA,MAAM,cAAcD,CAAQ;AAAA,EAAA,GAClC,CAACtB,GAAUgB,CAAa,CAAC;AAE5B,QAAMQ,IAAmBN,EAAY,MAAMR,EAAW,EAAI,GAAG,CAAA,CAAE,GACzDe,IAAmBP,EAAY,MAAMR,EAAW,EAAK,GAAG,CAAA,CAAE,GAE1DgB,IAAa,CAAC,CAACxB,KAAQ,CAACF,MAAagB,KAAiBjB,KAAYU,IAElEkB,IAAcb,EAAOF,IAAiB,aAAa,SAAS,GAC5DgB,IAAYd,EAAOF,KAAkB,CAACb,IAAW,aAAa,SAAS,GACvE8B,IAAejB,IAAiBX,IAAgBH,GAIhDgC,IACJ,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAAjC;AAAA,MACA,UAAAC;AAAA,MACA,SAASmB;AAAA,MACT,cAAcK;AAAA,MACd,cAAcC;AAAA,MACd,OAAApB;AAAA,MACA,aAAAsB;AAAA,MACA,eAAAnB;AAAA,MAEA,UAAA,gBAAAyB;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,gBAAe;AAAA,UACf,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,iBAAiB;AAAA,UAEhB,UAAA;AAAA,YAAAhC,uBACEiC,GAAA,EAAmB,SAAS,GAAG,UAAU,GAAG,aAAaT,GACxD,4BAACU,GAAgB,EAAA,KAAKlC,GAAM,UAAUP,EAAgB,CAAA,GACxD;AAAA,YAEF,gBAAAoC;AAAA,cAACM;AAAAA,cAAA;AAAA,gBAEC,mBAAmBX,KAAc,CAACxB;AAAA,gBAClC,UAAAH;AAAA,gBACA,UAAAC;AAAA,gBACA,WA7BaY,IAAkBb,IAAW,aAAa,QADnCA,IAAW,aAAa;AAAA,gBA+B5C,WAAA6B;AAAA,gBAEC,UAAAC;AAAA,cAAA;AAAA,cAPIA;AAAA,YAQP;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIG,SAAA7B,KAAYI,IACjB,gBAAA2B,EAACO,GAAa,EAAA,UAAS,WAAU,aAAalC,GAAS,UAAS,OAC7D,UAAA0B,EAAA,CACH,IAEAA;AAEJ,GAEeS,KAAAC,EAAK5C,CAAU;"}
1
+ {"version":3,"file":"pill-button.js","sources":["../../../../../src/features/auth/comps/pill-button/pill-button.tsx"],"sourcesContent":["import type { IPillButtonProps } from './pill-button-types';\n\nimport { useCallback, useEffect, useState, type FC, memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport useClickHandler from '../../../ui/hooks/use-click-handler';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport * as Styled from './pill-button-styled';\n\nconst lottieSettings = {\n autoplay: true,\n loop: true,\n renderer: 'canvas',\n};\n\nconst PillButton: FC<IPillButtonProps> = ({\n id,\n label,\n selected = false,\n disabled = false,\n animatedLabel = '',\n icon,\n onClick,\n tooltip,\n width,\n analyticsLabel,\n analyticsProps,\n isTransparent = false,\n}) => {\n const [isHovered, setHovered] = useState(false);\n const [highlightPhase, setHighlightPhase] = useState(false);\n const { colors } = useTheme();\n const shouldAnimate = !!animatedLabel;\n\n const handleSelect = useCallback(() => {\n onClick(id);\n }, [id, onClick]);\n\n const { handleClick } = useClickHandler({ label, analyticsLabel, analyticsProps }, handleSelect);\n\n useEffect(() => {\n if (!shouldAnimate || disabled) return;\n\n const interval = setInterval(() => {\n setHighlightPhase(prev => !prev);\n }, 1000);\n\n return () => clearInterval(interval);\n }, [disabled, shouldAnimate]);\n\n const handleMouseEnter = useCallback(() => setHovered(true), []);\n const handleMouseLeave = useCallback(() => setHovered(false), []);\n\n const showLottie = !!icon && !disabled && (shouldAnimate || selected || isHovered);\n\n const borderColor = colors[highlightPhase ? 'YELLOW_4' : 'WHITE_1'];\n const textColor = colors[highlightPhase && !selected ? 'YELLOW_4' : 'WHITE_1'];\n const currentLabel = highlightPhase ? animatedLabel : label;\n const defaultTextRenderAs = selected ? 'ub2-bold' : 'ub2';\n const textRenderAs = highlightPhase ? (selected ? 'ub3-bold' : 'ub3') : defaultTextRenderAs;\n\n const ButtonContent = (\n <Styled.Wrapper\n selected={selected}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n width={width}\n borderColor={borderColor}\n isTransparent={isTransparent}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexColumnGapX={0.25}\n >\n {icon && (\n <Styled.IconWrapper $widthX={1} $heightX={1} $showLottie={showLottie}>\n <LottieAnimation src={icon} settings={lottieSettings} />\n </Styled.IconWrapper>\n )}\n <Styled.Label\n key={currentLabel}\n shouldOffsetLabel={showLottie || !icon}\n selected={selected}\n disabled={disabled}\n $renderAs={textRenderAs}\n textColor={textColor}\n >\n {currentLabel}\n </Styled.Label>\n </FlexView>\n </Styled.Wrapper>\n );\n\n return disabled && tooltip ? (\n <ArrowTooltip renderAs=\"primary\" tooltipItem={tooltip} position=\"top\">\n {ButtonContent}\n </ArrowTooltip>\n ) : (\n ButtonContent\n );\n};\n\nexport default memo(PillButton);\n"],"names":["lottieSettings","PillButton","id","label","selected","disabled","animatedLabel","icon","onClick","tooltip","width","analyticsLabel","analyticsProps","isTransparent","isHovered","setHovered","useState","highlightPhase","setHighlightPhase","colors","useTheme","shouldAnimate","handleSelect","useCallback","handleClick","useClickHandler","useEffect","interval","prev","handleMouseEnter","handleMouseLeave","showLottie","borderColor","textColor","currentLabel","ButtonContent","jsx","Styled.Wrapper","jsxs","FlexView","Styled.IconWrapper","LottieAnimation","Styled.Label","ArrowTooltip","pillButton","memo"],"mappings":";;;;;;;;AAWA,MAAMA,IAAiB;AAAA,EACrB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ,GAEMC,IAAmC,CAAC;AAAA,EACxC,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC,IAAgB;AAClB,MAAM;AACJ,QAAM,CAACC,GAAWC,CAAU,IAAIC,EAAS,EAAK,GACxC,CAACC,GAAgBC,CAAiB,IAAIF,EAAS,EAAK,GACpD,EAAE,QAAAG,MAAWC,KACbC,IAAgB,CAAC,CAACf,GAElBgB,IAAeC,EAAY,MAAM;AACrC,IAAAf,EAAQN,CAAE;AAAA,EAAA,GACT,CAACA,GAAIM,CAAO,CAAC,GAEV,EAAE,aAAAgB,EAAgB,IAAAC,EAAgB,EAAE,OAAAtB,GAAO,gBAAAQ,GAAgB,gBAAAC,KAAkBU,CAAY;AAE/F,EAAAI,EAAU,MAAM;AACV,QAAA,CAACL,KAAiBhB,EAAU;AAE1B,UAAAsB,IAAW,YAAY,MAAM;AACf,MAAAT,EAAA,CAAAU,MAAQ,CAACA,CAAI;AAAA,OAC9B,GAAI;AAEA,WAAA,MAAM,cAAcD,CAAQ;AAAA,EAAA,GAClC,CAACtB,GAAUgB,CAAa,CAAC;AAE5B,QAAMQ,IAAmBN,EAAY,MAAMR,EAAW,EAAI,GAAG,CAAA,CAAE,GACzDe,IAAmBP,EAAY,MAAMR,EAAW,EAAK,GAAG,CAAA,CAAE,GAE1DgB,IAAa,CAAC,CAACxB,KAAQ,CAACF,MAAagB,KAAiBjB,KAAYU,IAElEkB,IAAcb,EAAOF,IAAiB,aAAa,SAAS,GAC5DgB,IAAYd,EAAOF,KAAkB,CAACb,IAAW,aAAa,SAAS,GACvE8B,IAAejB,IAAiBX,IAAgBH,GAIhDgC,IACJ,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAAjC;AAAA,MACA,UAAAC;AAAA,MACA,SAASmB;AAAA,MACT,cAAcK;AAAA,MACd,cAAcC;AAAA,MACd,OAAApB;AAAA,MACA,aAAAsB;AAAA,MACA,eAAAnB;AAAA,MAEA,UAAA,gBAAAyB;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,gBAAe;AAAA,UACf,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAChB,iBAAiB;AAAA,UAEhB,UAAA;AAAA,YAAAhC,uBACEiC,GAAA,EAAmB,SAAS,GAAG,UAAU,GAAG,aAAaT,GACxD,4BAACU,GAAgB,EAAA,KAAKlC,GAAM,UAAUP,EAAgB,CAAA,GACxD;AAAA,YAEF,gBAAAoC;AAAA,cAACM;AAAAA,cAAA;AAAA,gBAEC,mBAAmBX,KAAc,CAACxB;AAAA,gBAClC,UAAAH;AAAA,gBACA,UAAAC;AAAA,gBACA,WA7BaY,IAAkBb,IAAW,aAAa,QADnCA,IAAW,aAAa;AAAA,gBA+B5C,WAAA6B;AAAA,gBAEC,UAAAC;AAAA,cAAA;AAAA,cAPIA;AAAA,YAQP;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIG,SAAA7B,KAAYI,IACjB,gBAAA2B,EAACO,GAAa,EAAA,UAAS,WAAU,aAAalC,GAAS,UAAS,OAC7D,UAAA0B,EAAA,CACH,IAEAA;AAEJ,GAEeS,KAAAC,EAAK5C,CAAU;"}
@@ -1,6 +1,6 @@
1
1
  import { PLUGINS as _ } from "../../../node_modules/@cuemath/analytics-v2/dist/constants.js";
2
- var s = /* @__PURE__ */ ((e) => (e.START_SIGNUP_CTA_CLICKED = "start_signup_cta_clicked", e.ECNA_STEP_VIEWED = "ecna_step_viewed", e.ECNA_RESPONSE_RECORDED_DEBUG = "ecna_response_recorded_debug", e.PARENT_SIGNUP_CTA_CLICKED = "parent_signup_cta_clicked", e.PARENT_SIGNUP_SUCCESSFUL = "parent_signup_successful", e.PARENT_SIGNUP_FAILED = "parent_signup_failed", e.STUDENT_SIGNUP_SUCCESSFUL = "signup_successful", e.STUDENT_SIGNUP_FAILED = "signup_failed", e.SIGNUP_OTP_ENTERED = "signup_otp_entered", e.SIGNUP_OTP_VERIFIED = "signup_otp_verified", e.SIGNUP_OTP_FAILED = "signup_otp_failed", e.SLOTS_SHOWN = "slots_shown", e.SLOT_DATE_SELECTED = "slot_date_selected", e.SLOT_TIME_SELECTED = "slot_time_selected", e.TUTOR_CHANGE_REASON_SELECTED = "tutor_change_reason_selected", e))(s || {});
3
- const n = {
2
+ var s = /* @__PURE__ */ ((e) => (e.START_SIGNUP_CTA_CLICKED = "start_signup_cta_clicked", e.ECNA_STEP_VIEWED = "ecna_step_viewed", e.ECNA_RESPONSE_RECORDED_DEBUG = "ecna_response_recorded_debug", e.PARENT_SIGNUP_CTA_CLICKED = "parent_signup_cta_clicked", e.PARENT_SIGNUP_SUCCESSFUL = "parent_signup_successful", e.PARENT_SIGNUP_FAILED = "parent_signup_failed", e.STUDENT_SIGNUP_SUCCESSFUL = "signup_successful", e.STUDENT_SIGNUP_FAILED = "signup_failed", e.SIGNUP_OTP_ENTERED = "signup_otp_entered", e.SIGNUP_OTP_VERIFIED = "signup_otp_verified", e.SIGNUP_OTP_FAILED = "signup_otp_failed", e.SLOTS_SHOWN = "slots_shown", e.SLOT_DATE_SELECTED = "slot_date_selected", e.SLOT_TIME_SELECTED = "slot_time_selected", e))(s || {});
3
+ const i = {
4
4
  start_signup_cta_clicked: [_.MIXPANEL],
5
5
  ecna_step_viewed: [_.MIXPANEL],
6
6
  ecna_response_recorded_debug: [_.MIXPANEL],
@@ -14,11 +14,10 @@ const n = {
14
14
  signup_otp_failed: [_.MIXPANEL],
15
15
  slots_shown: [_.MIXPANEL],
16
16
  slot_date_selected: [_.MIXPANEL],
17
- slot_time_selected: [_.MIXPANEL],
18
- tutor_change_reason_selected: [_.MIXPANEL]
17
+ slot_time_selected: [_.MIXPANEL]
19
18
  };
20
19
  export {
21
20
  s as PLA_ANALYTICS_EVENTS,
22
- n as PLA_ANALYTICS_WHITELIST_EVENTS
21
+ i as PLA_ANALYTICS_WHITELIST_EVENTS
23
22
  };
24
23
  //# sourceMappingURL=pla-analytics-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pla-analytics-events.js","sources":["../../../../src/features/auth/pla-signup/pla-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum PLA_ANALYTICS_EVENTS {\n START_SIGNUP_CTA_CLICKED = 'start_signup_cta_clicked',\n ECNA_STEP_VIEWED = 'ecna_step_viewed',\n ECNA_RESPONSE_RECORDED_DEBUG = 'ecna_response_recorded_debug',\n PARENT_SIGNUP_CTA_CLICKED = 'parent_signup_cta_clicked',\n PARENT_SIGNUP_SUCCESSFUL = 'parent_signup_successful',\n PARENT_SIGNUP_FAILED = 'parent_signup_failed',\n STUDENT_SIGNUP_SUCCESSFUL = 'signup_successful',\n STUDENT_SIGNUP_FAILED = 'signup_failed',\n SIGNUP_OTP_ENTERED = 'signup_otp_entered',\n SIGNUP_OTP_VERIFIED = 'signup_otp_verified',\n SIGNUP_OTP_FAILED = 'signup_otp_failed',\n SLOTS_SHOWN = 'slots_shown',\n SLOT_DATE_SELECTED = 'slot_date_selected',\n SLOT_TIME_SELECTED = 'slot_time_selected',\n TUTOR_CHANGE_REASON_SELECTED = 'tutor_change_reason_selected',\n}\n\nexport const PLA_ANALYTICS_WHITELIST_EVENTS = {\n [PLA_ANALYTICS_EVENTS.START_SIGNUP_CTA_CLICKED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.ECNA_STEP_VIEWED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.ECNA_RESPONSE_RECORDED_DEBUG]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_CTA_CLICKED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_SUCCESSFUL]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.STUDENT_SIGNUP_SUCCESSFUL]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.STUDENT_SIGNUP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_ENTERED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_VERIFIED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOTS_SHOWN]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOT_DATE_SELECTED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOT_TIME_SELECTED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.TUTOR_CHANGE_REASON_SELECTED]: [PLUGINS.MIXPANEL],\n};\n"],"names":["PLA_ANALYTICS_EVENTS","PLA_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,2BAA2B,4BAC3BA,EAAA,mBAAmB,oBACnBA,EAAA,+BAA+B,gCAC/BA,EAAA,4BAA4B,6BAC5BA,EAAA,2BAA2B,4BAC3BA,EAAA,uBAAuB,wBACvBA,EAAA,4BAA4B,qBAC5BA,EAAA,wBAAwB,iBACxBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,oBAAoB,qBACpBA,EAAA,cAAc,eACdA,EAAA,qBAAqB,sBACrBA,EAAA,qBAAqB,sBACrBA,EAAA,+BAA+B,gCAfrBA,IAAAA,KAAA,CAAA,CAAA;AAkBL,MAAMC,IAAiC;AAAA,EAC3C,0BAAgD,CAACC,EAAQ,QAAQ;AAAA,EACjE,kBAAwC,CAACA,EAAQ,QAAQ;AAAA,EACzD,8BAAoD,CAACA,EAAQ,QAAQ;AAAA,EACrE,2BAAiD,CAACA,EAAQ,QAAQ;AAAA,EAClE,0BAAgD,CAACA,EAAQ,QAAQ;AAAA,EACjE,sBAA4C,CAACA,EAAQ,QAAQ;AAAA,EAC7D,mBAAiD,CAACA,EAAQ,QAAQ;AAAA,EAClE,eAA6C,CAACA,EAAQ,QAAQ;AAAA,EAC9D,oBAA0C,CAACA,EAAQ,QAAQ;AAAA,EAC3D,qBAA2C,CAACA,EAAQ,QAAQ;AAAA,EAC5D,mBAAyC,CAACA,EAAQ,QAAQ;AAAA,EAC1D,aAAmC,CAACA,EAAQ,QAAQ;AAAA,EACpD,oBAA0C,CAACA,EAAQ,QAAQ;AAAA,EAC3D,oBAA0C,CAACA,EAAQ,QAAQ;AAAA,EAC3D,8BAAoD,CAACA,EAAQ,QAAQ;AACxE;"}
1
+ {"version":3,"file":"pla-analytics-events.js","sources":["../../../../src/features/auth/pla-signup/pla-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum PLA_ANALYTICS_EVENTS {\n START_SIGNUP_CTA_CLICKED = 'start_signup_cta_clicked',\n ECNA_STEP_VIEWED = 'ecna_step_viewed',\n ECNA_RESPONSE_RECORDED_DEBUG = 'ecna_response_recorded_debug',\n PARENT_SIGNUP_CTA_CLICKED = 'parent_signup_cta_clicked',\n PARENT_SIGNUP_SUCCESSFUL = 'parent_signup_successful',\n PARENT_SIGNUP_FAILED = 'parent_signup_failed',\n STUDENT_SIGNUP_SUCCESSFUL = 'signup_successful',\n STUDENT_SIGNUP_FAILED = 'signup_failed',\n SIGNUP_OTP_ENTERED = 'signup_otp_entered',\n SIGNUP_OTP_VERIFIED = 'signup_otp_verified',\n SIGNUP_OTP_FAILED = 'signup_otp_failed',\n SLOTS_SHOWN = 'slots_shown',\n SLOT_DATE_SELECTED = 'slot_date_selected',\n SLOT_TIME_SELECTED = 'slot_time_selected',\n}\n\nexport const PLA_ANALYTICS_WHITELIST_EVENTS = {\n [PLA_ANALYTICS_EVENTS.START_SIGNUP_CTA_CLICKED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.ECNA_STEP_VIEWED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.ECNA_RESPONSE_RECORDED_DEBUG]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_CTA_CLICKED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_SUCCESSFUL]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.STUDENT_SIGNUP_SUCCESSFUL]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.STUDENT_SIGNUP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_ENTERED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_VERIFIED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOTS_SHOWN]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOT_DATE_SELECTED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOT_TIME_SELECTED]: [PLUGINS.MIXPANEL],\n};\n"],"names":["PLA_ANALYTICS_EVENTS","PLA_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,2BAA2B,4BAC3BA,EAAA,mBAAmB,oBACnBA,EAAA,+BAA+B,gCAC/BA,EAAA,4BAA4B,6BAC5BA,EAAA,2BAA2B,4BAC3BA,EAAA,uBAAuB,wBACvBA,EAAA,4BAA4B,qBAC5BA,EAAA,wBAAwB,iBACxBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,oBAAoB,qBACpBA,EAAA,cAAc,eACdA,EAAA,qBAAqB,sBACrBA,EAAA,qBAAqB,sBAdXA,IAAAA,KAAA,CAAA,CAAA;AAiBL,MAAMC,IAAiC;AAAA,EAC3C,0BAAgD,CAACC,EAAQ,QAAQ;AAAA,EACjE,kBAAwC,CAACA,EAAQ,QAAQ;AAAA,EACzD,8BAAoD,CAACA,EAAQ,QAAQ;AAAA,EACrE,2BAAiD,CAACA,EAAQ,QAAQ;AAAA,EAClE,0BAAgD,CAACA,EAAQ,QAAQ;AAAA,EACjE,sBAA4C,CAACA,EAAQ,QAAQ;AAAA,EAC7D,mBAAiD,CAACA,EAAQ,QAAQ;AAAA,EAClE,eAA6C,CAACA,EAAQ,QAAQ;AAAA,EAC9D,oBAA0C,CAACA,EAAQ,QAAQ;AAAA,EAC3D,qBAA2C,CAACA,EAAQ,QAAQ;AAAA,EAC5D,mBAAyC,CAACA,EAAQ,QAAQ;AAAA,EAC1D,aAAmC,CAACA,EAAQ,QAAQ;AAAA,EACpD,oBAA0C,CAACA,EAAQ,QAAQ;AAAA,EAC3D,oBAA0C,CAACA,EAAQ,QAAQ;AAC9D;"}
@@ -1,26 +1,27 @@
1
- import { useCallback as H, useEffect as p, useMemo as O } from "react";
2
- import { useParentHomeGet as P } from "../api/parent-home.js";
3
- import { formatDate as b } from "../../../node_modules/date-fns/format.js";
4
- const k = (s) => {
1
+ import { useEffect as O, useMemo as P } from "react";
2
+ import { useParentHomeGet as C } from "../api/parent-home.js";
3
+ const T = ({
4
+ studentName: o,
5
+ studentServiceId: s
6
+ }) => {
5
7
  const {
6
- get: n,
7
- data: a,
8
- isStale: i,
9
- isProcessingFailed: m
10
- } = P(s), e = H(() => {
11
- s && n(s);
12
- }, [n, s]);
13
- return p(() => {
14
- e();
15
- }, [e]), p(() => {
16
- i && e();
17
- }, [e, i]), O(() => {
18
- var d;
19
- const { teacher_details: r = null, session_details: o } = a ?? {};
20
- if (!o)
8
+ get: t,
9
+ data: i,
10
+ isProcessing: a,
11
+ isProcessed: l,
12
+ isStale: m,
13
+ isProcessingFailed: r
14
+ } = C(s);
15
+ return O(() => {
16
+ s && (!a && !r && !l || m) && t(s);
17
+ }, [s, m, a, t, r, l]), P(() => {
18
+ const { teacher_details: c = null, session_details: n } = i ?? {};
19
+ if (!n)
21
20
  return {
22
21
  sessionDetails: null,
23
22
  teacherDetails: null,
23
+ studentName: o,
24
+ teacherName: "",
24
25
  isOnlyOneSessionCompleted: !1,
25
26
  isMoreThanOneSessionCompleted: !1,
26
27
  isDemoDone: !1,
@@ -28,40 +29,36 @@ const k = (s) => {
28
29
  completedSessions: 0,
29
30
  nextSessionEnd: 0,
30
31
  nextSessionStart: 0,
32
+ classStatus: void 0,
31
33
  upcomingSessions: [],
32
- showLoading: !0,
33
- isProcessingFailed: m,
34
- fetchData: e
34
+ showLoading: !0
35
35
  };
36
36
  const {
37
- completed_sessions: t = 0,
38
- next_session_end: u,
39
- next_session_start: l,
37
+ completed_sessions: e = 0,
38
+ next_session_end: p,
39
+ next_session_start: u,
40
40
  demo_class_status: S,
41
- upcoming_sessions: f = [],
42
- student_demo_id: _,
43
- user_attempt_id: D
44
- } = o, { first_name: h = "", last_name: x = "" } = r ?? {}, M = (d = `${h} ${x}`) == null ? void 0 : d.trim(), c = t > 0, g = c && t === 1, E = t > 1, C = b(l, "EEEE, MMM d 'at' h:mm a");
41
+ upcoming_sessions: _ = [],
42
+ student_demo_id: f
43
+ } = n, { first_name: D = "", last_name: g = "" } = c ?? {}, h = `${D} ${g}`.trim(), d = e > 0, x = d && e === 1, H = e > 1;
45
44
  return {
46
- sessionDetails: o,
47
- teacherDetails: r,
48
- teacherName: M,
49
- completedSessions: t,
50
- nextSessionEnd: u,
51
- nextSessionStart: l,
45
+ sessionDetails: n,
46
+ teacherDetails: c,
47
+ studentName: o,
48
+ teacherName: h,
49
+ completedSessions: e,
50
+ nextSessionEnd: p,
51
+ nextSessionStart: u,
52
52
  classStatus: S,
53
- upcomingSessions: f,
54
- isDemoDone: c,
55
- isOnlyOneSessionCompleted: g,
56
- isMoreThanOneSessionCompleted: E,
57
- demoId: _,
58
- userAttemptId: D,
59
- fetchData: e,
60
- formattedNextSessionStart: C
53
+ upcomingSessions: _,
54
+ isDemoDone: d,
55
+ isOnlyOneSessionCompleted: x,
56
+ isMoreThanOneSessionCompleted: H,
57
+ demoId: f
61
58
  };
62
- }, [e, m, a]);
59
+ }, [i, o]);
63
60
  };
64
61
  export {
65
- k as default
62
+ T as default
66
63
  };
67
64
  //# sourceMappingURL=use-parent-home-data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-parent-home-data.js","sources":["../../../../src/features/parent-dashboard/hooks/use-parent-home-data.ts"],"sourcesContent":["import type { TSession } from '../../trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types';\nimport type { EClassStatus, ISessionDetails, ITeacherDetails } from '../parent-dashboard-types';\n\nimport { format } from 'date-fns';\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport { useParentHomeGet } from '../api/parent-home';\n\ninterface IUseParentHomeDataReturn {\n sessionDetails: ISessionDetails | null;\n teacherDetails: ITeacherDetails | null;\n completedSessions: number;\n nextSessionEnd: number;\n nextSessionStart: number;\n classStatus?: EClassStatus | null;\n teacherName?: string;\n upcomingSessions?: TSession[];\n isDemoDone: boolean;\n isOnlyOneSessionCompleted: boolean;\n isMoreThanOneSessionCompleted: boolean;\n showLoading?: boolean;\n demoId?: string;\n userAttemptId?: string;\n isProcessingFailed?: boolean;\n fetchData: () => void;\n formattedNextSessionStart?: string;\n}\n\nconst useParentHomeData = (studentId: string): IUseParentHomeDataReturn => {\n const {\n get: getParentHome,\n data: parentHomeData,\n isStale,\n isProcessingFailed,\n } = useParentHomeGet(studentId);\n\n const fetchData = useCallback(() => {\n studentId && getParentHome(studentId);\n }, [getParentHome, studentId]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n useEffect(() => {\n if (isStale) {\n fetchData();\n }\n }, [fetchData, isStale]);\n\n const parentHomeDataMemoised = useMemo(() => {\n const { teacher_details: teacherDetails = null, session_details: sessionDetails } =\n parentHomeData ?? {};\n\n if (!sessionDetails) {\n return {\n sessionDetails: null,\n teacherDetails: null,\n isOnlyOneSessionCompleted: false,\n isMoreThanOneSessionCompleted: false,\n isDemoDone: false,\n isSubscriptionCancelled: false,\n completedSessions: 0,\n nextSessionEnd: 0,\n nextSessionStart: 0,\n upcomingSessions: [],\n showLoading: true,\n isProcessingFailed,\n fetchData,\n };\n }\n\n const {\n completed_sessions: completedSessions = 0,\n next_session_end: nextSessionEnd,\n next_session_start: nextSessionStart,\n demo_class_status: classStatus,\n upcoming_sessions: upcomingSessions = [],\n student_demo_id: demoId,\n user_attempt_id: userAttemptId,\n } = sessionDetails;\n\n const { first_name = '', last_name = '' } = teacherDetails ?? {};\n const teacherName = `${first_name} ${last_name}`?.trim();\n\n const isDemoDone = completedSessions > 0;\n const isOnlyOneSessionCompleted = isDemoDone && completedSessions === 1;\n const isMoreThanOneSessionCompleted = completedSessions > 1;\n\n const formattedNextSessionStart = format(nextSessionStart, \"EEEE, MMM d 'at' h:mm a\");\n\n return {\n sessionDetails,\n teacherDetails,\n teacherName,\n completedSessions,\n nextSessionEnd,\n nextSessionStart,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n demoId,\n userAttemptId,\n fetchData,\n formattedNextSessionStart,\n };\n }, [fetchData, isProcessingFailed, parentHomeData]);\n\n return parentHomeDataMemoised;\n};\n\nexport default useParentHomeData;\n"],"names":["useParentHomeData","studentId","getParentHome","parentHomeData","isStale","isProcessingFailed","useParentHomeGet","fetchData","useCallback","useEffect","useMemo","teacherDetails","sessionDetails","completedSessions","nextSessionEnd","nextSessionStart","classStatus","upcomingSessions","demoId","userAttemptId","first_name","last_name","teacherName","_a","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted","formattedNextSessionStart","format"],"mappings":";;;AA4BM,MAAAA,IAAoB,CAACC,MAAgD;AACnE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,SAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAiBL,CAAS,GAExBM,IAAYC,EAAY,MAAM;AAClC,IAAAP,KAAaC,EAAcD,CAAS;AAAA,EAAA,GACnC,CAACC,GAAeD,CAAS,CAAC;AAE7B,SAAAQ,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEdE,EAAU,MAAM;AACd,IAAIL,KACQG;EACZ,GACC,CAACA,GAAWH,CAAO,CAAC,GAEQM,EAAQ,MAAM;;AACrC,UAAA,EAAE,iBAAiBC,IAAiB,MAAM,iBAAiBC,EAAe,IAC9ET,KAAkB;AAEpB,QAAI,CAACS;AACI,aAAA;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,2BAA2B;AAAA,QAC3B,+BAA+B;AAAA,QAC/B,YAAY;AAAA,QACZ,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,QAClB,kBAAkB,CAAC;AAAA,QACnB,aAAa;AAAA,QACb,oBAAAP;AAAA,QACA,WAAAE;AAAA,MAAA;AAIE,UAAA;AAAA,MACJ,oBAAoBM,IAAoB;AAAA,MACxC,kBAAkBC;AAAA,MAClB,oBAAoBC;AAAA,MACpB,mBAAmBC;AAAA,MACnB,mBAAmBC,IAAmB,CAAC;AAAA,MACvC,iBAAiBC;AAAA,MACjB,iBAAiBC;AAAA,IACf,IAAAP,GAEE,EAAE,YAAAQ,IAAa,IAAI,WAAAC,IAAY,GAAG,IAAIV,KAAkB,IACxDW,KAAcC,IAAA,GAAGH,CAAU,IAAIC,CAAS,OAA1B,gBAAAE,EAA8B,QAE5CC,IAAaX,IAAoB,GACjCY,IAA4BD,KAAcX,MAAsB,GAChEa,IAAgCb,IAAoB,GAEpDc,IAA4BC,EAAOb,GAAkB,yBAAyB;AAE7E,WAAA;AAAA,MACL,gBAAAH;AAAA,MACA,gBAAAD;AAAA,MACA,aAAAW;AAAA,MACA,mBAAAT;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,YAAAO;AAAA,MACA,2BAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,QAAAR;AAAA,MACA,eAAAC;AAAA,MACA,WAAAZ;AAAA,MACA,2BAAAoB;AAAA,IAAA;AAAA,EAED,GAAA,CAACpB,GAAWF,GAAoBF,CAAc,CAAC;AAGpD;"}
1
+ {"version":3,"file":"use-parent-home-data.js","sources":["../../../../src/features/parent-dashboard/hooks/use-parent-home-data.ts"],"sourcesContent":["import type { TSession } from '../../trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types';\nimport type { EClassStatus, ISessionDetails, ITeacherDetails } from '../parent-dashboard-types';\n\nimport { useEffect, useMemo } from 'react';\n\nimport { useParentHomeGet } from '../api/parent-home';\n\ninterface IUseParentHomeData {\n studentName: string;\n studentServiceId: string;\n}\ninterface IUseParentHomeDataReturn {\n sessionDetails: ISessionDetails | null;\n teacherDetails: ITeacherDetails | null;\n completedSessions: number;\n nextSessionEnd: number;\n nextSessionStart: number;\n classStatus?: EClassStatus | null;\n teacherName: string;\n upcomingSessions?: TSession[];\n isDemoDone: boolean;\n isOnlyOneSessionCompleted: boolean;\n isMoreThanOneSessionCompleted: boolean;\n showLoading?: boolean;\n demoId?: string;\n}\n\nconst useParentHomeData = ({\n studentName,\n studentServiceId,\n}: IUseParentHomeData): IUseParentHomeDataReturn => {\n const {\n get: getParentHome,\n data: parentHomeData,\n isProcessing,\n isProcessed,\n isStale,\n isProcessingFailed,\n } = useParentHomeGet(studentServiceId);\n\n useEffect(() => {\n if (studentServiceId && ((!isProcessing && !isProcessingFailed && !isProcessed) || isStale)) {\n getParentHome(studentServiceId);\n }\n }, [studentServiceId, isStale, isProcessing, getParentHome, isProcessingFailed, isProcessed]);\n\n const parentHomeDataMemoised = useMemo(() => {\n const { teacher_details: teacherDetails = null, session_details: sessionDetails } =\n parentHomeData ?? {};\n\n if (!sessionDetails) {\n return {\n sessionDetails: null,\n teacherDetails: null,\n studentName,\n teacherName: '',\n isOnlyOneSessionCompleted: false,\n isMoreThanOneSessionCompleted: false,\n isDemoDone: false,\n isSubscriptionCancelled: false,\n completedSessions: 0,\n nextSessionEnd: 0,\n nextSessionStart: 0,\n classStatus: undefined,\n upcomingSessions: [],\n showLoading: true,\n };\n }\n\n const {\n completed_sessions: completedSessions = 0,\n next_session_end: nextSessionEnd,\n next_session_start: nextSessionStart,\n demo_class_status: classStatus,\n upcoming_sessions: upcomingSessions = [],\n student_demo_id: demoId,\n } = sessionDetails;\n\n const { first_name = '', last_name = '' } = teacherDetails ?? {};\n const teacherName = `${first_name} ${last_name}`.trim();\n\n const isDemoDone = completedSessions > 0;\n const isOnlyOneSessionCompleted = isDemoDone && completedSessions === 1;\n const isMoreThanOneSessionCompleted = completedSessions > 1;\n\n return {\n sessionDetails,\n teacherDetails,\n studentName,\n teacherName,\n completedSessions,\n nextSessionEnd,\n nextSessionStart,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n demoId,\n };\n }, [parentHomeData, studentName]);\n\n return parentHomeDataMemoised;\n};\n\nexport default useParentHomeData;\n"],"names":["useParentHomeData","studentName","studentServiceId","getParentHome","parentHomeData","isProcessing","isProcessed","isStale","isProcessingFailed","useParentHomeGet","useEffect","useMemo","teacherDetails","sessionDetails","completedSessions","nextSessionEnd","nextSessionStart","classStatus","upcomingSessions","demoId","first_name","last_name","teacherName","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted"],"mappings":";;AA2BA,MAAMA,IAAoB,CAAC;AAAA,EACzB,aAAAC;AAAA,EACA,kBAAAC;AACF,MAAoD;AAC5C,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAiBP,CAAgB;AAErC,SAAAQ,EAAU,MAAM;AACd,IAAIR,MAAsB,CAACG,KAAgB,CAACG,KAAsB,CAACF,KAAgBC,MACjFJ,EAAcD,CAAgB;AAAA,EAChC,GACC,CAACA,GAAkBK,GAASF,GAAcF,GAAeK,GAAoBF,CAAW,CAAC,GAE7DK,EAAQ,MAAM;AACrC,UAAA,EAAE,iBAAiBC,IAAiB,MAAM,iBAAiBC,EAAe,IAC9ET,KAAkB;AAEpB,QAAI,CAACS;AACI,aAAA;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,aAAAZ;AAAA,QACA,aAAa;AAAA,QACb,2BAA2B;AAAA,QAC3B,+BAA+B;AAAA,QAC/B,YAAY;AAAA,QACZ,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,QAClB,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,QACnB,aAAa;AAAA,MAAA;AAIX,UAAA;AAAA,MACJ,oBAAoBa,IAAoB;AAAA,MACxC,kBAAkBC;AAAA,MAClB,oBAAoBC;AAAA,MACpB,mBAAmBC;AAAA,MACnB,mBAAmBC,IAAmB,CAAC;AAAA,MACvC,iBAAiBC;AAAA,IACf,IAAAN,GAEE,EAAE,YAAAO,IAAa,IAAI,WAAAC,IAAY,GAAG,IAAIT,KAAkB,IACxDU,IAAc,GAAGF,CAAU,IAAIC,CAAS,GAAG,QAE3CE,IAAaT,IAAoB,GACjCU,IAA4BD,KAAcT,MAAsB,GAChEW,IAAgCX,IAAoB;AAEnD,WAAA;AAAA,MACL,gBAAAD;AAAA,MACA,gBAAAD;AAAA,MACA,aAAAX;AAAA,MACA,aAAAqB;AAAA,MACA,mBAAAR;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,YAAAK;AAAA,MACA,2BAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,QAAAN;AAAA,IAAA;AAAA,EACF,GACC,CAACf,GAAgBH,CAAW,CAAC;AAGlC;"}
@@ -1,6 +1,5 @@
1
- var N = /* @__PURE__ */ ((_) => (_.S_NO_SHOW = "S_NO_SHOW", _.T_NO_SHOW = "T_NO_SHOW", _))(N || {}), O = /* @__PURE__ */ ((_) => (_.STUDENT_PROFILE = "studentProfile", _.INSIGHTS = "insights", _.LEARNING_PLAN = "learningPlan", _))(O || {});
1
+ var _ = /* @__PURE__ */ ((O) => (O.S_NO_SHOW = "S_NO_SHOW", O.T_NO_SHOW = "T_NO_SHOW", O))(_ || {});
2
2
  export {
3
- N as EClassStatus,
4
- O as ESummaryType
3
+ _ as EClassStatus
5
4
  };
6
5
  //# sourceMappingURL=parent-dashboard-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parent-dashboard-types.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-types.ts"],"sourcesContent":["import type { TSession } from '../trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types';\nimport type { ReactElement } from 'react';\n\nexport enum EClassStatus {\n S_NO_SHOW = 'S_NO_SHOW',\n T_NO_SHOW = 'T_NO_SHOW',\n}\nexport interface ISessionDetails {\n completed_sessions: number;\n next_session_start: number;\n next_session_end: number;\n student_demo_id: string;\n upcoming_sessions: TSession[];\n demo_class_status: EClassStatus | null;\n user_attempt_id?: string;\n}\n\ninterface IDegreeInfo {\n degree_name: string;\n degree_code: string;\n field_of_study: string;\n}\nexport interface ITeacherDetails {\n first_name: string;\n last_name: string;\n years_of_experience: number;\n number_of_students_taught: number;\n lower_grade: string;\n higher_grade: string;\n degree: IDegreeInfo;\n countries: string[];\n teacher_profile_url: string;\n header_image: string;\n}\n\ninterface PaymentMethodDetails {\n brand: string;\n last_4_digits: string;\n type: string;\n exp_month: number;\n exp_year: number;\n}\n\ninterface IBillingDetails {\n amount: number;\n next_due_date: string;\n payment_method_details: PaymentMethodDetails;\n}\n\nexport interface IParentHome {\n session_details: ISessionDetails;\n teacher_details: ITeacherDetails | null;\n billing_details: IBillingDetails;\n}\n\nexport interface IStudentProfileSummary {\n studentLevel: string;\n studentObjectives: string[] | string;\n learningPlan: string[] | string;\n levelPreference?: string;\n}\n\nexport interface IOnViewSummaryParams extends IStudentProfileSummary {\n userAttemptId?: string;\n}\nexport enum ESummaryType {\n STUDENT_PROFILE = 'studentProfile',\n INSIGHTS = 'insights',\n LEARNING_PLAN = 'learningPlan',\n}\n\nexport interface IParentDashboardProps {\n studentName: string;\n studentId: string;\n onRescheduleDemo: (demoId?: string) => void;\n onChangeTutor: (demoId: string) => void;\n onGetStartedAgain?: () => void;\n onViewSummary?: (key: ESummaryType, summaryData: IOnViewSummaryParams) => void;\n onSwitchUser?: () => void;\n canChangeTutor: boolean;\n isSubscriptionCancelled: boolean;\n HeaderAvatar: ReactElement;\n}\n\nexport interface ISpacingConfig {\n small: number;\n medium: number;\n large: number;\n separator: {\n small: number;\n medium: number;\n large: number;\n extraLarge: number;\n };\n}\n"],"names":["EClassStatus","ESummaryType"],"mappings":"AAGY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,YAAY,aAFFA,IAAAA,KAAA,CAAA,CAAA,GA8DAC,sBAAAA,OACVA,EAAA,kBAAkB,kBAClBA,EAAA,WAAW,YACXA,EAAA,gBAAgB,gBAHNA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"parent-dashboard-types.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-types.ts"],"sourcesContent":["import type { TSession } from '../trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types';\nimport type { ReactElement } from 'react';\n\nexport enum EClassStatus {\n S_NO_SHOW = 'S_NO_SHOW',\n T_NO_SHOW = 'T_NO_SHOW',\n}\nexport interface ISessionDetails {\n completed_sessions: number;\n next_session_start: number;\n next_session_end: number;\n student_demo_id: string;\n upcoming_sessions: TSession[];\n demo_class_status: EClassStatus | null;\n}\n\ninterface IDegreeInfo {\n degree_name: string;\n degree_code: string;\n field_of_study: string;\n}\nexport interface ITeacherDetails {\n first_name: string;\n last_name: string;\n years_of_experience: number;\n number_of_students_taught: number;\n lower_grade: string;\n higher_grade: string;\n degree: IDegreeInfo;\n countries: string[];\n teacher_profile_url: string;\n header_image: string;\n}\n\ninterface PaymentMethodDetails {\n brand: string;\n last_4_digits: string;\n type: string;\n exp_month: number;\n exp_year: number;\n}\n\ninterface IBillingDetails {\n amount: number;\n next_due_date: string;\n payment_method_details: PaymentMethodDetails;\n}\n\nexport interface IParentHome {\n session_details: ISessionDetails;\n teacher_details: ITeacherDetails | null;\n billing_details: IBillingDetails;\n}\n\nexport interface IParentDashboardProps {\n studentName: string;\n studentServiceId: string;\n onRescheduleDemo: (demoId?: string) => void;\n onChangeTutor: (demoId: string) => void;\n onGetStartedAgain?: () => void;\n onViewSummary?: (key: string) => void;\n onSwitchUser?: () => void;\n canChangeTutor: boolean;\n isSubscriptionCancelled: boolean;\n HeaderAvatar: ReactElement;\n}\n\nexport interface ISpacingConfig {\n small: number;\n medium: number;\n large: number;\n separator: {\n small: number;\n medium: number;\n large: number;\n extraLarge: number;\n };\n}\n"],"names":["EClassStatus"],"mappings":"AAGY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,YAAY,aAFFA,IAAAA,KAAA,CAAA,CAAA;"}