@cuemath/leap 3.3.0 → 3.3.2-2.beta-guru-01
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/assets/gif/gif.js +3 -0
- package/dist/assets/gif/gif.js.map +1 -1
- package/dist/assets/illustrations/illustrations.js +10 -1
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/images/images.js +10 -0
- package/dist/assets/images/images.js.map +1 -1
- package/dist/assets/line-icons/icons/cue-coin.js +182 -0
- package/dist/assets/line-icons/icons/cue-coin.js.map +1 -0
- package/dist/assets/line-icons/icons/wins-common-icon.js +26 -0
- package/dist/assets/line-icons/icons/wins-common-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/wins-epic-icon.js +25 -0
- package/dist/assets/line-icons/icons/wins-epic-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/wins-legendary-icon.js +25 -0
- package/dist/assets/line-icons/icons/wins-legendary-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/wins-mystery-icon.js +105 -0
- package/dist/assets/line-icons/icons/wins-mystery-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/wins-mythic-icon.js +28 -0
- package/dist/assets/line-icons/icons/wins-mythic-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/wins-rare-icon.js +28 -0
- package/dist/assets/line-icons/icons/wins-rare-icon.js.map +1 -0
- package/dist/assets/lottie/lottie.js +10 -3
- package/dist/assets/lottie/lottie.js.map +1 -1
- package/dist/constants/config.js +5 -0
- package/dist/constants/config.js.map +1 -0
- package/dist/constants/country.js +9 -0
- package/dist/constants/country.js.map +1 -1
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +6 -6
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
- 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/comps/otp-input/otp-input.js +19 -18
- package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
- package/dist/features/auth/comps/pill-button/pill-button-styled.js +17 -17
- package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -1
- package/dist/features/auth/comps/pill-button/pill-button.js +26 -24
- package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
- package/dist/features/auth/comps/user-list/user-item/user-item.js +32 -30
- package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
- package/dist/features/auth/comps/user-list/user-list.js +20 -19
- package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +9 -9
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -1
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +58 -29
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -1
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +78 -41
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
- package/dist/features/auth/pla-signup/pla-analytics-events.js +5 -4
- package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
- package/dist/features/auth/pla-signup/signup-header/signup-header.js +1 -1
- package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +1 -1
- package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js +37 -35
- package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js.map +1 -1
- package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +75 -70
- package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/custom-input-field.js +55 -50
- package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
- package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js +47 -25
- package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
- package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js +16 -0
- package/dist/features/auth/signup-unavailable/signup-unavailable-styled.js.map +1 -0
- package/dist/features/auth/signup-unavailable/signup-unavailable-view.js +62 -0
- package/dist/features/auth/signup-unavailable/signup-unavailable-view.js.map +1 -0
- package/dist/features/auth/signup-unavailable/signup-unavailable.js +17 -0
- package/dist/features/auth/signup-unavailable/signup-unavailable.js.map +1 -0
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +19 -18
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js +7 -7
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +26 -24
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js +15 -13
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +130 -69
- package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +43 -33
- package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
- package/dist/features/chapters-v2/chapter-details/chapter-details.js +137 -95
- package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +36 -31
- package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js +22 -0
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js.map +1 -0
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js +141 -0
- package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -0
- package/dist/features/chapters-v2/constants/block-constants.js +7 -5
- package/dist/features/chapters-v2/constants/block-constants.js.map +1 -1
- package/dist/features/chapters-v2/utils/index.js +22 -12
- package/dist/features/chapters-v2/utils/index.js.map +1 -1
- package/dist/features/chapters-v2/utils/sat-sheet-utils.js +12 -0
- package/dist/features/chapters-v2/utils/sat-sheet-utils.js.map +1 -0
- package/dist/features/circle-games/games/web-view/web-view.js +0 -1
- package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
- package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js +86 -0
- package/dist/features/journey/hooks/use-chapter-page-journey/use-download-block-journey.js.map +1 -0
- package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js +140 -0
- package/dist/features/journey/hooks/use-chapter-page-journey/use-download-node-journey.js.map +1 -0
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +8 -4
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +23 -29
- package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -1
- package/dist/features/journey/journey-id/journey-id-student.js +1 -1
- package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
- package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
- package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +400 -0
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
- package/dist/features/milestone/constants.js +13 -10
- package/dist/features/milestone/constants.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +42 -40
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +70 -64
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +54 -29
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +48 -28
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +79 -76
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +97 -94
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +160 -143
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +22 -12
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +64 -59
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-container.js +17 -15
- package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +170 -153
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +19 -17
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +19 -20
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/parent-dashboard/api/get-student-profile-summary.js +9 -0
- package/dist/features/parent-dashboard/api/get-student-profile-summary.js.map +1 -0
- 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-constants.js +25 -0
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -0
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js +15 -0
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js.map +1 -0
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +90 -0
- package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -0
- package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js +19 -0
- package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js.map +1 -0
- package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js +32 -0
- package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js.map +1 -0
- package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +67 -0
- package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -0
- package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js +42 -0
- package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js.map +1 -0
- package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js +20 -0
- package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js.map +1 -0
- package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js +10 -0
- package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction-styled.js.map +1 -0
- package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js +42 -0
- package/dist/features/parent-dashboard/comps/pla-first-session-introduction/pla-first-session-introduction.js.map +1 -0
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +67 -0
- package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -0
- package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js +24 -0
- package/dist/features/parent-dashboard/hooks/use-student-profile-summary-data.js.map +1 -0
- package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js +71 -0
- package/dist/features/parent-dashboard/hooks/use-switch-user-journey.js.map +1 -0
- package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js +40 -0
- package/dist/features/parent-dashboard/modals/help-and-support/help-and-support.js.map +1 -0
- package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js +44 -0
- package/dist/features/parent-dashboard/modals/student-login-info/student-login-info.js.map +1 -0
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js +32 -0
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-helpers.js.map +1 -0
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js +12 -0
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary-styled.js.map +1 -0
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js +44 -0
- package/dist/features/parent-dashboard/modals/student-profile-summary/student-profile-summary.js.map +1 -0
- package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js +13 -0
- package/dist/features/parent-dashboard/modals/trial-report/trial-report-styled.js.map +1 -0
- package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +28 -0
- package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -0
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js +43 -0
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-constants.js.map +1 -0
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +59 -0
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -0
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.js +86 -0
- package/dist/features/parent-dashboard/modals/tutor-change/tutor-change.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-types.js +6 -0
- package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -0
- package/dist/features/parent-dashboard/parent-dashboard-view.js +215 -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/sentry/constants/ignored.js +10 -6
- package/dist/features/sentry/constants/ignored.js.map +1 -1
- package/dist/features/sheets/constants/sheet.js +23 -10
- package/dist/features/sheets/constants/sheet.js.map +1 -1
- package/dist/features/sheets/utils/is-v3-worksheet.js +17 -0
- package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
- package/dist/features/student-details/class-details/class-details-utils.js +6 -6
- package/dist/features/trial-session/api/course-stream.js.map +1 -1
- package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js +1 -1
- package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
- package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +66 -60
- package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +62 -88
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +12 -12
- package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
- package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js +25 -0
- package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
- package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js +43 -0
- package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
- package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +49 -0
- package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
- package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +132 -0
- package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js +17 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status.js +127 -0
- package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +53 -0
- package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +53 -0
- package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js +17 -0
- package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
- package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
- package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js +5 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js +17 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js +5 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +96 -0
- package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
- package/dist/features/trial-session/comps/school-goals/school-goals.js +25 -24
- package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-404/report-404.js +34 -0
- package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -0
- package/dist/features/trial-session/comps/session-report/report-information/report-card.js +41 -0
- package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -0
- package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +39 -0
- package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -0
- package/dist/features/trial-session/comps/session-report/report-information/report-information.js +179 -0
- package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -0
- package/dist/features/trial-session/comps/session-report/session-report-styled.js +6 -29
- package/dist/features/trial-session/comps/session-report/session-report-styled.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/session-report.js +44 -174
- package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
- package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +20 -5
- package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js +59 -126
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/constant.js +10 -0
- package/dist/features/trial-session/comps/student-profile/constant.js.map +1 -0
- package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js +53 -0
- package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -0
- package/dist/features/trial-session/comps/student-profile/student-profile.js +93 -46
- package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js +12 -0
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js.map +1 -0
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +121 -42
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +174 -56
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
- package/dist/features/trial-session/comps/worksheet/worksheet.js +23 -23
- package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js +65 -63
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/left-panel/index.js +1 -1
- package/dist/features/trial-session/left-panel/index.js.map +1 -1
- package/dist/features/trial-session/right-panel/slide-components-map.js +32 -32
- package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
- package/dist/features/trial-session/trial-session-constants.js +3 -3
- package/dist/features/trial-session/trial-session-constants.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/ui/buttons/icon-button/icon-button.js +32 -29
- package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
- package/dist/features/ui/constants/z-index.js +5 -3
- package/dist/features/ui/constants/z-index.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-section/select-section.js +12 -11
- package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js +2 -7
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list-styled.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +29 -27
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
- package/dist/features/ui/modals/modal.js +30 -28
- package/dist/features/ui/modals/modal.js.map +1 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js +109 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js.map +1 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/belts.js +95 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +1 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +184 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +1 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js +36 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js.map +1 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js +83 -0
- package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +1 -0
- package/dist/features/wins-dashboard/constants.js +161 -0
- package/dist/features/wins-dashboard/constants.js.map +1 -0
- package/dist/features/wins-dashboard/header/wins-header.js +95 -0
- package/dist/features/wins-dashboard/header/wins-header.js.map +1 -0
- package/dist/features/wins-dashboard/student-badges/animated-tabbar.js +66 -0
- package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +1 -0
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js +135 -0
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +1 -0
- package/dist/features/wins-dashboard/student-badges/student-badge.js +168 -0
- package/dist/features/wins-dashboard/student-badges/student-badge.js.map +1 -0
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js +137 -0
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +86 -90
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +147 -0
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-container.js +62 -42
- package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +197 -199
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +228 -300
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -34
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +206 -215
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +33 -33
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +30 -28
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +69 -73
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +30 -79
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +473 -45
- package/dist/index.js +695 -627
- package/dist/index.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
- package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
- package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
- package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
- package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
- package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
- package/dist/node_modules/date-fns/fromUnixTime.js +9 -0
- package/dist/node_modules/date-fns/fromUnixTime.js.map +1 -0
- package/dist/static/awesome.4239f583.json +1 -0
- package/dist/static/black-belt.81b3ebf9.png +0 -0
- package/dist/static/blue-belt.508a1b4b.png +0 -0
- package/dist/static/{book-checked-green.c275dbd9.svg → book-checked-green.0436b91e.svg} +1 -1
- package/dist/static/brown-belt.09bb7e93.png +0 -0
- package/dist/static/clapping-hands.17e7ecf0.json +1 -0
- package/dist/static/common.9e8ceef1.svg +1 -0
- package/dist/static/community-bulb-yellow-2.f89c30f9.svg +1 -0
- package/dist/static/cool.cd6921bb.json +1 -0
- package/dist/static/epic.37a0265a.svg +1 -0
- package/dist/static/error-responsive.9916ff66.json +1 -0
- package/dist/static/error.dd744fa5.json +1 -0
- package/dist/static/green-belt.5501296f.png +0 -0
- package/dist/static/learning-puzzle-bot.6fe93cf6.svg +1 -0
- package/dist/static/legendary.f15d09ca.svg +1 -0
- package/dist/static/like-button.281a2618.json +1 -0
- package/dist/static/mastered-badge.91d25e92.png +0 -0
- package/dist/static/mystery.81ada5fb.svg +1 -0
- package/dist/static/mythic.58ba0ae0.svg +1 -0
- package/dist/static/orange-belt.1fefcc8c.png +0 -0
- package/dist/static/personalization.7a6c33e8.svg +1 -0
- package/dist/static/personalized-session.b4fd7df8.gif +0 -0
- package/dist/static/purple-belt.e15611b4.png +0 -0
- package/dist/static/rare.1ffaa311.svg +1 -0
- package/dist/static/red-belt.11f841d9.png +0 -0
- package/dist/static/regular-practice.b15f24d9.gif +0 -0
- package/dist/static/star-strike-emoji.c0b31028.json +1 -0
- package/dist/static/stepup.321df6ed.gif +0 -0
- package/dist/static/trophy.5ef1853a.json +1 -0
- package/dist/static/username-responsive.787b5515.json +1 -0
- package/dist/static/username.2c755605.json +1 -0
- package/dist/static/white-belt.ea93103e.png +0 -0
- package/dist/static/yellow-belt.0c47b8cc.png +0 -0
- package/package.json +1 -1
- package/dist/features/trial-session/comps/session-report/report-card.js +0 -26
- package/dist/features/trial-session/comps/session-report/report-card.js.map +0 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
- package/dist/static/error.cbe1ddde.json +0 -1
- package/dist/static/username.9e034d51.json +0 -1
package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-session-status-config.js","sources":["../../../../../../../src/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.ts"],"sourcesContent":["import type { ISessionStatusConfig } from '../session-status-types';\n\nimport { pluralize } from 'humanize-plus';\nimport { useMemo, useCallback } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../../../../assets/lottie/lottie';\nimport { CUEMATH_APP_URL } from '../../../../../../constants/config';\nimport { EClassStatus } from '../../../../../parent-dashboard/parent-dashboard-types';\n\ninterface IUseSessionStatusConfigProps {\n status: string | null;\n completedSessions: number;\n formattedSessionStart: string;\n remainingTime: string;\n isTeacherAssigned: boolean;\n isFirstSessionCompleted: boolean;\n isNoShowStatus: boolean;\n teacherName?: string;\n studentName?: string;\n onRescheduleClick?: () => void;\n}\n\nconst useSessionStatusConfig = ({\n status,\n completedSessions,\n formattedSessionStart,\n remainingTime,\n isTeacherAssigned,\n isFirstSessionCompleted,\n isNoShowStatus,\n teacherName,\n studentName,\n onRescheduleClick,\n}: IUseSessionStatusConfigProps) => {\n const handleRedirectToApp = useCallback(() => {\n window.open(CUEMATH_APP_URL, '_blank');\n }, []);\n\n const handleReschedule = useCallback(() => {\n onRescheduleClick?.();\n }, [onRescheduleClick]);\n\n // No show status configuration\n const createNoShowConfig = useCallback((): ISessionStatusConfig => {\n const isStudentNoShow = status === EClassStatus.S_NO_SHOW;\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.CALENDAR_CROSS_ORANGE,\n title: 'Session Cancelled',\n titleColor: 'ORANGE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n subtitle: formattedSessionStart,\n description: isStudentNoShow\n ? 'We understand life is unpredictable and schedules change unexpectedly.'\n : `We're sorry - our tutor couldn't attend your first session. This rarely happens, but tutors sometimes face unexpected circumstances.`,\n descriptionColor: 'WHITE_1',\n subtitleLineThrough: true,\n },\n bottomSection: {\n icon: ILLUSTRATIONS.PLATFORM_PURPLE,\n title: 'Please Reschedule',\n titleColor: 'PURPLE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ub1',\n subtitleTabletStyle: 'ub2',\n subtitle: isStudentNoShow\n ? \"Please reschedule when it works better for you. Choose any available time slot, and we'll assign you a new tutor for your child.\"\n : `Since your first class didn't happen, we haven't activated your subscription. Choose any available time slot, and we'll assign a reliable tutor.`,\n action: {\n label: 'Reschedule',\n onClick: handleReschedule,\n },\n },\n };\n }, [status, formattedSessionStart, handleReschedule]);\n\n // Completed session configuration\n const createCompletedConfig = useCallback((): ISessionStatusConfig => {\n const titleText = completedSessions === 1 ? 'First' : completedSessions.toString();\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.BOOK_CHECKED_GREEN,\n title: `${titleText} ${pluralize(completedSessions, 'session')} Completed!`,\n titleColor: 'GREEN_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n align: 'center',\n },\n bottomSection: {\n lottie: LOTTIE.CALENDAR_HOUR_GLASS_ORANGE,\n title: 'Next Session',\n titleColor: 'ORANGE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n subtitle: `${formattedSessionStart}\\nwith ${teacherName}`,\n action: {\n label: 'Reschedule on the Cuemath app',\n onClick: handleRedirectToApp,\n },\n },\n };\n }, [completedSessions, formattedSessionStart, teacherName, handleRedirectToApp]);\n\n // Default session configuration\n const createDefaultConfig = useCallback((): ISessionStatusConfig => {\n const defaultTitle = remainingTime || 'SESSION SCHEDULED';\n const hasCountdown = Boolean(remainingTime);\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.CALENDAR_CHECK_GREEN,\n title: defaultTitle,\n titleColor: 'GREEN_4',\n titleStyle: hasCountdown ? 'ub2' : 'ac3',\n titleTabletStyle: hasCountdown ? 'ub3' : 'ac4',\n subtitle: formattedSessionStart,\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n action: {\n label: 'Reschedule',\n onClick: handleReschedule,\n },\n },\n bottomSection: {\n align: 'center',\n lottie: isTeacherAssigned ? LOTTIE.TEACHER_FOUND : LOTTIE.TEACHER_SEARCH,\n title: isTeacherAssigned ? 'Tutor Assigned!' : '',\n titleColor: isTeacherAssigned ? 'ORANGE_4' : 'WHITE_1',\n titleStyle: isTeacherAssigned ? 'ac3' : 'ab2',\n titleTabletStyle: isTeacherAssigned ? 'ac4' : 'ab3',\n subtitleStyle: 'ub1',\n subtitleTabletStyle: 'ub2',\n subtitle: isTeacherAssigned\n ? `From over 3000 expert tutors, we selected ${teacherName} as the perfect match for ${studentName}!`\n : 'Finding the perfect tutor for your child',\n description: isTeacherAssigned\n ? ''\n : \"This typically takes 24-48 hours. We'll notify you via email.\",\n maxWidth: isTeacherAssigned ? 368 : 383,\n isLargeIcon: true,\n },\n };\n }, [\n remainingTime,\n formattedSessionStart,\n isTeacherAssigned,\n teacherName,\n studentName,\n handleReschedule,\n ]);\n\n // Main configuration selector\n const config = useMemo((): ISessionStatusConfig => {\n if (isNoShowStatus) {\n return createNoShowConfig();\n }\n\n if (isFirstSessionCompleted) {\n return createCompletedConfig();\n }\n\n return createDefaultConfig();\n }, [\n isNoShowStatus,\n isFirstSessionCompleted,\n createNoShowConfig,\n createCompletedConfig,\n createDefaultConfig,\n ]);\n\n return config;\n};\n\nexport default useSessionStatusConfig;\n"],"names":["useSessionStatusConfig","status","completedSessions","formattedSessionStart","remainingTime","isTeacherAssigned","isFirstSessionCompleted","isNoShowStatus","teacherName","studentName","onRescheduleClick","handleRedirectToApp","useCallback","CUEMATH_APP_URL","handleReschedule","createNoShowConfig","isStudentNoShow","EClassStatus","ILLUSTRATIONS","createCompletedConfig","titleText","pluralize","LOTTIE","createDefaultConfig","defaultTitle","hasCountdown","useMemo"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-status-constants.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-constants.ts"],"sourcesContent":["export const COUNTDOWN_THRESHOLD = 48 * 3600; // 48 hours in seconds\nexport const COUNTDOWN_INTERVAL = 1000; // 1 second\n\nexport const renderSettings = {\n autoplay: true,\n loop: true,\n renderer: 'svg',\n};\n"],"names":["COUNTDOWN_THRESHOLD","COUNTDOWN_INTERVAL","renderSettings"],"mappings":"AAAO,MAAMA,IAAsB,QACtBC,IAAqB,KAErBC,IAAiB;AAAA,EAC5B,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { fromUnixTime as s } from "../../../../../node_modules/date-fns/fromUnixTime.js";
|
|
2
|
+
import { formatDate as n } from "../../../../../node_modules/date-fns/format.js";
|
|
3
|
+
function p(t, e) {
|
|
4
|
+
if (!t) return "";
|
|
5
|
+
const o = s(t), r = n(o, "EEE").toUpperCase(), i = n(o, "MMM d"), m = n(o, "h a");
|
|
6
|
+
return `${r} . ${i} . ${m}`;
|
|
7
|
+
}
|
|
8
|
+
const a = (t) => t.toString().padStart(2, "0"), $ = (t) => {
|
|
9
|
+
const e = Math.floor(t / 3600), o = Math.floor(t % 3600 / 60), r = t % 60;
|
|
10
|
+
return `Session starts in ${a(e)}h : ${a(o)}m : ${a(
|
|
11
|
+
r
|
|
12
|
+
)}s`;
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
p as formatSessionDateTime,
|
|
16
|
+
$ as formatTimeRemaining,
|
|
17
|
+
a as padTime
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=session-status-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-status-helpers.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-helpers.ts"],"sourcesContent":["import { fromUnixTime, format } from 'date-fns';\n\n/**\n * Formats the session start and end times into a readable string.\n *\n * @param startTime - The start time of the session in Unix timestamp.\n * @param endTime - The end time of the session in Unix timestamp.\n * @returns A formatted string representing the session time or an empty string if inputs are invalid.\n */\nexport function formatSessionDateTime(startTime: number | null, endTime?: number | null): string {\n if (!startTime) return '';\n\n const start = fromUnixTime(startTime);\n\n const day = format(start, 'EEE').toUpperCase();\n const date = format(start, 'MMM d');\n const formattedStartTime = format(start, 'h a');\n const end = endTime ? fromUnixTime(endTime) : null;\n const formattedEndTime = end ? format(end, 'h a') : null;\n\n return `${day} . ${date} . ${formattedStartTime}${\n formattedEndTime ? ` - ${formattedEndTime}` : ''\n }`;\n}\n\nexport const padTime = (time: number): string => time.toString().padStart(2, '0');\n\nexport const formatTimeRemaining = (seconds: number): string => {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const remainingSeconds = seconds % 60;\n\n return `Session starts in ${padTime(hours)}h : ${padTime(minutes)}m : ${padTime(\n remainingSeconds,\n )}s`;\n};\n"],"names":["formatSessionDateTime","startTime","endTime","start","fromUnixTime","day","format","date","formattedStartTime","padTime","time","formatTimeRemaining","seconds","hours","minutes","remainingSeconds"],"mappings":";;AASgB,SAAAA,EAAsBC,GAA0BC,GAAiC;AAC3F,MAAA,CAACD,EAAkB,QAAA;AAEjB,QAAAE,IAAQC,EAAaH,CAAS,GAE9BI,IAAMC,EAAOH,GAAO,KAAK,EAAE,YAAY,GACvCI,IAAOD,EAAOH,GAAO,OAAO,GAC5BK,IAAqBF,EAAOH,GAAO,KAAK;AAIvC,SAAA,GAAGE,CAAG,MAAME,CAAI,MAAMC,CAAkB;AAGjD;AAEa,MAAAC,IAAU,CAACC,MAAyBA,EAAK,WAAW,SAAS,GAAG,GAAG,GAEnEC,IAAsB,CAACC,MAA4B;AAC9D,QAAMC,IAAQ,KAAK,MAAMD,IAAU,IAAI,GACjCE,IAAU,KAAK,MAAOF,IAAU,OAAQ,EAAE,GAC1CG,IAAmBH,IAAU;AAE5B,SAAA,qBAAqBH,EAAQI,CAAK,CAAC,OAAOJ,EAAQK,CAAO,CAAC,OAAOL;AAAA,IACtEM;AAAA,EACD,CAAA;AACH;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import e from "styled-components";
|
|
2
|
+
import o from "../../../../ui/layout/flex-view.js";
|
|
3
|
+
import r from "../../../../ui/text/text.js";
|
|
4
|
+
const l = e(o)`
|
|
5
|
+
max-width: ${({ $maxWidth: t }) => `${typeof t == "number" ? `${t}px` : `${t}`}`};
|
|
6
|
+
`, m = e(r)`
|
|
7
|
+
text-decoration: ${({ $subtitleLineThrough: t }) => t ? "line-through" : "none"};
|
|
8
|
+
`, f = e(o)`
|
|
9
|
+
position: relative;
|
|
10
|
+
left: ${({ $isLargeLottie: t }) => t ? "-6px" : "0"};
|
|
11
|
+
`;
|
|
12
|
+
export {
|
|
13
|
+
l as ContentWrapper,
|
|
14
|
+
f as LottieWrapper,
|
|
15
|
+
m as SubTitle
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=session-status-styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-status-styled.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\nexport const ContentWrapper = styled(FlexView)<{ $maxWidth: number | string }>`\n max-width: ${({ $maxWidth }) =>\n `${typeof $maxWidth === 'number' ? `${$maxWidth}px` : `${$maxWidth}`}`};\n`;\n\nexport const SubTitle = styled(Text)<{ $subtitleLineThrough?: boolean }>`\n text-decoration: ${({ $subtitleLineThrough }) =>\n $subtitleLineThrough ? 'line-through' : 'none'};\n`;\n\nexport const LottieWrapper = styled(FlexView)<{ $isLargeLottie: boolean }>`\n position: relative;\n left: ${({ $isLargeLottie }) => ($isLargeLottie ? '-6px' : '0')};\n`;\n"],"names":["ContentWrapper","styled","FlexView","$maxWidth","SubTitle","Text","$subtitleLineThrough","LottieWrapper","$isLargeLottie"],"mappings":";;;AAKa,MAAAA,IAAiBC,EAAOC,CAAQ;AAAA,eAC9B,CAAC,EAAE,WAAAC,EAAU,MACxB,GAAG,OAAOA,KAAc,WAAW,GAAGA,CAAS,OAAO,GAAGA,CAAS,EAAE,EAAE;AAAA,GAG7DC,IAAWH,EAAOI,CAAI;AAAA,qBACd,CAAC,EAAE,sBAAAC,EAAA,MACpBA,IAAuB,iBAAiB,MAAM;AAAA,GAGrCC,IAAgBN,EAAOC,CAAQ;AAAA;AAAA,UAElC,CAAC,EAAE,gBAAAM,EAAA,MAAsBA,IAAiB,SAAS,GAAI;AAAA;"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsxs as t, jsx as e, Fragment as d } from "react/jsx-runtime";
|
|
2
|
+
import { memo as w, useMemo as L, useCallback as x } from "react";
|
|
3
|
+
import { EClassStatus as g } from "../../../../parent-dashboard/parent-dashboard-types.js";
|
|
4
|
+
import A from "../../../../ui/buttons/text-button/text-button.js";
|
|
5
|
+
import I from "../../../../ui/image/image.js";
|
|
6
|
+
import i from "../../../../ui/layout/flex-view.js";
|
|
7
|
+
import W from "../../../../ui/lottie-animation/lottie-animation.js";
|
|
8
|
+
import l from "../../../../ui/separator/separator.js";
|
|
9
|
+
import S from "../../../../ui/text/text.js";
|
|
10
|
+
import _ from "./hooks/use-session-countdown.js";
|
|
11
|
+
import O from "./hooks/use-session-status-config.js";
|
|
12
|
+
import { renderSettings as X } from "./session-status-constants.js";
|
|
13
|
+
import { formatSessionDateTime as y } from "./session-status-helpers.js";
|
|
14
|
+
import { LottieWrapper as H, ContentWrapper as M, SubTitle as k } from "./session-status-styled.js";
|
|
15
|
+
const E = ({
|
|
16
|
+
completedSessions: n,
|
|
17
|
+
nextSessionStartTime: m,
|
|
18
|
+
status: o = null,
|
|
19
|
+
teacherName: a,
|
|
20
|
+
studentName: f,
|
|
21
|
+
onRescheduleClick: $ = () => {
|
|
22
|
+
}
|
|
23
|
+
}) => {
|
|
24
|
+
const b = L(
|
|
25
|
+
() => ({
|
|
26
|
+
isTeacherAssigned: !!a,
|
|
27
|
+
isFirstSessionCompleted: n > 0,
|
|
28
|
+
formattedSessionStart: y(m),
|
|
29
|
+
isNoShowStatus: o === g.S_NO_SHOW || o === g.T_NO_SHOW
|
|
30
|
+
}),
|
|
31
|
+
[n, a, m, o]
|
|
32
|
+
), { isTeacherAssigned: c, isFirstSessionCompleted: h, formattedSessionStart: C, isNoShowStatus: s } = b, T = _(
|
|
33
|
+
m,
|
|
34
|
+
h,
|
|
35
|
+
s
|
|
36
|
+
), u = O({
|
|
37
|
+
status: o,
|
|
38
|
+
completedSessions: n,
|
|
39
|
+
formattedSessionStart: C,
|
|
40
|
+
remainingTime: T,
|
|
41
|
+
isTeacherAssigned: c,
|
|
42
|
+
isFirstSessionCompleted: h,
|
|
43
|
+
isNoShowStatus: s,
|
|
44
|
+
teacherName: a,
|
|
45
|
+
studentName: f,
|
|
46
|
+
onRescheduleClick: $
|
|
47
|
+
}), p = x(
|
|
48
|
+
(r) => /* @__PURE__ */ t(
|
|
49
|
+
i,
|
|
50
|
+
{
|
|
51
|
+
$flexDirection: "row",
|
|
52
|
+
$flexColumnGapX: r != null && r.isLargeIcon ? 0.75 : 1.5,
|
|
53
|
+
$alignItems: r.align || "flex-start",
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ e(i, { children: r.icon ? /* @__PURE__ */ e(I, { src: r.icon, width: 64, height: 64 }) : /* @__PURE__ */ e(H, { $isLargeLottie: !!(r != null && r.isLargeIcon), children: /* @__PURE__ */ e(
|
|
56
|
+
W,
|
|
57
|
+
{
|
|
58
|
+
src: r.lottie,
|
|
59
|
+
settings: X,
|
|
60
|
+
width: r.isLargeIcon ? 75 : 64,
|
|
61
|
+
height: r.isLargeIcon ? 75 : 64
|
|
62
|
+
}
|
|
63
|
+
) }) }),
|
|
64
|
+
/* @__PURE__ */ t(M, { $maxWidth: r.maxWidth ?? "100%", $width: "100%", children: [
|
|
65
|
+
r.title && /* @__PURE__ */ e(
|
|
66
|
+
S,
|
|
67
|
+
{
|
|
68
|
+
$renderAs: r.titleStyle,
|
|
69
|
+
$color: r.titleColor,
|
|
70
|
+
$renderOnMobileAs: r.titleTabletStyle,
|
|
71
|
+
children: r.title
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
r.subtitle && /* @__PURE__ */ t(d, { children: [
|
|
75
|
+
/* @__PURE__ */ e(l, { height: 2 }),
|
|
76
|
+
/* @__PURE__ */ e(
|
|
77
|
+
k,
|
|
78
|
+
{
|
|
79
|
+
$renderAs: r.subtitleStyle,
|
|
80
|
+
$renderOnMobileAs: r.subtitleTabletStyle,
|
|
81
|
+
$color: "WHITE_1",
|
|
82
|
+
$whiteSpace: "pre-line",
|
|
83
|
+
$subtitleLineThrough: r.subtitleLineThrough,
|
|
84
|
+
children: r.subtitle
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
] }),
|
|
88
|
+
r.description && /* @__PURE__ */ t(d, { children: [
|
|
89
|
+
/* @__PURE__ */ e(l, { heightX: 0.5 }),
|
|
90
|
+
/* @__PURE__ */ e(i, { $width: "100%", children: /* @__PURE__ */ e(
|
|
91
|
+
S,
|
|
92
|
+
{
|
|
93
|
+
$renderAs: "ub2",
|
|
94
|
+
$renderOnMobileAs: "ub3",
|
|
95
|
+
$color: r.descriptionColor ?? "WHITE_T_60",
|
|
96
|
+
children: r.description
|
|
97
|
+
}
|
|
98
|
+
) })
|
|
99
|
+
] }),
|
|
100
|
+
r.action && /* @__PURE__ */ t(d, { children: [
|
|
101
|
+
/* @__PURE__ */ e(l, { heightX: 0.75 }),
|
|
102
|
+
/* @__PURE__ */ e(
|
|
103
|
+
A,
|
|
104
|
+
{
|
|
105
|
+
sizeOnMobile: "small",
|
|
106
|
+
label: r.action.label,
|
|
107
|
+
color: "WHITE_1",
|
|
108
|
+
onClick: r.action.onClick
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
] })
|
|
112
|
+
] })
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
),
|
|
116
|
+
[]
|
|
117
|
+
);
|
|
118
|
+
return /* @__PURE__ */ t(i, { $flexDirection: "column", $justifyContent: "center", children: [
|
|
119
|
+
p(u.topSection),
|
|
120
|
+
/* @__PURE__ */ e(i, { $gutterX: 2, $gapX: 0.25, children: /* @__PURE__ */ e(l, { heightX: 3, background: "BLACK_5", width: 1 }) }),
|
|
121
|
+
p(u.bottomSection)
|
|
122
|
+
] });
|
|
123
|
+
}, R = w(E);
|
|
124
|
+
export {
|
|
125
|
+
R as default
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=session-status.js.map
|
|
@@ -0,0 +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 { EClassStatus } from '../../../../parent-dashboard/parent-dashboard-types';\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 === EClassStatus.S_NO_SHOW || status === EClassStatus.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","EClassStatus","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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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { GIF as e } from "../../../../../assets/gif/gif.js";
|
|
2
|
+
import { ESummaryType as t } from "../../../../parent-dashboard/parent-dashboard-types.js";
|
|
3
|
+
const n = [
|
|
4
|
+
{
|
|
5
|
+
title: "introduction & goals",
|
|
6
|
+
description: "Get to know your tutor and discuss your goals and expectations",
|
|
7
|
+
image: e.YOUR_GOALS_GRID_BG,
|
|
8
|
+
textBG: "ORANGE_6",
|
|
9
|
+
ctaLabel: "View Profile"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
title: "interactive sessions",
|
|
13
|
+
description: "Watch your child learn concepts and tackle problems with their tutorʼs guidance.",
|
|
14
|
+
image: e.LEARNING_SESSION_GRID_BG,
|
|
15
|
+
textBG: "YELLOW_6",
|
|
16
|
+
ctaLabel: "View Insights"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
title: "way forward",
|
|
20
|
+
description: "Get insights on your child’s learning and plan the journey ahead",
|
|
21
|
+
image: e.WAY_FORWARD_GRID_BG,
|
|
22
|
+
textBG: "GREEN_6",
|
|
23
|
+
ctaLabel: "View Learning Plan"
|
|
24
|
+
}
|
|
25
|
+
], r = [
|
|
26
|
+
{
|
|
27
|
+
title: "created student profile",
|
|
28
|
+
type: t.STUDENT_PROFILE,
|
|
29
|
+
image: e.YOUR_GOALS_GRID_BG,
|
|
30
|
+
textBG: "ORANGE_6",
|
|
31
|
+
ctaLabel: "View Profile"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
title: "Shared Learning insights",
|
|
35
|
+
type: t.INSIGHTS,
|
|
36
|
+
image: e.LEARNING_SESSION_GRID_BG,
|
|
37
|
+
textBG: "YELLOW_6",
|
|
38
|
+
ctaLabel: "View Insights"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
title: "Created learning plan",
|
|
42
|
+
description: "Get insights on your child’s learning and plan the journey ahead",
|
|
43
|
+
image: e.WAY_FORWARD_GRID_BG,
|
|
44
|
+
textBG: "GREEN_6",
|
|
45
|
+
ctaLabel: "View Learning Plan",
|
|
46
|
+
type: t.LEARNING_PLAN
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
export {
|
|
50
|
+
r as sessionSummaryAfterDemo,
|
|
51
|
+
n as sessionSummaryData
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=session-summary-constants.js.map
|
package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-summary-constants.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-summary/session-summary-constants.ts"],"sourcesContent":["import type { ISessionSummary } from './session-summary-types';\n\nimport { GIF } from '../../../../../assets/gif/gif';\nimport { ESummaryType } from '../../../../parent-dashboard/parent-dashboard-types';\n\nexport const sessionSummaryData: ISessionSummary[] = [\n {\n title: 'introduction & goals',\n description: 'Get to know your tutor and discuss your goals and expectations',\n image: GIF.YOUR_GOALS_GRID_BG,\n textBG: 'ORANGE_6',\n ctaLabel: 'View Profile',\n },\n {\n title: 'interactive sessions',\n description: 'Watch your child learn concepts and tackle problems with their tutorʼs guidance.',\n image: GIF.LEARNING_SESSION_GRID_BG,\n textBG: 'YELLOW_6',\n ctaLabel: 'View Insights',\n },\n {\n title: 'way forward',\n description: 'Get insights on your child’s learning and plan the journey ahead',\n image: GIF.WAY_FORWARD_GRID_BG,\n textBG: 'GREEN_6',\n ctaLabel: 'View Learning Plan',\n },\n];\n\nexport const sessionSummaryAfterDemo: ISessionSummary[] = [\n {\n title: 'created student profile',\n type: ESummaryType.STUDENT_PROFILE,\n image: GIF.YOUR_GOALS_GRID_BG,\n textBG: 'ORANGE_6',\n ctaLabel: 'View Profile',\n },\n {\n title: 'Shared Learning insights',\n type: ESummaryType.INSIGHTS,\n image: GIF.LEARNING_SESSION_GRID_BG,\n textBG: 'YELLOW_6',\n ctaLabel: 'View Insights',\n },\n {\n title: 'Created learning plan',\n description: 'Get insights on your child’s learning and plan the journey ahead',\n image: GIF.WAY_FORWARD_GRID_BG,\n textBG: 'GREEN_6',\n ctaLabel: 'View Learning Plan',\n type: ESummaryType.LEARNING_PLAN,\n },\n];\n"],"names":["sessionSummaryData","GIF","sessionSummaryAfterDemo","ESummaryType"],"mappings":";;AAKO,MAAMA,IAAwC;AAAA,EACnD;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOC,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AACF,GAEaC,IAA6C;AAAA,EACxD;AAAA,IACE,OAAO;AAAA,IACP,MAAMC,EAAa;AAAA,IACnB,OAAOF,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,MAAME,EAAa;AAAA,IACnB,OAAOF,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,MAAME,EAAa;AAAA,EACrB;AACF;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsxs as $, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { memo as T, useCallback as l } from "react";
|
|
3
|
+
import { useTheme as b } from "styled-components";
|
|
4
|
+
import { ESummaryType as n } from "../../../../parent-dashboard/parent-dashboard-types.js";
|
|
5
|
+
import m from "../../../../ui/layout/flex-view.js";
|
|
6
|
+
import g from "../../../../ui/separator/separator.js";
|
|
7
|
+
import x from "../../../../ui/text/text.js";
|
|
8
|
+
import { EDeviceType as S } from "../../../../ui/theme/constants.js";
|
|
9
|
+
import { sessionSummaryAfterDemo as v, sessionSummaryData as E } from "./session-summary-constants.js";
|
|
10
|
+
import I from "./summary-card/summary-card.js";
|
|
11
|
+
const A = T(({ isDemoDone: i, studentName: r, onViewSummary: o }) => {
|
|
12
|
+
const a = b().device <= S.MOBILE, c = l(
|
|
13
|
+
(e) => {
|
|
14
|
+
if (!e) return "";
|
|
15
|
+
if (e === n.STUDENT_PROFILE)
|
|
16
|
+
return `We understood your goals and expectations to create ${r}'s profile.`;
|
|
17
|
+
if (e === n.INSIGHTS)
|
|
18
|
+
return `With tutor’s guidance ${r} solved problems, helping us assess their math proficiency.`;
|
|
19
|
+
if (e === n.LEARNING_PLAN)
|
|
20
|
+
return `The plan will keep evolving based on ${r}'s progress and evolving needs.`;
|
|
21
|
+
},
|
|
22
|
+
[r]
|
|
23
|
+
), p = l(
|
|
24
|
+
(e) => {
|
|
25
|
+
o == null || o(e);
|
|
26
|
+
},
|
|
27
|
+
[o]
|
|
28
|
+
);
|
|
29
|
+
return /* @__PURE__ */ $(m, { children: [
|
|
30
|
+
/* @__PURE__ */ s(x, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: i ? "What happened in today’s session" : "What happens in the first session?" }),
|
|
31
|
+
/* @__PURE__ */ s(g, { height: a ? 16 : 20 }),
|
|
32
|
+
/* @__PURE__ */ s(m, { $flexGapX: 1, $justifyContent: "center", $flexDirection: a ? "column" : "row", children: (i ? v : E).map(
|
|
33
|
+
({ title: e, description: f, image: h, textBG: d, ctaLabel: u, type: t }) => /* @__PURE__ */ s(
|
|
34
|
+
I,
|
|
35
|
+
{
|
|
36
|
+
title: e,
|
|
37
|
+
description: t && c(t) || f,
|
|
38
|
+
image: h,
|
|
39
|
+
textBG: d,
|
|
40
|
+
ctaLabel: u,
|
|
41
|
+
type: t,
|
|
42
|
+
isDemoDone: i,
|
|
43
|
+
onClick: p
|
|
44
|
+
},
|
|
45
|
+
e
|
|
46
|
+
)
|
|
47
|
+
) })
|
|
48
|
+
] });
|
|
49
|
+
}), H = A;
|
|
50
|
+
export {
|
|
51
|
+
H as default
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=session-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-summary.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-summary/session-summary.tsx"],"sourcesContent":["import type { ISessionSummaryProps } from './session-summary-types';\n\nimport { memo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ESummaryType } from '../../../../parent-dashboard/parent-dashboard-types';\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 { sessionSummaryAfterDemo, sessionSummaryData } from './session-summary-constants';\nimport SessionSummaryCard from './summary-card/summary-card';\n\nconst SessionSummary = memo(({ isDemoDone, studentName, onViewSummary }: ISessionSummaryProps) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n const getDescription = useCallback(\n (type?: ESummaryType) => {\n if (!type) return '';\n\n if (type === ESummaryType.STUDENT_PROFILE) {\n return `We understood your goals and expectations to create ${studentName}'s profile.`;\n }\n\n if (type === ESummaryType.INSIGHTS) {\n return `With tutor’s guidance ${studentName} solved problems, helping us assess their math proficiency.`;\n }\n\n if (type === ESummaryType.LEARNING_PLAN) {\n return `The plan will keep evolving based on ${studentName}'s progress and evolving needs.`;\n }\n },\n [studentName],\n );\n\n const handleClick = useCallback(\n (key: ESummaryType) => {\n onViewSummary?.(key);\n },\n [onViewSummary],\n );\n\n return (\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n {isDemoDone ? `What happened in today’s session` : `What happens in the first session?`}\n </Text>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $flexGapX={1} $justifyContent=\"center\" $flexDirection={isMobile ? 'column' : 'row'}>\n {(isDemoDone ? sessionSummaryAfterDemo : sessionSummaryData).map(\n ({ title, description, image, textBG, ctaLabel, type }) => (\n <SessionSummaryCard\n key={title}\n title={title}\n description={(type && getDescription(type)) || (description as string)}\n image={image}\n textBG={textBG}\n ctaLabel={ctaLabel}\n type={type}\n isDemoDone={isDemoDone}\n onClick={handleClick}\n />\n ),\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default SessionSummary;\n"],"names":["SessionSummary","memo","isDemoDone","studentName","onViewSummary","isMobile","useTheme","EDeviceType","getDescription","useCallback","type","ESummaryType","handleClick","key","FlexView","jsx","Text","Separator","sessionSummaryAfterDemo","sessionSummaryData","title","description","image","textBG","ctaLabel","SessionSummaryCard","SessionSummary$1"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAiBC,EAAK,CAAC,EAAE,YAAAC,GAAY,aAAAC,GAAa,eAAAC,QAA0C;AAE1F,QAAAC,IADQC,IACS,UAAUC,EAAY,QAEvCC,IAAiBC;AAAA,IACrB,CAACC,MAAwB;AACnB,UAAA,CAACA,EAAa,QAAA;AAEd,UAAAA,MAASC,EAAa;AACxB,eAAO,uDAAuDR,CAAW;AAGvE,UAAAO,MAASC,EAAa;AACxB,eAAO,yBAAyBR,CAAW;AAGzC,UAAAO,MAASC,EAAa;AACxB,eAAO,wCAAwCR,CAAW;AAAA,IAE9D;AAAA,IACA,CAACA,CAAW;AAAA,EAAA,GAGRS,IAAcH;AAAA,IAClB,CAACI,MAAsB;AACrB,MAAAT,KAAA,QAAAA,EAAgBS;AAAA,IAClB;AAAA,IACA,CAACT,CAAa;AAAA,EAAA;AAGhB,2BACGU,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAC5D,UAAad,IAAA,qCAAqC,sCACrD;AAAA,IACC,gBAAAa,EAAAE,GAAA,EAAU,QAAQZ,IAAW,KAAK,IAAI;AAAA,IACtC,gBAAAU,EAAAD,GAAA,EAAS,WAAW,GAAG,iBAAgB,UAAS,gBAAgBT,IAAW,WAAW,OACnF,WAAaH,IAAAgB,IAA0BC,GAAoB;AAAA,MAC3D,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,OAAAC,GAAO,QAAAC,GAAQ,UAAAC,GAAU,MAAAd,QAC9C,gBAAAK;AAAA,QAACU;AAAA,QAAA;AAAA,UAEC,OAAAL;AAAA,UACA,aAAcV,KAAQF,EAAeE,CAAI,KAAOW;AAAA,UAChD,OAAAC;AAAA,UACA,QAAAC;AAAA,UACA,UAAAC;AAAA,UACA,MAAAd;AAAA,UACA,YAAAR;AAAA,UACA,SAASU;AAAA,QAAA;AAAA,QARJQ;AAAA,MASP;AAAA,IAAA,GAGN;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAEDM,IAAe1B;"}
|
package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import e from "styled-components";
|
|
2
|
+
import n from "../../../../../ui/layout/flex-view.js";
|
|
3
|
+
const i = e(n)(({ theme: r }) => {
|
|
4
|
+
const { gutter: t } = r.layout, { WHITE_4: a } = r.colors;
|
|
5
|
+
return `
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
background-image: linear-gradient(${a} 1px, transparent 1px),
|
|
9
|
+
linear-gradient(90deg, ${a} 1px, transparent 1px);
|
|
10
|
+
background-size: ${t * 3.125}px ${t * 3.125}px;
|
|
11
|
+
position: relative;
|
|
12
|
+
`;
|
|
13
|
+
});
|
|
14
|
+
export {
|
|
15
|
+
i as ImageWrapper
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=summary-card-styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-card-styled.js","sources":["../../../../../../../src/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nconst ImageWrapper = styled(FlexView)(({ theme }) => {\n const { gutter } = theme.layout;\n const { WHITE_4 } = theme.colors;\n\n return `\n margin: 0;\n padding: 0;\n background-image: linear-gradient(${WHITE_4} 1px, transparent 1px),\n linear-gradient(90deg, ${WHITE_4} 1px, transparent 1px);\n background-size: ${gutter * 3.125}px ${gutter * 3.125}px;\n position: relative;\n `;\n});\n\nexport { ImageWrapper };\n"],"names":["ImageWrapper","styled","FlexView","theme","gutter","WHITE_4"],"mappings":";;AAIA,MAAMA,IAAeC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAC7C,QAAA,EAAE,QAAAC,EAAO,IAAID,EAAM,QACnB,EAAE,SAAAE,EAAQ,IAAIF,EAAM;AAEnB,SAAA;AAAA;AAAA;AAAA,wCAG+BE,CAAO;AAAA,+BAChBA,CAAO;AAAA,uBACfD,IAAS,KAAK,MAAMA,IAAS,KAAK;AAAA;AAAA;AAGzD,CAAC;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as g, useCallback as p } from "react";
|
|
3
|
+
import { useTheme as u } from "styled-components";
|
|
4
|
+
import b from "../../../../../../assets/line-icons/icons/chevron-right.js";
|
|
5
|
+
import I from "../../../../../ui/buttons/clickable/clickable.js";
|
|
6
|
+
import w from "../../../../../ui/image/image.js";
|
|
7
|
+
import r from "../../../../../ui/layout/flex-view.js";
|
|
8
|
+
import x from "../../../../../ui/separator/separator.js";
|
|
9
|
+
import n from "../../../../../ui/text/text.js";
|
|
10
|
+
import { EDeviceType as T } from "../../../../../ui/theme/constants.js";
|
|
11
|
+
import { ImageWrapper as k } from "./summary-card-styled.js";
|
|
12
|
+
const _ = g(
|
|
13
|
+
({
|
|
14
|
+
title: l,
|
|
15
|
+
description: a,
|
|
16
|
+
image: h,
|
|
17
|
+
textBG: c,
|
|
18
|
+
ctaLabel: d,
|
|
19
|
+
type: o,
|
|
20
|
+
isDemoDone: $,
|
|
21
|
+
onClick: i
|
|
22
|
+
}) => {
|
|
23
|
+
const s = u().device <= T.MOBILE, f = p(() => {
|
|
24
|
+
o && i && i(o);
|
|
25
|
+
}, [o, i]), m = /* @__PURE__ */ t(r, { $flex: 1, children: [
|
|
26
|
+
/* @__PURE__ */ e(k, { $height: 84, $width: "100%", $background: c, children: /* @__PURE__ */ e(w, { src: h, height: 84, width: "100%", withLoader: !1 }) }),
|
|
27
|
+
/* @__PURE__ */ t(r, { $gap: 12, $gutter: 16, $background: c, $flex: 1, children: [
|
|
28
|
+
/* @__PURE__ */ e(n, { $renderAs: "ac3-black", $renderOnMobileAs: "ac4-black", $color: "WHITE", children: l }),
|
|
29
|
+
/* @__PURE__ */ e(x, { height: s ? 8 : 12 }),
|
|
30
|
+
/* @__PURE__ */ e(n, { $renderAs: "ub3", $color: "WHITE", children: a })
|
|
31
|
+
] })
|
|
32
|
+
] }, l);
|
|
33
|
+
return $ && o && i ? /* @__PURE__ */ t(r, { $flex: 1, children: [
|
|
34
|
+
m,
|
|
35
|
+
/* @__PURE__ */ e(I, { label: o, onClick: f, children: /* @__PURE__ */ e(r, { $background: c, children: /* @__PURE__ */ t(
|
|
36
|
+
r,
|
|
37
|
+
{
|
|
38
|
+
$background: "BLACK_T_38",
|
|
39
|
+
$gapX: 0.5,
|
|
40
|
+
$gutterX: 0.5,
|
|
41
|
+
$flexDirection: "row",
|
|
42
|
+
$alignItems: "center",
|
|
43
|
+
$justifyContent: "space-between",
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ e(r, { $gutterX: 0.5, $flexDirection: "row", $alignItems: "center", children: /* @__PURE__ */ e(n, { $renderAs: "ac4", $color: "WHITE_1", children: d }) }),
|
|
46
|
+
/* @__PURE__ */ e(b, { width: 24, height: 24, color: "WHITE" })
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
) }) })
|
|
50
|
+
] }) : m;
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
export {
|
|
54
|
+
_ as default
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=summary-card.js.map
|
package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map
ADDED
|
@@ -0,0 +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 type,\n isDemoDone,\n onClick,\n }: ISessionSummaryCardProps) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n const handleClick = useCallback(() => {\n if (type && onClick) onClick(type);\n }, [type, 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 && type && onClick ? (\n <FlexView $flex={1}>\n {CardContent}\n <Clickable label={type} 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","type","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,MAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,MAC8B;AAExB,UAAAC,IADQC,IACS,UAAUC,EAAY,QAEvCC,IAAcC,EAAY,MAAM;AAChC,MAAAP,KAAQE,KAASA,EAAQF,CAAI;AAAA,IAAA,GAChC,CAACA,GAAME,CAAO,CAAC,GAEZM,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,KAAQE,IAC1B,gBAAAO,EAAAC,GAAA,EAAS,OAAO,GACd,UAAA;AAAA,MAAAF;AAAA,MACD,gBAAAG,EAACK,KAAU,OAAOhB,GAAM,SAASM,GAC/B,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-constants.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upcoming-sessions-constants.js","sources":["../../../../../../src/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.ts"],"sourcesContent":["export const DAYS_TO_SHOW = 7;\n"],"names":["DAYS_TO_SHOW"],"mappings":"AAAO,MAAMA,IAAe;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import t from "styled-components";
|
|
2
|
+
import r from "../../../../ui/layout/flex-view.js";
|
|
3
|
+
const p = t(r)`
|
|
4
|
+
border-bottom: ${({ theme: o }) => `1px solid ${o.colors.BLACK_5}`};
|
|
5
|
+
min-height: 52px;
|
|
6
|
+
`, s = t(r)`
|
|
7
|
+
border-right: ${({ theme: o }) => `1px solid ${o.colors.BLACK_5}`};
|
|
8
|
+
`, d = t(r)`
|
|
9
|
+
padding-bottom: 0;
|
|
10
|
+
min-width: 22px;
|
|
11
|
+
`;
|
|
12
|
+
export {
|
|
13
|
+
d as DateWrapper,
|
|
14
|
+
s as DayLabel,
|
|
15
|
+
p as SessionRow
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=upcoming-sessions-styled.js.map
|
package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upcoming-sessions-styled.js","sources":["../../../../../../src/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst SessionRow = styled(FlexView)`\n border-bottom: ${({ theme }) => `1px solid ${theme.colors.BLACK_5}`};\n min-height: 52px;\n`;\n\nconst DayLabel = styled(FlexView)`\n border-right: ${({ theme }) => `1px solid ${theme.colors.BLACK_5}`};\n`;\nconst DateWrapper = styled(FlexView)`\n padding-bottom: 0;\n min-width: 22px;\n`;\n\nexport { SessionRow, DayLabel, DateWrapper };\n"],"names":["SessionRow","styled","FlexView","theme","DayLabel","DateWrapper"],"mappings":";;AAIM,MAAAA,IAAaC,EAAOC,CAAQ;AAAA,mBACf,CAAC,EAAE,OAAAC,EAAM,MAAM,aAAaA,EAAM,OAAO,OAAO,EAAE;AAAA;AAAA,GAI/DC,IAAWH,EAAOC,CAAQ;AAAA,kBACd,CAAC,EAAE,OAAAC,EAAM,MAAM,aAAaA,EAAM,OAAO,OAAO,EAAE;AAAA,GAE9DE,IAAcJ,EAAOC,CAAQ;AAAA;AAAA;AAAA;"}
|
package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map
ADDED
|
@@ -0,0 +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\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;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as C, useMemo as c, useCallback as I } from "react";
|
|
3
|
+
import { useTheme as w } from "styled-components";
|
|
4
|
+
import y from "../../../../../assets/line-icons/icons/check2.js";
|
|
5
|
+
import { CUEMATH_APP_URL as A } from "../../../../../constants/config.js";
|
|
6
|
+
import x from "../../../../ui/buttons/text-button/text-button.js";
|
|
7
|
+
import n from "../../../../ui/layout/flex-view.js";
|
|
8
|
+
import f from "../../../../ui/separator/separator.js";
|
|
9
|
+
import i from "../../../../ui/text/text.js";
|
|
10
|
+
import { EDeviceType as D } from "../../../../ui/theme/constants.js";
|
|
11
|
+
import { DAYS_TO_SHOW as H } from "./upcoming-sessions-constants.js";
|
|
12
|
+
import { SessionRow as M, DayLabel as W, DateWrapper as S } from "./upcoming-sessions-styled.js";
|
|
13
|
+
import { ESessionStatus as h } from "./upcoming-sessions-types.js";
|
|
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
|
+
import { formatDate as s } from "../../../../../node_modules/date-fns/format.js";
|
|
17
|
+
const B = ({ sessions: m = [] }) => {
|
|
18
|
+
const d = w(), T = d.device <= D.MOBILE, p = c(() => /* @__PURE__ */ new Date(), []), _ = c(
|
|
19
|
+
() => new Map(
|
|
20
|
+
m.map((o) => [
|
|
21
|
+
s(new Date(o.session_start * 1e3), "yyyy-MM-dd"),
|
|
22
|
+
o
|
|
23
|
+
])
|
|
24
|
+
),
|
|
25
|
+
[m]
|
|
26
|
+
), u = c(
|
|
27
|
+
() => Array.from({ length: H }, (o, l) => U(p, l)),
|
|
28
|
+
[p]
|
|
29
|
+
), g = I(() => {
|
|
30
|
+
window.open(A, "_blank");
|
|
31
|
+
}, []);
|
|
32
|
+
return /* @__PURE__ */ t(n, { children: [
|
|
33
|
+
/* @__PURE__ */ t(n, { children: [
|
|
34
|
+
/* @__PURE__ */ e(i, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: "Upcoming sessions" }),
|
|
35
|
+
/* @__PURE__ */ e(f, { height: 4 }),
|
|
36
|
+
/* @__PURE__ */ t(n, { $flexDirection: "row", $alignItems: "center", $flexColumnGapX: 0.25, children: [
|
|
37
|
+
/* @__PURE__ */ e(i, { $renderAs: "ub1", $color: "WHITE_T_60", children: "For more details," }),
|
|
38
|
+
/* @__PURE__ */ e(x, { label: "download the Cuemath app", onClick: g, color: "WHITE" })
|
|
39
|
+
] })
|
|
40
|
+
] }),
|
|
41
|
+
/* @__PURE__ */ e(f, { height: T ? 16 : 20 }),
|
|
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
|
+
return /* @__PURE__ */ t(M, { $flex: 1, $flexDirection: "row", children: [
|
|
45
|
+
/* @__PURE__ */ t(
|
|
46
|
+
W,
|
|
47
|
+
{
|
|
48
|
+
$width: 80,
|
|
49
|
+
$flexDirection: "row",
|
|
50
|
+
$alignItems: "center",
|
|
51
|
+
$flexColumnGapX: 0.25,
|
|
52
|
+
$gutterX: 1,
|
|
53
|
+
$gapX: 0.5,
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ e(i, { $renderAs: "ac4-black", $color: "WHITE_1", children: s(o, "EEE").toUpperCase() }),
|
|
56
|
+
/* @__PURE__ */ e(
|
|
57
|
+
S,
|
|
58
|
+
{
|
|
59
|
+
$background: $ ? "WHITE" : "TRANSPARENT",
|
|
60
|
+
$width: 22,
|
|
61
|
+
$height: 22,
|
|
62
|
+
$alignItems: "center",
|
|
63
|
+
$justifyContent: "center",
|
|
64
|
+
$borderRadius: 11,
|
|
65
|
+
$gutter: 1,
|
|
66
|
+
$gap: 2,
|
|
67
|
+
children: /* @__PURE__ */ e(i, { $renderAs: "ab3-bold", $color: $ ? "BLACK_1" : "WHITE_1", children: s(o, "d") })
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
),
|
|
73
|
+
/* @__PURE__ */ t(
|
|
74
|
+
n,
|
|
75
|
+
{
|
|
76
|
+
$flex: 1,
|
|
77
|
+
$gutterX: 1,
|
|
78
|
+
$gap: 14,
|
|
79
|
+
$background: b,
|
|
80
|
+
$flexDirection: "row",
|
|
81
|
+
$justifyContent: "space-between",
|
|
82
|
+
$alignItems: "center",
|
|
83
|
+
children: [
|
|
84
|
+
r ? /* @__PURE__ */ e(i, { $renderAs: "ab2", $color: a ? "WHITE_T_38" : "WHITE", children: s(new Date(r.session_start * 1e3), "p") }) : null,
|
|
85
|
+
a && /* @__PURE__ */ e(y, { color: d.colors.WHITE_T_38 })
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
] }, l);
|
|
90
|
+
}) })
|
|
91
|
+
] });
|
|
92
|
+
}, Q = C(B);
|
|
93
|
+
export {
|
|
94
|
+
Q as default
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=upcoming-sessions.js.map
|