@cuemath/leap 3.3.9 → 3.3.10-j2
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/auth/comps/linear-progress-bar/linear-progress-bar.js +4 -4
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -1
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +2 -2
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
- package/dist/features/parent-dashboard/api/parent-home.js +10 -0
- package/dist/features/parent-dashboard/api/parent-home.js.map +1 -0
- package/dist/features/parent-dashboard/comps/compact-header/compact-header.js +30 -0
- package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +1 -0
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +2 -2
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -1
- package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +12 -12
- package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -1
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +64 -0
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -0
- package/dist/features/parent-dashboard/parent-dashboard-constants.js +26 -0
- package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +1 -0
- package/dist/features/parent-dashboard/parent-dashboard-styled.js +33 -0
- package/dist/features/parent-dashboard/parent-dashboard-styled.js.map +1 -0
- package/dist/features/parent-dashboard/parent-dashboard-view.js +203 -0
- package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -0
- package/dist/features/parent-dashboard/parent-dashboard.js +8 -0
- package/dist/features/parent-dashboard/parent-dashboard.js.map +1 -0
- package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +6 -6
- package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -1
- package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -1
- package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +13 -13
- package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -1
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -1
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +9 -9
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +38 -38
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +126 -128
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/index.d.ts +26 -3
- package/dist/index.js +32 -28
- package/dist/index.js.map +1 -1
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/package.json +1 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parent-dashboard-view.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-view.tsx"],"sourcesContent":["import type { IParentDashboardProps, ISpacingConfig } from './parent-dashboard-types';\n\nimport React, { memo, useMemo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport OnboardingGuide from '../auth/pla-signup/onboarding-guide/onboarding-guide';\nimport SignupHeader from '../auth/pla-signup/signup-header/signup-header';\nimport NextSteps from '../trial-session/comps/pla/next-steps/next-steps';\nimport SessionStatus from '../trial-session/comps/pla/session-status/session-status';\nimport SessionSummary from '../trial-session/comps/pla/session-summary/session-summary';\nimport UpcomingSessions from '../trial-session/comps/pla/upcoming-sessions/upcoming-sessions';\nimport TeacherProfile from '../trial-session/comps/teacher-intro/teacher-profile/teacher-profile';\nimport Button from '../ui/buttons/button/button';\nimport TextButton from '../ui/buttons/text-button/text-button';\nimport FlexView from '../ui/layout/flex-view';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport Separator from '../ui/separator/separator';\nimport Text from '../ui/text/text';\nimport { EDeviceType } from '../ui/theme/constants';\nimport CompactHeader from './comps/compact-header/compact-header';\nimport CuemathAppFeatures from './comps/cuemath-app-features/cuemath-app-features';\nimport MathPractice from './comps/math-practice/math-practice';\nimport ParentDashboardFaqs from './comps/parent-dashboard-faqs/parent-dashboard-faqs';\nimport useParentHomeData from './hooks/use-parent-home-data';\nimport { DESKTOP_SPACING, MOBILE_SPACING } from './parent-dashboard-constants';\nimport * as Styled from './parent-dashboard-styled';\n\nconst ParentDashboardView: React.FC<IParentDashboardProps> = memo(\n ({\n studentName,\n studentServiceId,\n onRescheduleDemo,\n onViewSummary,\n onGetStartedAgain,\n onChangeTutor,\n canChangeTutor,\n onSwitchUser,\n isSubscriptionCancelled,\n HeaderAvatar,\n }) => {\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const {\n teacherDetails,\n teacherName,\n completedSessions,\n nextSessionStart,\n nextSessionEnd,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n showLoading = false,\n demoId,\n } = useParentHomeData({ studentName, studentServiceId });\n\n const handleRescheduleDemo = useCallback(() => {\n onRescheduleDemo(demoId);\n }, [demoId, onRescheduleDemo]);\n\n const handleChangeTutor = useCallback(() => {\n if (demoId) {\n onChangeTutor(demoId);\n }\n }, [demoId, onChangeTutor]);\n\n const spacing: ISpacingConfig = useMemo(\n () => (isMobile ? MOBILE_SPACING : DESKTOP_SPACING),\n [isMobile],\n );\n\n const buttonWidth = useMemo(() => (isMobile ? '100%' : 200), [isMobile]);\n\n const renderCancelledSubscriptionView = useCallback(\n () => (\n <FlexView>\n <SignupHeader />\n <Separator height={spacing.separator.extraLarge} />\n <OnboardingGuide orientation=\"horizontal\" />\n {onGetStartedAgain && (\n <FlexView>\n <Separator height={spacing.medium} />\n <Button\n label=\"Get Started\"\n renderAs=\"yellow-dark\"\n shape=\"square\"\n width={buttonWidth}\n onClick={onGetStartedAgain}\n />\n </FlexView>\n )}\n </FlexView>\n ),\n [spacing, buttonWidth, onGetStartedAgain],\n );\n\n const renderSessionStatusSection = useCallback(\n () => (\n <SessionStatus\n completedSessions={completedSessions}\n nextSessionStartTime={nextSessionStart}\n teacherName={teacherName}\n status={classStatus}\n nextSessionEndTime={nextSessionEnd}\n studentName={studentName}\n onRescheduleClick={handleRescheduleDemo}\n />\n ),\n [\n completedSessions,\n nextSessionStart,\n teacherName,\n classStatus,\n nextSessionEnd,\n studentName,\n handleRescheduleDemo,\n ],\n );\n\n const renderTeacherProfileSection = useCallback(() => {\n if (!teacherDetails || isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.large} />\n <TeacherProfile teacherProfile={teacherDetails} />\n </FlexView>\n );\n }, [teacherDetails, isDemoDone, spacing.separator.large]);\n\n const renderSessionSummarySection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <SessionSummary\n isDemoDone={isDemoDone}\n studentName={studentName}\n onViewSummary={onViewSummary}\n />\n </FlexView>\n );\n }, [\n isMoreThanOneSessionCompleted,\n spacing.separator.extraLarge,\n isDemoDone,\n studentName,\n onViewSummary,\n ]);\n\n const renderTutorChangeSection = useCallback(() => {\n if (canChangeTutor) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.small} />\n <FlexView $flexDirection=\"row\" $flexColumnGapX={0.25}>\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n Not the right fit for your child?\n </Text>\n <TextButton\n color=\"WHITE_1\"\n sizeOnMobile=\"small\"\n label=\"Try another tutor\"\n onClick={handleChangeTutor}\n />\n </FlexView>\n </FlexView>\n );\n }, [canChangeTutor, spacing.separator.small, handleChangeTutor]);\n\n const renderTeacherDetailsSection = useCallback(() => {\n if (!teacherDetails) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n Know your tutor\n </Text>\n <Separator height={spacing.separator.medium} />\n <TeacherProfile teacherProfile={teacherDetails} />\n {renderTutorChangeSection()}\n </FlexView>\n );\n }, [teacherDetails, spacing.separator, renderTutorChangeSection]);\n\n const renderOnlyOneSessionSection = useCallback(() => {\n if (!isOnlyOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <NextSteps />\n <Separator height={spacing.separator.extraLarge} />\n <UpcomingSessions sessions={upcomingSessions} />\n {renderTeacherDetailsSection()}\n </FlexView>\n );\n }, [\n isOnlyOneSessionCompleted,\n spacing.separator.extraLarge,\n upcomingSessions,\n renderTeacherDetailsSection,\n ]);\n\n const renderAppFeaturesSection = useCallback(() => {\n if (!isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <CuemathAppFeatures />\n </FlexView>\n );\n }, [isDemoDone, spacing.separator.extraLarge]);\n\n const renderMathPracticeSection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Styled.MathPracticeWrapper>\n <MathPractice onSwitchUser={onSwitchUser} />\n </Styled.MathPracticeWrapper>\n </FlexView>\n );\n }, [isMoreThanOneSessionCompleted, spacing.separator.extraLarge, onSwitchUser]);\n\n const renderMainContent = useCallback(\n () => (\n <FlexView>\n {renderSessionStatusSection()}\n {renderTeacherProfileSection()}\n {renderSessionSummarySection()}\n {renderOnlyOneSessionSection()}\n {renderAppFeaturesSection()}\n {renderMathPracticeSection()}\n </FlexView>\n ),\n [\n renderSessionStatusSection,\n renderTeacherProfileSection,\n renderSessionSummarySection,\n renderOnlyOneSessionSection,\n renderAppFeaturesSection,\n renderMathPracticeSection,\n ],\n );\n\n const renderFaqsSection = useCallback(\n () => (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <ParentDashboardFaqs />\n </FlexView>\n ),\n [spacing.separator.extraLarge],\n );\n\n if (showLoading) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <Styled.Container>\n <CompactHeader HeaderAvatar={HeaderAvatar} />\n <Styled.ContentWrapper\n $flex={1}\n $width=\"100%\"\n $height=\"100%\"\n $background=\"BLACK_1\"\n $gap={spacing.medium}\n $gutter={spacing.small}\n >\n {isSubscriptionCancelled ? renderCancelledSubscriptionView() : renderMainContent()}\n {renderFaqsSection()}\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n },\n);\n\nexport default ParentDashboardView;\n"],"names":["ParentDashboardView","memo","studentName","studentServiceId","onRescheduleDemo","onViewSummary","onGetStartedAgain","onChangeTutor","canChangeTutor","onSwitchUser","isSubscriptionCancelled","HeaderAvatar","device","useTheme","isMobile","EDeviceType","teacherDetails","teacherName","completedSessions","nextSessionStart","nextSessionEnd","classStatus","upcomingSessions","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted","showLoading","demoId","useParentHomeData","handleRescheduleDemo","useCallback","handleChangeTutor","spacing","useMemo","MOBILE_SPACING","DESKTOP_SPACING","buttonWidth","renderCancelledSubscriptionView","FlexView","jsx","SignupHeader","Separator","OnboardingGuide","Button","renderSessionStatusSection","SessionStatus","renderTeacherProfileSection","TeacherProfile","renderSessionSummarySection","SessionSummary","renderTutorChangeSection","jsxs","Text","TextButton","renderTeacherDetailsSection","renderOnlyOneSessionSection","NextSteps","UpcomingSessions","renderAppFeaturesSection","CuemathAppFeatures","renderMathPracticeSection","Styled.MathPracticeWrapper","MathPractice","renderMainContent","renderFaqsSection","ParentDashboardFaqs","AppLoader","Styled.Container","CompactHeader","Styled.ContentWrapper"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { memo as a } from "react";
|
|
3
|
+
import t from "./parent-dashboard-view.js";
|
|
4
|
+
const e = a((r) => /* @__PURE__ */ o(t, { ...r })), d = e;
|
|
5
|
+
export {
|
|
6
|
+
d as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=parent-dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parent-dashboard.js","sources":["../../../src/features/parent-dashboard/parent-dashboard.tsx"],"sourcesContent":["import type { IParentDashboardProps } from './parent-dashboard-types';\n\nimport { memo } from 'react';\n\nimport ParentDashboardView from './parent-dashboard-view';\n\nconst ParentDashboard = memo((props: IParentDashboardProps) => {\n return <ParentDashboardView {...props} />;\n});\n\nexport default ParentDashboard;\n"],"names":["ParentDashboard","memo","props","jsx","ParentDashboardView","ParentDashboard$1"],"mappings":";;;AAMA,MAAMA,IAAkBC,EAAK,CAACC,MACrB,gBAAAC,EAACC,GAAqB,EAAA,GAAGF,EAAO,CAAA,CACxC,GAEDG,IAAeL;"}
|
|
@@ -5,16 +5,16 @@ import p from "../../../../ui/image/image.js";
|
|
|
5
5
|
import m from "../../../../ui/layout/flex-view.js";
|
|
6
6
|
import o from "../../../../ui/separator/separator.js";
|
|
7
7
|
import n from "../../../../ui/text/text.js";
|
|
8
|
-
import { EDeviceType as
|
|
9
|
-
import { nextStepsData as
|
|
10
|
-
import { ListItem as
|
|
8
|
+
import { EDeviceType as $ } from "../../../../ui/theme/constants.js";
|
|
9
|
+
import { nextStepsData as d } from "./next-steps-constants.js";
|
|
10
|
+
import { ListItem as f, TextContent as x } from "./next-steps-styled.js";
|
|
11
11
|
const b = () => {
|
|
12
|
-
const e = h().device <=
|
|
12
|
+
const e = h().device <= $.MOBILE;
|
|
13
13
|
return /* @__PURE__ */ t(m, { children: [
|
|
14
14
|
/* @__PURE__ */ r(n, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: "What happens next?" }),
|
|
15
15
|
/* @__PURE__ */ r(o, { height: e ? 16 : 20 }),
|
|
16
|
-
/* @__PURE__ */ r(m, { $justifyContent: "center", $flexDirection: e ? "column" : "row", children:
|
|
17
|
-
|
|
16
|
+
/* @__PURE__ */ r(m, { $justifyContent: "center", $flexDirection: e ? "column" : "row", children: d.map(({ title: i, description: l, image: c, textColor: s }) => /* @__PURE__ */ t(
|
|
17
|
+
f,
|
|
18
18
|
{
|
|
19
19
|
$flexDirection: e ? "row" : "column",
|
|
20
20
|
$flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.js","sources":["../../../../../../src/features/trial-session/comps/pla/next-steps/next-steps.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport { nextStepsData } from './next-steps-constants';\nimport * as Styled from './next-steps-styled';\n\nconst NextSteps: React.FC = () => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n return (\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n What happens next?\n </Text>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $justifyContent=\"center\" $flexDirection={isMobile ? 'column' : 'row'}>\n {nextStepsData.map(({ title, description, image, textColor }) => (\n <Styled.ListItem\n key={title}\n $flexDirection={isMobile ? 'row' : 'column'}\n $flex={1}\n $gutterX={isMobile ? 0 : 1}\n $flexColumnGapX={isMobile ? 0.75 : 0}\n $alignItems={isMobile ? 'center' : 'normal'}\n >\n <Image\n src={image}\n width={isMobile ? 72 : 80}\n height={isMobile ? 72 : 80}\n withLoader={false}\n />\n {!isMobile && <Separator heightX={0.75} />}\n <Styled.TextContent $flex={1} $gapX={isMobile ? 1 : 0} $justifyContent=\"space-between\">\n <Text $renderAs=\"ac3-black\" $renderOnMobileAs=\"ac4-black\" $color={textColor}>\n {title}\n </Text>\n <Separator height={isMobile ? 10 : 12} />\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n {description}\n </Text>\n </Styled.TextContent>\n </Styled.ListItem>\n ))}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(NextSteps);\n"],"names":["NextSteps","isMobile","useTheme","EDeviceType","FlexView","jsx","Text","Separator","nextStepsData","title","description","image","textColor","jsxs","Styled.ListItem","Image","Styled.TextContent","
|
|
1
|
+
{"version":3,"file":"next-steps.js","sources":["../../../../../../src/features/trial-session/comps/pla/next-steps/next-steps.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport { nextStepsData } from './next-steps-constants';\nimport * as Styled from './next-steps-styled';\n\nconst NextSteps: React.FC = () => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n return (\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n What happens next?\n </Text>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $justifyContent=\"center\" $flexDirection={isMobile ? 'column' : 'row'}>\n {nextStepsData.map(({ title, description, image, textColor }) => (\n <Styled.ListItem\n key={title}\n $flexDirection={isMobile ? 'row' : 'column'}\n $flex={1}\n $gutterX={isMobile ? 0 : 1}\n $flexColumnGapX={isMobile ? 0.75 : 0}\n $alignItems={isMobile ? 'center' : 'normal'}\n >\n <Image\n src={image}\n width={isMobile ? 72 : 80}\n height={isMobile ? 72 : 80}\n withLoader={false}\n />\n {!isMobile && <Separator heightX={0.75} />}\n <Styled.TextContent $flex={1} $gapX={isMobile ? 1 : 0} $justifyContent=\"space-between\">\n <Text $renderAs=\"ac3-black\" $renderOnMobileAs=\"ac4-black\" $color={textColor}>\n {title}\n </Text>\n <Separator height={isMobile ? 10 : 12} />\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n {description}\n </Text>\n </Styled.TextContent>\n </Styled.ListItem>\n ))}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(NextSteps);\n"],"names":["NextSteps","isMobile","useTheme","EDeviceType","FlexView","jsx","Text","Separator","nextStepsData","title","description","image","textColor","jsxs","Styled.ListItem","Image","Styled.TextContent","NextSteps$1","memo"],"mappings":";;;;;;;;;;AAWA,MAAMA,IAAsB,MAAM;AAE1B,QAAAC,IADQC,IACS,UAAUC,EAAY;AAE7C,2BACGC,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,UAEvE,qBAAA,CAAA;AAAA,IACC,gBAAAD,EAAAE,GAAA,EAAU,QAAQN,IAAW,KAAK,IAAI;AAAA,sBACtCG,GAAS,EAAA,iBAAgB,UAAS,gBAAgBH,IAAW,WAAW,OACtE,UAAcO,EAAA,IAAI,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,OAAAC,GAAO,WAAAC,QAC/C,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,gBAAgBb,IAAW,QAAQ;AAAA,QACnC,OAAO;AAAA,QACP,UAAUA,IAAW,IAAI;AAAA,QACzB,iBAAiBA,IAAW,OAAO;AAAA,QACnC,aAAaA,IAAW,WAAW;AAAA,QAEnC,UAAA;AAAA,UAAA,gBAAAI;AAAA,YAACU;AAAA,YAAA;AAAA,cACC,KAAKJ;AAAA,cACL,OAAOV,IAAW,KAAK;AAAA,cACvB,QAAQA,IAAW,KAAK;AAAA,cACxB,YAAY;AAAA,YAAA;AAAA,UACd;AAAA,UACC,CAACA,KAAa,gBAAAI,EAAAE,GAAA,EAAU,SAAS,KAAM,CAAA;AAAA,UACxC,gBAAAM,EAACG,GAAA,EAAmB,OAAO,GAAG,OAAOf,IAAW,IAAI,GAAG,iBAAgB,iBACrE,UAAA;AAAA,YAAA,gBAAAI,EAACC,KAAK,WAAU,aAAY,mBAAkB,aAAY,QAAQM,GAC/D,UACHH,EAAA,CAAA;AAAA,YACC,gBAAAJ,EAAAE,GAAA,EAAU,QAAQN,IAAW,KAAK,IAAI;AAAA,YACvC,gBAAAI,EAACC,KAAK,WAAU,OAAM,mBAAkB,OAAM,QAAO,SAClD,UACHI,EAAA,CAAA;AAAA,UAAA,GACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAtBKD;AAAA,IAwBR,CAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ,GAEeQ,IAAAC,EAAKlB,CAAS;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-status.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status.tsx"],"sourcesContent":["import type { ISectionConfig, ISessionStatusProps } from './session-status-types';\n\nimport { useCallback, useMemo, memo } from 'react';\n\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport useSessionCountdown from './hooks/use-session-countdown';\nimport useSessionStatusConfig from './hooks/use-session-status-config';\nimport { renderSettings } from './session-status-constants';\nimport { formatSessionDateTime } from './session-status-helpers';\nimport * as Styled from './session-status-styled';\n\nconst SessionStatus = ({\n completedSessions,\n nextSessionStartTime,\n status = null,\n teacherName,\n studentName,\n onRescheduleClick = () => {},\n}: ISessionStatusProps) => {\n const derivedValues = useMemo(\n () => ({\n isTeacherAssigned: !!teacherName,\n isFirstSessionCompleted: completedSessions > 0,\n formattedSessionStart: formatSessionDateTime(nextSessionStartTime),\n isNoShowStatus: status === 'S_NO_SHOW' || status === 'T_NO_SHOW',\n }),\n [completedSessions, teacherName, nextSessionStartTime, status],\n );\n\n const { isTeacherAssigned, isFirstSessionCompleted, formattedSessionStart, isNoShowStatus } =\n derivedValues;\n\n const remainingTime = useSessionCountdown(\n nextSessionStartTime,\n isFirstSessionCompleted,\n isNoShowStatus,\n );\n\n const config = useSessionStatusConfig({\n status,\n completedSessions,\n formattedSessionStart,\n remainingTime,\n isTeacherAssigned,\n isFirstSessionCompleted,\n isNoShowStatus,\n teacherName,\n studentName,\n onRescheduleClick,\n });\n\n const renderSection = useCallback(\n (section: ISectionConfig) => (\n <FlexView\n $flexDirection=\"row\"\n $flexColumnGapX={section?.isLargeIcon ? 0.75 : 1.5}\n $alignItems={section.align || 'flex-start'}\n >\n <FlexView>\n {section.icon ? (\n <Image src={section.icon} width={64} height={64} />\n ) : (\n <Styled.LottieWrapper $isLargeLottie={!!section?.isLargeIcon}>\n <LottieAnimation\n src={section.lottie!}\n settings={renderSettings}\n width={section.isLargeIcon ? 75 : 64}\n height={section.isLargeIcon ? 75 : 64}\n />\n </Styled.LottieWrapper>\n )}\n </FlexView>\n <Styled.ContentWrapper $maxWidth={section.maxWidth ?? '100%'} $width=\"100%\">\n {section.title && (\n <Text\n $renderAs={section.titleStyle}\n $color={section.titleColor}\n $renderOnMobileAs={section.titleTabletStyle}\n >\n {section.title}\n </Text>\n )}\n\n {section.subtitle && (\n <>\n <Separator height={2} />\n <Styled.SubTitle\n $renderAs={section.subtitleStyle!}\n $renderOnMobileAs={section.subtitleTabletStyle}\n $color=\"WHITE_1\"\n $whiteSpace=\"pre-line\"\n $subtitleLineThrough={section.subtitleLineThrough}\n >\n {section.subtitle}\n </Styled.SubTitle>\n </>\n )}\n\n {section.description && (\n <>\n <Separator heightX={0.5} />\n <FlexView $width=\"100%\">\n <Text\n $renderAs=\"ub2\"\n $renderOnMobileAs=\"ub3\"\n $color={section.descriptionColor ?? 'WHITE_T_60'}\n >\n {section.description}\n </Text>\n </FlexView>\n </>\n )}\n\n {section.action && (\n <>\n <Separator heightX={0.75} />\n <TextButton\n sizeOnMobile=\"small\"\n label={section.action.label}\n color=\"WHITE_1\"\n onClick={section.action.onClick}\n />\n </>\n )}\n </Styled.ContentWrapper>\n </FlexView>\n ),\n [],\n );\n\n return (\n <FlexView $flexDirection=\"column\" $justifyContent=\"center\">\n {renderSection(config.topSection)}\n\n <FlexView $gutterX={2} $gapX={0.25}>\n <Separator heightX={3} background=\"BLACK_5\" width={1} />\n </FlexView>\n\n {renderSection(config.bottomSection)}\n </FlexView>\n );\n};\n\nexport default memo(SessionStatus);\n"],"names":["SessionStatus","completedSessions","nextSessionStartTime","status","teacherName","studentName","onRescheduleClick","derivedValues","useMemo","formatSessionDateTime","isTeacherAssigned","isFirstSessionCompleted","formattedSessionStart","isNoShowStatus","remainingTime","useSessionCountdown","config","useSessionStatusConfig","renderSection","useCallback","section","jsxs","FlexView","jsx","Image","Styled.LottieWrapper","LottieAnimation","renderSettings","Styled.ContentWrapper","Text","Fragment","Separator","Styled.SubTitle","TextButton","
|
|
1
|
+
{"version":3,"file":"session-status.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status.tsx"],"sourcesContent":["import type { ISectionConfig, ISessionStatusProps } from './session-status-types';\n\nimport { useCallback, useMemo, memo } from 'react';\n\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport useSessionCountdown from './hooks/use-session-countdown';\nimport useSessionStatusConfig from './hooks/use-session-status-config';\nimport { renderSettings } from './session-status-constants';\nimport { formatSessionDateTime } from './session-status-helpers';\nimport * as Styled from './session-status-styled';\n\nconst SessionStatus = ({\n completedSessions,\n nextSessionStartTime,\n status = null,\n teacherName,\n studentName,\n onRescheduleClick = () => {},\n}: ISessionStatusProps) => {\n const derivedValues = useMemo(\n () => ({\n isTeacherAssigned: !!teacherName,\n isFirstSessionCompleted: completedSessions > 0,\n formattedSessionStart: formatSessionDateTime(nextSessionStartTime),\n isNoShowStatus: status === 'S_NO_SHOW' || status === 'T_NO_SHOW',\n }),\n [completedSessions, teacherName, nextSessionStartTime, status],\n );\n\n const { isTeacherAssigned, isFirstSessionCompleted, formattedSessionStart, isNoShowStatus } =\n derivedValues;\n\n const remainingTime = useSessionCountdown(\n nextSessionStartTime,\n isFirstSessionCompleted,\n isNoShowStatus,\n );\n\n const config = useSessionStatusConfig({\n status,\n completedSessions,\n formattedSessionStart,\n remainingTime,\n isTeacherAssigned,\n isFirstSessionCompleted,\n isNoShowStatus,\n teacherName,\n studentName,\n onRescheduleClick,\n });\n\n const renderSection = useCallback(\n (section: ISectionConfig) => (\n <FlexView\n $flexDirection=\"row\"\n $flexColumnGapX={section?.isLargeIcon ? 0.75 : 1.5}\n $alignItems={section.align || 'flex-start'}\n >\n <FlexView>\n {section.icon ? (\n <Image src={section.icon} width={64} height={64} />\n ) : (\n <Styled.LottieWrapper $isLargeLottie={!!section?.isLargeIcon}>\n <LottieAnimation\n src={section.lottie!}\n settings={renderSettings}\n width={section.isLargeIcon ? 75 : 64}\n height={section.isLargeIcon ? 75 : 64}\n />\n </Styled.LottieWrapper>\n )}\n </FlexView>\n <Styled.ContentWrapper $maxWidth={section.maxWidth ?? '100%'} $width=\"100%\">\n {section.title && (\n <Text\n $renderAs={section.titleStyle}\n $color={section.titleColor}\n $renderOnMobileAs={section.titleTabletStyle}\n >\n {section.title}\n </Text>\n )}\n\n {section.subtitle && (\n <>\n <Separator height={2} />\n <Styled.SubTitle\n $renderAs={section.subtitleStyle!}\n $renderOnMobileAs={section.subtitleTabletStyle}\n $color=\"WHITE_1\"\n $whiteSpace=\"pre-line\"\n $subtitleLineThrough={section.subtitleLineThrough}\n >\n {section.subtitle}\n </Styled.SubTitle>\n </>\n )}\n\n {section.description && (\n <>\n <Separator heightX={0.5} />\n <FlexView $width=\"100%\">\n <Text\n $renderAs=\"ub2\"\n $renderOnMobileAs=\"ub3\"\n $color={section.descriptionColor ?? 'WHITE_T_60'}\n >\n {section.description}\n </Text>\n </FlexView>\n </>\n )}\n\n {section.action && (\n <>\n <Separator heightX={0.75} />\n <TextButton\n sizeOnMobile=\"small\"\n label={section.action.label}\n color=\"WHITE_1\"\n onClick={section.action.onClick}\n />\n </>\n )}\n </Styled.ContentWrapper>\n </FlexView>\n ),\n [],\n );\n\n return (\n <FlexView $flexDirection=\"column\" $justifyContent=\"center\">\n {renderSection(config.topSection)}\n\n <FlexView $gutterX={2} $gapX={0.25}>\n <Separator heightX={3} background=\"BLACK_5\" width={1} />\n </FlexView>\n\n {renderSection(config.bottomSection)}\n </FlexView>\n );\n};\n\nexport default memo(SessionStatus);\n"],"names":["SessionStatus","completedSessions","nextSessionStartTime","status","teacherName","studentName","onRescheduleClick","derivedValues","useMemo","formatSessionDateTime","isTeacherAssigned","isFirstSessionCompleted","formattedSessionStart","isNoShowStatus","remainingTime","useSessionCountdown","config","useSessionStatusConfig","renderSection","useCallback","section","jsxs","FlexView","jsx","Image","Styled.LottieWrapper","LottieAnimation","renderSettings","Styled.ContentWrapper","Text","Fragment","Separator","Styled.SubTitle","TextButton","SessionStatus$1","memo"],"mappings":"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"}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { memo as p, useCallback as g } from "react";
|
|
3
3
|
import { useTheme as u } from "styled-components";
|
|
4
4
|
import b from "../../../../../../assets/line-icons/icons/chevron-right.js";
|
|
5
5
|
import w from "../../../../../ui/buttons/clickable/clickable.js";
|
|
6
6
|
import x from "../../../../../ui/image/image.js";
|
|
7
7
|
import r from "../../../../../ui/layout/flex-view.js";
|
|
8
|
-
import
|
|
8
|
+
import T from "../../../../../ui/separator/separator.js";
|
|
9
9
|
import n from "../../../../../ui/text/text.js";
|
|
10
|
-
import { EDeviceType as
|
|
10
|
+
import { EDeviceType as C } from "../../../../../ui/theme/constants.js";
|
|
11
11
|
import { ImageWrapper as E } from "./summary-card-styled.js";
|
|
12
12
|
const _ = p(
|
|
13
13
|
({
|
|
14
14
|
title: l,
|
|
15
15
|
description: a,
|
|
16
16
|
image: h,
|
|
17
|
-
textBG:
|
|
17
|
+
textBG: c,
|
|
18
18
|
ctaLabel: $,
|
|
19
19
|
keyId: o,
|
|
20
20
|
isDemoDone: d,
|
|
21
|
-
onClick:
|
|
21
|
+
onClick: i
|
|
22
22
|
}) => {
|
|
23
|
-
const s = u().device <=
|
|
24
|
-
o &&
|
|
25
|
-
}, [o,
|
|
26
|
-
/* @__PURE__ */ e(E, { $height: 84, $width: "100%", $background:
|
|
27
|
-
/* @__PURE__ */
|
|
23
|
+
const s = u().device <= C.MOBILE, f = g(() => {
|
|
24
|
+
o && i && i(o);
|
|
25
|
+
}, [o, i]), m = /* @__PURE__ */ t(r, { $flex: 1, children: [
|
|
26
|
+
/* @__PURE__ */ e(E, { $height: 84, $width: "100%", $background: c, children: /* @__PURE__ */ e(x, { src: h, height: 84, width: "100%", withLoader: !1 }) }),
|
|
27
|
+
/* @__PURE__ */ t(r, { $gap: 12, $gutter: 16, $background: c, $flex: 1, children: [
|
|
28
28
|
/* @__PURE__ */ e(n, { $renderAs: "ac3-black", $renderOnMobileAs: "ac4-black", $color: "WHITE", children: l }),
|
|
29
|
-
/* @__PURE__ */ e(
|
|
29
|
+
/* @__PURE__ */ e(T, { height: s ? 8 : 12 }),
|
|
30
30
|
/* @__PURE__ */ e(n, { $renderAs: "ub3", $color: "WHITE", children: a })
|
|
31
31
|
] })
|
|
32
32
|
] }, l);
|
|
33
|
-
return d && o ? /* @__PURE__ */
|
|
33
|
+
return d && o && i ? /* @__PURE__ */ t(r, { $flex: 1, children: [
|
|
34
34
|
m,
|
|
35
|
-
/* @__PURE__ */ e(w, { label: o, onClick: f, children: /* @__PURE__ */ e(r, { $background:
|
|
35
|
+
/* @__PURE__ */ e(w, { label: o, onClick: f, children: /* @__PURE__ */ e(r, { $background: c, children: /* @__PURE__ */ t(
|
|
36
36
|
r,
|
|
37
37
|
{
|
|
38
38
|
$background: "BLACK_T_38",
|
package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-card.js","sources":["../../../../../../../src/features/trial-session/comps/pla/session-summary/summary-card/summary-card.tsx"],"sourcesContent":["import type { ISessionSummaryCardProps } from './summary-card-types';\n\nimport { memo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport ChevronRightIcon from '../../../../../../assets/line-icons/icons/chevron-right';\nimport Clickable from '../../../../../ui/buttons/clickable/clickable';\nimport Image from '../../../../../ui/image/image';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport { EDeviceType } from '../../../../../ui/theme/constants';\nimport * as Styled from './summary-card-styled';\n\nconst SessionSummaryCard = memo(\n ({\n title,\n description,\n image,\n textBG,\n ctaLabel,\n keyId,\n isDemoDone,\n onClick,\n }: ISessionSummaryCardProps) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n const handleClick = useCallback(() => {\n if (keyId && onClick) onClick(keyId);\n }, [keyId, onClick]);\n\n const CardContent = (\n <FlexView key={title} $flex={1}>\n <Styled.ImageWrapper $height={84} $width=\"100%\" $background={textBG}>\n <Image src={image} height={84} width=\"100%\" withLoader={false} />\n </Styled.ImageWrapper>\n <FlexView $gap={12} $gutter={16} $background={textBG} $flex={1}>\n <Text $renderAs=\"ac3-black\" $renderOnMobileAs=\"ac4-black\" $color=\"WHITE\">\n {title}\n </Text>\n <Separator height={isMobile ? 8 : 12} />\n <Text $renderAs=\"ub3\" $color=\"WHITE\">\n {description}\n </Text>\n </FlexView>\n </FlexView>\n );\n\n return isDemoDone && keyId ? (\n <FlexView $flex={1}>\n {CardContent}\n <Clickable label={keyId} onClick={handleClick}>\n <FlexView $background={textBG}>\n <FlexView\n $background=\"BLACK_T_38\"\n $gapX={0.5}\n $gutterX={0.5}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <FlexView $gutterX={0.5} $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ac4\" $color=\"WHITE_1\">\n {ctaLabel}\n </Text>\n </FlexView>\n <ChevronRightIcon width={24} height={24} color=\"WHITE\" />\n </FlexView>\n </FlexView>\n </Clickable>\n </FlexView>\n ) : (\n CardContent\n );\n },\n);\n\nexport default SessionSummaryCard;\n"],"names":["SessionSummaryCard","memo","title","description","image","textBG","ctaLabel","keyId","isDemoDone","onClick","isMobile","useTheme","EDeviceType","handleClick","useCallback","CardContent","jsxs","FlexView","jsx","Styled.ImageWrapper","Image","Text","Separator","Clickable","ChevronRightIcon"],"mappings":";;;;;;;;;;;AAcA,MAAMA,IAAqBC;AAAA,EACzB,CAAC;AAAA,IACC,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,MAC8B;AAExB,UAAAC,IADQC,IACS,UAAUC,EAAY,QAEvCC,IAAcC,EAAY,MAAM;AAChC,MAAAP,KAASE,KAASA,EAAQF,CAAK;AAAA,IAAA,GAClC,CAACA,GAAOE,CAAO,CAAC,GAEbM,IACJ,gBAAAC,EAACC,GAAqB,EAAA,OAAO,GAC3B,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAoB,SAAS,IAAI,QAAO,QAAO,aAAad,GAC3D,4BAACe,GAAM,EAAA,KAAKhB,GAAO,QAAQ,IAAI,OAAM,QAAO,YAAY,GAAO,CAAA,GACjE;AAAA,MACA,gBAAAY,EAACC,KAAS,MAAM,IAAI,SAAS,IAAI,aAAaZ,GAAQ,OAAO,GAC3D,UAAA;AAAA,QAAA,gBAAAa,EAACG,KAAK,WAAU,aAAY,mBAAkB,aAAY,QAAO,SAC9D,UACHnB,EAAA,CAAA;AAAA,QACC,gBAAAgB,EAAAI,GAAA,EAAU,QAAQZ,IAAW,IAAI,IAAI;AAAA,0BACrCW,GAAK,EAAA,WAAU,OAAM,QAAO,SAC1B,UACHlB,GAAA;AAAA,MAAA,GACF;AAAA,IAAA,EAAA,GAZaD,CAaf;AAGF,WAAOM,KAAcD,
|
|
1
|
+
{"version":3,"file":"summary-card.js","sources":["../../../../../../../src/features/trial-session/comps/pla/session-summary/summary-card/summary-card.tsx"],"sourcesContent":["import type { ISessionSummaryCardProps } from './summary-card-types';\n\nimport { memo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport ChevronRightIcon from '../../../../../../assets/line-icons/icons/chevron-right';\nimport Clickable from '../../../../../ui/buttons/clickable/clickable';\nimport Image from '../../../../../ui/image/image';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Separator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport { EDeviceType } from '../../../../../ui/theme/constants';\nimport * as Styled from './summary-card-styled';\n\nconst SessionSummaryCard = memo(\n ({\n title,\n description,\n image,\n textBG,\n ctaLabel,\n keyId,\n isDemoDone,\n onClick,\n }: ISessionSummaryCardProps) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n const handleClick = useCallback(() => {\n if (keyId && onClick) onClick(keyId);\n }, [keyId, onClick]);\n\n const CardContent = (\n <FlexView key={title} $flex={1}>\n <Styled.ImageWrapper $height={84} $width=\"100%\" $background={textBG}>\n <Image src={image} height={84} width=\"100%\" withLoader={false} />\n </Styled.ImageWrapper>\n <FlexView $gap={12} $gutter={16} $background={textBG} $flex={1}>\n <Text $renderAs=\"ac3-black\" $renderOnMobileAs=\"ac4-black\" $color=\"WHITE\">\n {title}\n </Text>\n <Separator height={isMobile ? 8 : 12} />\n <Text $renderAs=\"ub3\" $color=\"WHITE\">\n {description}\n </Text>\n </FlexView>\n </FlexView>\n );\n\n return isDemoDone && keyId && onClick ? (\n <FlexView $flex={1}>\n {CardContent}\n <Clickable label={keyId} onClick={handleClick}>\n <FlexView $background={textBG}>\n <FlexView\n $background=\"BLACK_T_38\"\n $gapX={0.5}\n $gutterX={0.5}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <FlexView $gutterX={0.5} $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ac4\" $color=\"WHITE_1\">\n {ctaLabel}\n </Text>\n </FlexView>\n <ChevronRightIcon width={24} height={24} color=\"WHITE\" />\n </FlexView>\n </FlexView>\n </Clickable>\n </FlexView>\n ) : (\n CardContent\n );\n },\n);\n\nexport default SessionSummaryCard;\n"],"names":["SessionSummaryCard","memo","title","description","image","textBG","ctaLabel","keyId","isDemoDone","onClick","isMobile","useTheme","EDeviceType","handleClick","useCallback","CardContent","jsxs","FlexView","jsx","Styled.ImageWrapper","Image","Text","Separator","Clickable","ChevronRightIcon"],"mappings":";;;;;;;;;;;AAcA,MAAMA,IAAqBC;AAAA,EACzB,CAAC;AAAA,IACC,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,MAC8B;AAExB,UAAAC,IADQC,IACS,UAAUC,EAAY,QAEvCC,IAAcC,EAAY,MAAM;AAChC,MAAAP,KAASE,KAASA,EAAQF,CAAK;AAAA,IAAA,GAClC,CAACA,GAAOE,CAAO,CAAC,GAEbM,IACJ,gBAAAC,EAACC,GAAqB,EAAA,OAAO,GAC3B,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAoB,SAAS,IAAI,QAAO,QAAO,aAAad,GAC3D,4BAACe,GAAM,EAAA,KAAKhB,GAAO,QAAQ,IAAI,OAAM,QAAO,YAAY,GAAO,CAAA,GACjE;AAAA,MACA,gBAAAY,EAACC,KAAS,MAAM,IAAI,SAAS,IAAI,aAAaZ,GAAQ,OAAO,GAC3D,UAAA;AAAA,QAAA,gBAAAa,EAACG,KAAK,WAAU,aAAY,mBAAkB,aAAY,QAAO,SAC9D,UACHnB,EAAA,CAAA;AAAA,QACC,gBAAAgB,EAAAI,GAAA,EAAU,QAAQZ,IAAW,IAAI,IAAI;AAAA,0BACrCW,GAAK,EAAA,WAAU,OAAM,QAAO,SAC1B,UACHlB,GAAA;AAAA,MAAA,GACF;AAAA,IAAA,EAAA,GAZaD,CAaf;AAGF,WAAOM,KAAcD,KAASE,IAC3B,gBAAAO,EAAAC,GAAA,EAAS,OAAO,GACd,UAAA;AAAA,MAAAF;AAAA,MACD,gBAAAG,EAACK,KAAU,OAAOhB,GAAO,SAASM,GAChC,UAAA,gBAAAK,EAACD,GAAS,EAAA,aAAaZ,GACrB,UAAA,gBAAAW;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,aAAY;AAAA,UACZ,OAAO;AAAA,UACP,UAAU;AAAA,UACV,gBAAe;AAAA,UACf,aAAY;AAAA,UACZ,iBAAgB;AAAA,UAEhB,UAAA;AAAA,YAAA,gBAAAC,EAACD,GAAS,EAAA,UAAU,KAAK,gBAAe,OAAM,aAAY,UACxD,UAAC,gBAAAC,EAAAG,GAAA,EAAK,WAAU,OAAM,QAAO,WAC1B,YACH,CAAA,GACF;AAAA,8BACCG,GAAiB,EAAA,OAAO,IAAI,QAAQ,IAAI,OAAM,SAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,SAE3D,EACF,CAAA;AAAA,IAAA,EACF,CAAA,IAEAT;AAAA,EAEJ;AACF;"}
|
package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upcoming-sessions-types.js","sources":["../../../../../../src/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.ts"],"sourcesContent":["export enum ESessionStatus {\n COMPLETED = 'COMPLETED',\n IN_FUTURE = 'IN FUTURE',\n}\n\
|
|
1
|
+
{"version":3,"file":"upcoming-sessions-types.js","sources":["../../../../../../src/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.ts"],"sourcesContent":["export enum ESessionStatus {\n COMPLETED = 'COMPLETED',\n IN_FUTURE = 'IN FUTURE',\n}\n\nexport type TSession = {\n session_start: number;\n session_end: number;\n session_status: ESessionStatus;\n};\n\nexport interface IUpcomingSessionsProps {\n sessions?: TSession[];\n}\n"],"names":["ESessionStatus"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,YAAY,aAFFA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -11,11 +11,11 @@ import { EDeviceType as D } from "../../../../ui/theme/constants.js";
|
|
|
11
11
|
import { DAYS_TO_SHOW as H } from "./upcoming-sessions-constants.js";
|
|
12
12
|
import { SessionRow as M, DayLabel as W, DateWrapper as S } from "./upcoming-sessions-styled.js";
|
|
13
13
|
import { ESessionStatus as h } from "./upcoming-sessions-types.js";
|
|
14
|
-
import { addDays as
|
|
15
|
-
import { isToday as
|
|
14
|
+
import { addDays as U } from "../../../../../node_modules/date-fns/addDays.js";
|
|
15
|
+
import { isToday as k } from "../../../../../node_modules/date-fns/isToday.js";
|
|
16
16
|
import { formatDate as s } from "../../../../../node_modules/date-fns/format.js";
|
|
17
|
-
const
|
|
18
|
-
const d = w(), T = d.device <= D.MOBILE, p = c(() => /* @__PURE__ */ new Date(), []),
|
|
17
|
+
const B = ({ sessions: m = [] }) => {
|
|
18
|
+
const d = w(), T = d.device <= D.MOBILE, p = c(() => /* @__PURE__ */ new Date(), []), _ = c(
|
|
19
19
|
() => new Map(
|
|
20
20
|
m.map((o) => [
|
|
21
21
|
s(new Date(o.session_start * 1e3), "yyyy-MM-dd"),
|
|
@@ -23,8 +23,8 @@ const L = ({ sessions: m = [] }) => {
|
|
|
23
23
|
])
|
|
24
24
|
),
|
|
25
25
|
[m]
|
|
26
|
-
),
|
|
27
|
-
() => Array.from({ length: H }, (o, l) =>
|
|
26
|
+
), u = c(
|
|
27
|
+
() => Array.from({ length: H }, (o, l) => U(p, l)),
|
|
28
28
|
[p]
|
|
29
29
|
), g = I(() => {
|
|
30
30
|
window.open(A, "_blank");
|
|
@@ -39,8 +39,8 @@ const L = ({ sessions: m = [] }) => {
|
|
|
39
39
|
] })
|
|
40
40
|
] }),
|
|
41
41
|
/* @__PURE__ */ e(f, { height: T ? 16 : 20 }),
|
|
42
|
-
/* @__PURE__ */ e(n, { $borderColor: "BLACK_5", children:
|
|
43
|
-
const l = s(o, "yyyy-MM-dd"), r =
|
|
42
|
+
/* @__PURE__ */ e(n, { $borderColor: "BLACK_5", children: u.map((o) => {
|
|
43
|
+
const l = s(o, "yyyy-MM-dd"), r = _.get(l), $ = k(o), a = (r == null ? void 0 : r.session_status) === h.COMPLETED, E = (r == null ? void 0 : r.session_status) === h.IN_FUTURE ? "GREEN_6" : "BLACK_1", b = a ? "WHITE_T_10" : E;
|
|
44
44
|
return /* @__PURE__ */ t(M, { $flex: 1, $flexDirection: "row", children: [
|
|
45
45
|
/* @__PURE__ */ t(
|
|
46
46
|
W,
|
|
@@ -89,7 +89,7 @@ const L = ({ sessions: m = [] }) => {
|
|
|
89
89
|
] }, l);
|
|
90
90
|
}) })
|
|
91
91
|
] });
|
|
92
|
-
}, Q = C(
|
|
92
|
+
}, Q = C(B);
|
|
93
93
|
export {
|
|
94
94
|
Q as default
|
|
95
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upcoming-sessions.js","sources":["../../../../../../src/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\n\nimport { format, isToday, addDays } from 'date-fns';\nimport React, { useCallback, memo, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport { CUEMATH_APP_URL } from '../../../../../constants/config';\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport { DAYS_TO_SHOW } from './upcoming-sessions-constants';\nimport * as Styled from './upcoming-sessions-styled';\nimport { ESessionStatus, type IUpcomingSessionsProps } from './upcoming-sessions-types';\n\nconst UpcomingSessions: React.FC<IUpcomingSessionsProps> = ({ sessions = [] }) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n const today = useMemo(() => new Date(), []);\n const sessionsMap = useMemo(\n () =>\n new Map(\n sessions.map(session => [\n format(new Date(session.session_start * 1000), 'yyyy-MM-dd'),\n session,\n ]),\n ),\n [sessions],\n );\n\n const days = useMemo(\n () => Array.from({ length: DAYS_TO_SHOW }, (_, i) => addDays(today, i)),\n [today],\n );\n\n const handleOpenApp = useCallback(() => {\n window.open(CUEMATH_APP_URL, '_blank');\n }, []);\n\n return (\n <FlexView>\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n Upcoming sessions\n </Text>\n <Separator height={4} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={0.25}>\n <Text $renderAs=\"ub1\" $color=\"WHITE_T_60\">\n For more details,\n </Text>\n <TextButton label=\"download the Cuemath app\" onClick={handleOpenApp} color=\"WHITE\" />\n </FlexView>\n </FlexView>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $borderColor=\"BLACK_5\">\n {days.map(day => {\n const dateKey = format(day, 'yyyy-MM-dd');\n const session = sessionsMap.get(dateKey);\n const isTodayFlag = isToday(day);\n const isSessionCompleted = session?.session_status === ESessionStatus.COMPLETED;\n const defaultTimecellBg =\n session?.session_status === ESessionStatus.IN_FUTURE ? 'GREEN_6' : 'BLACK_1';\n const timeCellBg = isSessionCompleted ? 'WHITE_T_10' : defaultTimecellBg;\n\n return (\n <Styled.SessionRow key={dateKey} $flex={1} $flexDirection=\"row\">\n <Styled.DayLabel\n $width={80}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexColumnGapX={0.25}\n $gutterX={1}\n $gapX={0.5}\n >\n <Text $renderAs=\"ac4-black\" $color=\"WHITE_1\">\n {format(day, 'EEE').toUpperCase()}\n </Text>\n <Styled.DateWrapper\n $background={isTodayFlag ? 'WHITE' : 'TRANSPARENT'}\n $width={22}\n $height={22}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={11}\n $gutter={1}\n $gap={2}\n >\n <Text $renderAs=\"ab3-bold\" $color={isTodayFlag ? 'BLACK_1' : 'WHITE_1'}>\n {format(day, 'd')}\n </Text>\n </Styled.DateWrapper>\n </Styled.DayLabel>\n <FlexView\n $flex={1}\n $gutterX={1}\n $gap={14}\n $background={timeCellBg as TColorNames}\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n {session ? (\n <Text $renderAs=\"ab2\" $color={isSessionCompleted ? 'WHITE_T_38' : 'WHITE'}>\n {format(new Date(session.session_start * 1000), 'p')}\n </Text>\n ) : null}\n {isSessionCompleted && <Check2Icon color={theme.colors.WHITE_T_38} />}\n </FlexView>\n </Styled.SessionRow>\n );\n })}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(UpcomingSessions);\n"],"names":["UpcomingSessions","sessions","theme","useTheme","isMobile","EDeviceType","today","useMemo","sessionsMap","session","format","days","DAYS_TO_SHOW","_","i","addDays","handleOpenApp","useCallback","CUEMATH_APP_URL","FlexView","jsxs","jsx","Text","Separator","TextButton","day","dateKey","isTodayFlag","isToday","isSessionCompleted","ESessionStatus","defaultTimecellBg","timeCellBg","Styled.SessionRow","Styled.DayLabel","Styled.DateWrapper","Check2Icon","
|
|
1
|
+
{"version":3,"file":"upcoming-sessions.js","sources":["../../../../../../src/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\n\nimport { format, isToday, addDays } from 'date-fns';\nimport React, { useCallback, memo, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport { CUEMATH_APP_URL } from '../../../../../constants/config';\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport { DAYS_TO_SHOW } from './upcoming-sessions-constants';\nimport * as Styled from './upcoming-sessions-styled';\nimport { ESessionStatus, type IUpcomingSessionsProps } from './upcoming-sessions-types';\n\nconst UpcomingSessions: React.FC<IUpcomingSessionsProps> = ({ sessions = [] }) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n const today = useMemo(() => new Date(), []);\n const sessionsMap = useMemo(\n () =>\n new Map(\n sessions.map(session => [\n format(new Date(session.session_start * 1000), 'yyyy-MM-dd'),\n session,\n ]),\n ),\n [sessions],\n );\n\n const days = useMemo(\n () => Array.from({ length: DAYS_TO_SHOW }, (_, i) => addDays(today, i)),\n [today],\n );\n\n const handleOpenApp = useCallback(() => {\n window.open(CUEMATH_APP_URL, '_blank');\n }, []);\n\n return (\n <FlexView>\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n Upcoming sessions\n </Text>\n <Separator height={4} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={0.25}>\n <Text $renderAs=\"ub1\" $color=\"WHITE_T_60\">\n For more details,\n </Text>\n <TextButton label=\"download the Cuemath app\" onClick={handleOpenApp} color=\"WHITE\" />\n </FlexView>\n </FlexView>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $borderColor=\"BLACK_5\">\n {days.map(day => {\n const dateKey = format(day, 'yyyy-MM-dd');\n const session = sessionsMap.get(dateKey);\n const isTodayFlag = isToday(day);\n const isSessionCompleted = session?.session_status === ESessionStatus.COMPLETED;\n const defaultTimecellBg =\n session?.session_status === ESessionStatus.IN_FUTURE ? 'GREEN_6' : 'BLACK_1';\n const timeCellBg = isSessionCompleted ? 'WHITE_T_10' : defaultTimecellBg;\n\n return (\n <Styled.SessionRow key={dateKey} $flex={1} $flexDirection=\"row\">\n <Styled.DayLabel\n $width={80}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexColumnGapX={0.25}\n $gutterX={1}\n $gapX={0.5}\n >\n <Text $renderAs=\"ac4-black\" $color=\"WHITE_1\">\n {format(day, 'EEE').toUpperCase()}\n </Text>\n <Styled.DateWrapper\n $background={isTodayFlag ? 'WHITE' : 'TRANSPARENT'}\n $width={22}\n $height={22}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={11}\n $gutter={1}\n $gap={2}\n >\n <Text $renderAs=\"ab3-bold\" $color={isTodayFlag ? 'BLACK_1' : 'WHITE_1'}>\n {format(day, 'd')}\n </Text>\n </Styled.DateWrapper>\n </Styled.DayLabel>\n <FlexView\n $flex={1}\n $gutterX={1}\n $gap={14}\n $background={timeCellBg as TColorNames}\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n {session ? (\n <Text $renderAs=\"ab2\" $color={isSessionCompleted ? 'WHITE_T_38' : 'WHITE'}>\n {format(new Date(session.session_start * 1000), 'p')}\n </Text>\n ) : null}\n {isSessionCompleted && <Check2Icon color={theme.colors.WHITE_T_38} />}\n </FlexView>\n </Styled.SessionRow>\n );\n })}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(UpcomingSessions);\n"],"names":["UpcomingSessions","sessions","theme","useTheme","isMobile","EDeviceType","today","useMemo","sessionsMap","session","format","days","DAYS_TO_SHOW","_","i","addDays","handleOpenApp","useCallback","CUEMATH_APP_URL","FlexView","jsxs","jsx","Text","Separator","TextButton","day","dateKey","isTodayFlag","isToday","isSessionCompleted","ESessionStatus","defaultTimecellBg","timeCellBg","Styled.SessionRow","Styled.DayLabel","Styled.DateWrapper","Check2Icon","UpcomingSessions$1","memo"],"mappings":"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"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { TRIAL_V3_NODE_TYPES as
|
|
1
|
+
import { TRIAL_V3_NODE_TYPES as u, ASSESSMENT_NODE_TYPES as T } from "../../sheets/utils/is-v3-worksheet.js";
|
|
2
2
|
const R = ({
|
|
3
3
|
nodeType: c,
|
|
4
|
-
inClass:
|
|
5
|
-
isLessonV3Enabled:
|
|
6
|
-
isDesmosEnabled:
|
|
4
|
+
inClass: E,
|
|
5
|
+
isLessonV3Enabled: n,
|
|
6
|
+
isDesmosEnabled: m = !1,
|
|
7
7
|
userType: t,
|
|
8
|
-
mode:
|
|
9
|
-
worksheetCompleted:
|
|
8
|
+
mode: A,
|
|
9
|
+
worksheetCompleted: a
|
|
10
10
|
}) => {
|
|
11
|
-
const r =
|
|
11
|
+
const r = u.includes(c), s = T.includes(c), i = A === "resume", e = {
|
|
12
12
|
hints: i,
|
|
13
13
|
navigationMode: "OPEN",
|
|
14
|
-
initialQuestion: i || t === "TEACHER" && !
|
|
14
|
+
initialQuestion: i || t === "TEACHER" && !a ? "CURRENT" : "FIRST",
|
|
15
15
|
maximumAttempts: s ? -1 : 99999,
|
|
16
16
|
minimumAccuracy: 100,
|
|
17
|
-
teacherValidationEnabled:
|
|
18
|
-
canTeacherValidate: !!
|
|
19
|
-
validation: t === "STUDENT" && s ? !!
|
|
17
|
+
teacherValidationEnabled: n || r,
|
|
18
|
+
canTeacherValidate: !!E && (n || r),
|
|
19
|
+
validation: t === "STUDENT" && s ? !!a : !0,
|
|
20
20
|
review: !1,
|
|
21
21
|
canAttempt: t === "STUDENT" ? i : !1,
|
|
22
22
|
canExceedAttempts: !0,
|
|
23
23
|
checkButtonLabel: "Check",
|
|
24
24
|
retryButtonLabel: "Retry",
|
|
25
25
|
canMarkForReview: !1,
|
|
26
|
-
canShowDesmosCalc:
|
|
27
|
-
canvasEnabled:
|
|
28
|
-
canScribble:
|
|
26
|
+
canShowDesmosCalc: m,
|
|
27
|
+
canvasEnabled: A !== "preview",
|
|
28
|
+
canScribble: A !== "preview",
|
|
29
29
|
solutionHidden: !1
|
|
30
30
|
};
|
|
31
31
|
switch (c) {
|
|
@@ -33,8 +33,8 @@ const R = ({
|
|
|
33
33
|
case "SAT_MATH_LEARNING":
|
|
34
34
|
case "SAT_ENGLISH_LEARNING":
|
|
35
35
|
return {
|
|
36
|
-
...
|
|
37
|
-
navigationMode:
|
|
36
|
+
...e,
|
|
37
|
+
navigationMode: n && i && !E ? "OPEN" : "LINEAR",
|
|
38
38
|
review: !0
|
|
39
39
|
};
|
|
40
40
|
case "GENERAL":
|
|
@@ -42,20 +42,20 @@ const R = ({
|
|
|
42
42
|
case "RECAP":
|
|
43
43
|
case "SAT_MATH_RECAP":
|
|
44
44
|
return {
|
|
45
|
-
...
|
|
45
|
+
...e,
|
|
46
46
|
maximumAttempts: 1,
|
|
47
|
-
navigationMode:
|
|
47
|
+
navigationMode: "LINEAR",
|
|
48
48
|
review: !0
|
|
49
49
|
};
|
|
50
50
|
case "EXTRA_PRACTICE":
|
|
51
51
|
case "TARGET_PRACTICE":
|
|
52
52
|
case "PRACTICE":
|
|
53
|
-
return { ...
|
|
53
|
+
return { ...e, maximumAttempts: 1, review: !0 };
|
|
54
54
|
case "TURING_PRACTICE":
|
|
55
|
-
return { ...
|
|
55
|
+
return { ...e, maximumAttempts: 1 };
|
|
56
56
|
case "PUZZLE_CARD":
|
|
57
57
|
return {
|
|
58
|
-
...
|
|
58
|
+
...e,
|
|
59
59
|
navigationMode: "LINEAR",
|
|
60
60
|
maximumAttempts: -2,
|
|
61
61
|
solutionHidden: !0,
|
|
@@ -65,14 +65,14 @@ const R = ({
|
|
|
65
65
|
case "PUZZLE_EASY":
|
|
66
66
|
case "PUZZLE_MEDIUM":
|
|
67
67
|
case "PUZZLE_HARD":
|
|
68
|
-
return { ...
|
|
68
|
+
return { ...e, navigationMode: "LINEAR" };
|
|
69
69
|
case "TRIAL_DIAGNOSTIC":
|
|
70
|
-
return { ...
|
|
70
|
+
return { ...e, navigationMode: "ADAPTIVE", review: !0 };
|
|
71
71
|
case "TRIAL_BASIC":
|
|
72
72
|
case "TRIAL_INTERMEDIATE":
|
|
73
73
|
case "TRIAL_ADVANCED":
|
|
74
74
|
return {
|
|
75
|
-
...
|
|
75
|
+
...e,
|
|
76
76
|
navigationMode: "CURRENT",
|
|
77
77
|
review: !0
|
|
78
78
|
};
|
|
@@ -82,41 +82,41 @@ const R = ({
|
|
|
82
82
|
case "DYNAMIC":
|
|
83
83
|
case "TURING_ASSESSMENT":
|
|
84
84
|
return {
|
|
85
|
-
...
|
|
85
|
+
...e,
|
|
86
86
|
minimumAccuracy: 0
|
|
87
87
|
};
|
|
88
88
|
case "SAT_MATH_ASSESSMENT":
|
|
89
89
|
case "SAT_ENGLISH_ASSESSMENT":
|
|
90
90
|
return {
|
|
91
|
-
...
|
|
91
|
+
...e,
|
|
92
92
|
canMarkForReview: !0,
|
|
93
93
|
minimumAccuracy: 0,
|
|
94
94
|
canvasEnabled: !1
|
|
95
95
|
};
|
|
96
96
|
case "MASTERY":
|
|
97
97
|
return {
|
|
98
|
-
...
|
|
98
|
+
...e,
|
|
99
99
|
hintsTimer: 90,
|
|
100
|
-
navigationMode:
|
|
100
|
+
navigationMode: "LINEAR",
|
|
101
101
|
skippable: !0,
|
|
102
102
|
skippableTime: 90,
|
|
103
|
-
solutionHidden: !
|
|
103
|
+
solutionHidden: !a,
|
|
104
104
|
minimumAccuracy: 0,
|
|
105
|
-
canScribble: t === "TEACHER" ?
|
|
105
|
+
canScribble: t === "TEACHER" ? a : !0
|
|
106
106
|
};
|
|
107
107
|
case "SUBJECTIVE":
|
|
108
108
|
case "TURING_SUBJECTIVE":
|
|
109
109
|
return {
|
|
110
|
-
...
|
|
110
|
+
...e,
|
|
111
111
|
maximumAttempts: 1,
|
|
112
112
|
minimumAccuracy: 0,
|
|
113
113
|
validation: !1,
|
|
114
|
-
solutionHidden: !
|
|
114
|
+
solutionHidden: !a
|
|
115
115
|
};
|
|
116
116
|
case "LEGACY":
|
|
117
117
|
case "REVISION":
|
|
118
118
|
return {
|
|
119
|
-
...
|
|
119
|
+
...e,
|
|
120
120
|
maximumAttempts: 2,
|
|
121
121
|
canExceedAttempts: !1,
|
|
122
122
|
minimumAccuracy: 0,
|
|
@@ -125,21 +125,21 @@ const R = ({
|
|
|
125
125
|
case "LEVEL2":
|
|
126
126
|
case "LEVEL3":
|
|
127
127
|
return {
|
|
128
|
-
...
|
|
128
|
+
...e,
|
|
129
129
|
maximumAttempts: 1,
|
|
130
130
|
canExceedAttempts: !1,
|
|
131
131
|
minimumAccuracy: 0,
|
|
132
132
|
review: !0,
|
|
133
|
-
navigationMode:
|
|
133
|
+
navigationMode: "LINEAR"
|
|
134
134
|
};
|
|
135
135
|
default:
|
|
136
136
|
return {
|
|
137
|
-
...
|
|
137
|
+
...e,
|
|
138
138
|
maximumAttempts: 1,
|
|
139
|
-
navigationMode:
|
|
139
|
+
navigationMode: "LINEAR"
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
-
return
|
|
142
|
+
return e;
|
|
143
143
|
};
|
|
144
144
|
export {
|
|
145
145
|
R as getWorksheetBehaviour
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import type { TNodeTypes } from '../../../types/models/worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\n\nexport const getWorksheetBehaviour = ({\n nodeType,\n inClass,\n isLessonV3Enabled,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n}: {\n nodeType: TNodeTypes;\n inClass?: boolean;\n isLessonV3Enabled: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n}): IWorksheetBehavior => {\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherValidationEnabled: isLessonV3Enabled || isTrialV3,\n canTeacherValidate: !!inClass && (isLessonV3Enabled || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n ...baseBehavior,\n navigationMode: isLessonV3Enabled && canAttempt && !inClass ? 'OPEN' : 'LINEAR',\n review: true,\n };\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode:
|
|
1
|
+
{"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import type { TNodeTypes } from '../../../types/models/worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\n\nexport const getWorksheetBehaviour = ({\n nodeType,\n inClass,\n isLessonV3Enabled,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n}: {\n nodeType: TNodeTypes;\n inClass?: boolean;\n isLessonV3Enabled: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n}): IWorksheetBehavior => {\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherValidationEnabled: isLessonV3Enabled || isTrialV3,\n canTeacherValidate: !!inClass && (isLessonV3Enabled || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n ...baseBehavior,\n navigationMode: isLessonV3Enabled && canAttempt && !inClass ? 'OPEN' : 'LINEAR',\n review: true,\n };\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: 'LINEAR',\n review: true,\n };\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1, review: true };\n\n case 'TURING_PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1 };\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n return {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return { ...baseBehavior, navigationMode: 'LINEAR' };\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n return { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'DYNAMIC':\n case 'TURING_ASSESSMENT':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n\n case 'MASTERY':\n return {\n ...baseBehavior,\n hintsTimer: 90,\n navigationMode: 'LINEAR',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n return {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: 'LINEAR',\n };\n\n default:\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: 'LINEAR',\n };\n }\n\n return baseBehavior;\n};\n"],"names":["getWorksheetBehaviour","nodeType","inClass","isLessonV3Enabled","isDesmosEnabled","userType","mode","worksheetCompleted","isTrialV3","TRIAL_V3_NODE_TYPES","isAssessment","ASSESSMENT_NODE_TYPES","canAttempt","baseBehavior"],"mappings":"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"}
|