@cuemath/leap 3.5.31 → 3.5.32-as11
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/illustrations/illustrations.js +38 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/images/images.js +0 -12
- package/dist/assets/images/images.js.map +1 -1
- package/dist/assets/line-icons/icons/carat-right.js +26 -0
- package/dist/assets/line-icons/icons/carat-right.js.map +1 -0
- package/dist/features/analytics-events/whitelist-events.js +10 -8
- package/dist/features/analytics-events/whitelist-events.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js +3 -3
- package/dist/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.js.map +1 -1
- package/dist/features/journey/tracking-id/tracking-id-teacher.js +5 -0
- package/dist/features/journey/tracking-id/tracking-id-teacher.js.map +1 -0
- package/dist/features/journey/tracking-id/tracking-ids.js +5 -3
- package/dist/features/journey/tracking-id/tracking-ids.js.map +1 -1
- package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js +17 -0
- package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal-constants.js.map +1 -0
- package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js +54 -0
- package/dist/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.js.map +1 -0
- package/dist/features/timeline/{api → daily-timeline/api}/use-daily-timeline-get.js +2 -2
- package/dist/features/timeline/daily-timeline/api/use-daily-timeline-get.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/accordion-item/accordion-item.js +6 -6
- package/dist/features/timeline/daily-timeline/comps/accordion-item/accordion-item.js.map +1 -0
- package/dist/features/timeline/daily-timeline/comps/constants.js +22 -0
- package/dist/features/timeline/daily-timeline/comps/constants.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/daily-timeline-items/daily-timeline-items-styled.js +1 -1
- package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items-styled.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/daily-timeline-items/daily-timeline-items.js +18 -18
- package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/month-break/month-break-styled.js +1 -1
- package/dist/features/timeline/daily-timeline/comps/month-break/month-break-styled.js.map +1 -0
- package/dist/features/timeline/daily-timeline/comps/month-break/month-break.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/no-activity.js +4 -4
- package/dist/features/timeline/daily-timeline/comps/no-activity.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/utils.js +5 -5
- package/dist/features/timeline/daily-timeline/comps/utils.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/year-break/year-break-styled.js +1 -1
- package/dist/features/timeline/daily-timeline/comps/year-break/year-break-styled.js.map +1 -0
- package/dist/features/timeline/{comps → daily-timeline/comps}/year-break/year-break.js +2 -2
- package/dist/features/timeline/daily-timeline/comps/year-break/year-break.js.map +1 -0
- package/dist/features/timeline/{daily-timeline-events.js → daily-timeline/daily-timeline-events.js} +1 -1
- package/dist/features/timeline/daily-timeline/daily-timeline-events.js.map +1 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-styled.js +25 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-styled.js.map +1 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-types.js +7 -0
- package/dist/features/timeline/daily-timeline/daily-timeline-types.js.map +1 -0
- package/dist/features/timeline/{daily-timeline-view.js → daily-timeline/daily-timeline-view.js} +24 -25
- package/dist/features/timeline/daily-timeline/daily-timeline-view.js.map +1 -0
- package/dist/features/timeline/{daily-timeline.js → daily-timeline/daily-timeline.js} +23 -23
- package/dist/features/timeline/daily-timeline/daily-timeline.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js +10 -0
- package/dist/features/timeline/monthly-timeline/api/use-monthly-timeline-get.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js +87 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/comps/monthly-card/monthly-card.styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/constants.js +40 -0
- package/dist/features/timeline/monthly-timeline/constants.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-api.js +13 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/api/use-monthly-report-api.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.js +59 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.styled.js +15 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/achievements.styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/constant.js +16 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/achievements/constant.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js +128 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js +53 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card/activities-card.styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js +75 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js +58 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activities-card-puzzles.styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js +66 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities-card-puzzles/activity-puzzle-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js +27 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/activities.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js +102 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/constants.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js +9 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/activities/utils.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-constants.js +29 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-constants.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-utils.js +123 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance-utils.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.js +49 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.styled.js +48 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendance.styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendence-view.js +56 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/attendance/attendence-view.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback-styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js +85 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/feedback/feedback.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js +48 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goal-chapter-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js +28 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js +118 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-constants.js +30 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-constants.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals.js +22 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/comps/goals/goals.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-events.js +11 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-events.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-styled.js +14 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +5 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js +79 -0
- package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js +13 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js +6 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-types.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js +28 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline-view.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline.js +65 -0
- package/dist/features/timeline/monthly-timeline/monthly-timeline.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/api/use-ptm-report-get.js +9 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/api/use-ptm-report-get.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need-styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need.js +35 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/key-need/key-need.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/parent-support/parent-support.js +53 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/parent-support/parent-support.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js +19 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects.js +50 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/real-world-projects/real-world-projects.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card-styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card.js +22 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/report-card/report-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support-styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support.js +84 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/school-support/school-support.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies-constant.js +11 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies-constant.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies.js +36 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategies/strategies.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card-styled.js +55 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card.js +35 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/strategy-card/strategy-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info-styled.js +21 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info.js +21 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/student-info/student-info.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card-styled.js +9 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js +30 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/support-card/support-card.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js +9 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations-constant.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations.js +56 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/teacher-observations/teacher-observations.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js +15 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/comps/upcoming-chapters/upcoming-chapters.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-constants.js +16 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-constants.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-helpers.js +8 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-helpers.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-styled.js +11 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-styled.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js +5 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report-types.js.map +1 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js +113 -0
- package/dist/features/timeline/monthly-timeline/ptm-report/ptm-report.js.map +1 -0
- package/dist/features/timeline/timeline-tabs/constants.js +17 -0
- package/dist/features/timeline/timeline-tabs/constants.js.map +1 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js +5 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs-types.js.map +1 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.js +28 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.js.map +1 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js +37 -0
- package/dist/features/timeline/timeline-tabs/timeline-tabs.styled.js.map +1 -0
- package/dist/index.d.ts +169 -15
- package/dist/index.js +327 -313
- package/dist/index.js.map +1 -1
- package/dist/static/2021.2a1a2ec9.svg +1 -0
- package/dist/static/2022.2091553a.svg +1 -0
- package/dist/static/2023.ed718b4e.svg +1 -0
- package/dist/static/2024.aa60edc5.svg +1 -0
- package/dist/static/2025.014a8ad3.svg +1 -0
- package/dist/static/2026.95d70f27.svg +1 -0
- package/dist/static/2027.fe83a41c.svg +1 -0
- package/dist/static/2028.b1c253ef.svg +1 -0
- package/dist/static/apr.cd56f13d.svg +1 -0
- package/dist/static/aug.3ceade02.svg +1 -0
- package/dist/static/calendar_purple_2.6e8249ef.svg +1 -0
- package/dist/static/clock_purple.c774c9bf.svg +1 -0
- package/dist/static/coding-report-icon.91a1e900.svg +1 -0
- package/dist/static/dec.90729a5e.svg +1 -0
- package/dist/static/elp-icon.d45b457d.svg +1 -0
- package/dist/static/empty-reports.fe92faad.svg +1 -0
- package/dist/static/english-icon.50c2e005.svg +1 -0
- package/dist/static/feb.a9ecd320.svg +1 -0
- package/dist/static/full-report.00112c74.svg +1 -0
- package/dist/static/jan.f8fb9c39.svg +1 -0
- package/dist/static/jul.04a98cf0.svg +1 -0
- package/dist/static/jun.9b6ab6bf.svg +1 -0
- package/dist/static/mar.f8b372ef.svg +1 -0
- package/dist/static/math-fit-grey.c32f37b3.svg +1 -0
- package/dist/static/may.23adae48.svg +1 -0
- package/dist/static/no-report.4158fad3.svg +1 -0
- package/dist/static/node-learn-large-bg.faa03631.svg +1 -0
- package/dist/static/node-puzzle-large-bg.ba23382e.svg +1 -0
- package/dist/static/node-test-large-bg.e9120fd1.svg +1 -0
- package/dist/static/nov.c44e4739.svg +1 -0
- package/dist/static/oct.856b3b3f.svg +1 -0
- package/dist/static/progress_bar_purple.2ff4dfe2.svg +1 -0
- package/dist/static/ptm-report-icon.5089218f.svg +1 -0
- package/dist/static/sat-report-icon.4331be86.svg +1 -0
- package/dist/static/science-report-icon.a0014c40.svg +1 -0
- package/dist/static/sep.2d547b31.svg +1 -0
- package/dist/static/thumps-down.a1192a62.svg +1 -0
- package/dist/static/thumps-up.caa35a98.svg +1 -0
- package/package.json +1 -1
- package/dist/features/timeline/api/use-daily-timeline-get.js.map +0 -1
- package/dist/features/timeline/comps/accordion-item/accordion-item.js.map +0 -1
- package/dist/features/timeline/comps/constants.js +0 -22
- package/dist/features/timeline/comps/constants.js.map +0 -1
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items-styled.js.map +0 -1
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items.js.map +0 -1
- package/dist/features/timeline/comps/month-break/month-break-styled.js.map +0 -1
- package/dist/features/timeline/comps/month-break/month-break.js.map +0 -1
- package/dist/features/timeline/comps/no-activity.js.map +0 -1
- package/dist/features/timeline/comps/utils.js.map +0 -1
- package/dist/features/timeline/comps/year-break/year-break-styled.js.map +0 -1
- package/dist/features/timeline/comps/year-break/year-break.js.map +0 -1
- package/dist/features/timeline/daily-timeline-events.js.map +0 -1
- package/dist/features/timeline/daily-timeline-styled.js +0 -21
- package/dist/features/timeline/daily-timeline-styled.js.map +0 -1
- package/dist/features/timeline/daily-timeline-types.js +0 -7
- package/dist/features/timeline/daily-timeline-types.js.map +0 -1
- package/dist/features/timeline/daily-timeline-view.js.map +0 -1
- package/dist/features/timeline/daily-timeline.js.map +0 -1
- package/dist/static/apr.09a50ff7.png +0 -0
- package/dist/static/aug.7179d37e.png +0 -0
- package/dist/static/dec.09f7e315.png +0 -0
- package/dist/static/feb.9e72504d.png +0 -0
- package/dist/static/jan.da91944a.png +0 -0
- package/dist/static/jul.5a1c4932.png +0 -0
- package/dist/static/jun.62639c2f.png +0 -0
- package/dist/static/mar.f51bcfa6.png +0 -0
- package/dist/static/may.7c542020.png +0 -0
- package/dist/static/nov.058343e7.png +0 -0
- package/dist/static/oct.573ee19d.png +0 -0
- package/dist/static/sep.3ccb6468.png +0 -0
- /package/dist/features/timeline/{comps → daily-timeline/comps}/month-break/month-break.js +0 -0
package/dist/features/timeline/{comps → daily-timeline/comps}/accordion-item/accordion-item.js
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { memo as D, useMemo as K, useCallback as A } from "react";
|
|
3
|
-
import C from "
|
|
4
|
-
import l from "
|
|
5
|
-
import c from "
|
|
3
|
+
import C from "../../../../ui/buttons/text-button/text-button.js";
|
|
4
|
+
import l from "../../../../ui/layout/flex-view.js";
|
|
5
|
+
import c from "../../../../ui/text/text.js";
|
|
6
6
|
import { getStateConf as g } from "../utils.js";
|
|
7
|
-
import { BLOCK_TYPE as k } from "
|
|
7
|
+
import { BLOCK_TYPE as k } from "../../../../chapters-v2/constants/block-constants.js";
|
|
8
8
|
import { NODE_STATE as P, CARD_TYPE as O, USER_TYPE as s } from "../../daily-timeline-types.js";
|
|
9
|
-
import { NODE_TYPES as U } from "
|
|
10
|
-
import { IS_APP_RUNNING_IN_RN as E } from "
|
|
9
|
+
import { NODE_TYPES as U } from "../../../../../types/models/worksheet.js";
|
|
10
|
+
import { IS_APP_RUNNING_IN_RN as E } from "../../../../../constants/app-config.js";
|
|
11
11
|
const G = D(
|
|
12
12
|
({ type: f, userType: o, card: d, onPuzzleClick: i, onReviewClick: m }) => {
|
|
13
13
|
const {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-item.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/accordion-item/accordion-item.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, type FC } from 'react';\n\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport type { IAccordionItemProps } from './accordion-item-types';\nimport { getStateConf } from '../utils';\nimport { BLOCK_TYPE } from '../../../../chapters-v2/constants/block-constants';\nimport { type TColorNames } from '../../../../ui/types';\nimport { CARD_TYPE, NODE_STATE, USER_TYPE } from '../../daily-timeline-types';\nimport { NODE_TYPES } from '../../../../../types/models/worksheet';\nimport { IS_APP_RUNNING_IN_RN } from '../../../../../constants/app-config';\n\nconst AccordionItem: FC<IAccordionItemProps> = memo(\n ({ type, userType, card, onPuzzleClick, onReviewClick }) => {\n const {\n label,\n title,\n state,\n subtext,\n user_node_id: userNodeId,\n block_type: blockType,\n user_block_id: userBlockId,\n node_type: nodeType,\n } = card;\n const isSatMockTestBlock = blockType === BLOCK_TYPE.SAT_MOCK_TEST;\n const isPuzzleCard = nodeType === NODE_TYPES.PUZZLE_CARD;\n const [Icon, bgColor, color] = getStateConf(state) as [\n FC<React.SVGProps<SVGSVGElement>>,\n TColorNames,\n TColorNames,\n ];\n const isCompleted = state === NODE_STATE.COMPLETED;\n const shouldShowReview = useMemo(() => {\n if (type === CARD_TYPE.CIRCLE || IS_APP_RUNNING_IN_RN) return false;\n\n if (userType === USER_TYPE.TEACHER) return !isSatMockTestBlock || isCompleted;\n\n if (userType === USER_TYPE.STUDENT) return isCompleted;\n\n return false;\n }, [userType, type, isSatMockTestBlock, isCompleted]);\n\n const canReviewPuzzle =\n (isCompleted && (userType === USER_TYPE.STUDENT || IS_APP_RUNNING_IN_RN)) ||\n userType === USER_TYPE.TEACHER;\n\n const handlePuzzleClick = useCallback(() => {\n onPuzzleClick?.(card);\n }, [onPuzzleClick, card]);\n\n const handleReviewClick = useCallback(() => {\n if (onReviewClick && userNodeId) {\n onReviewClick(userNodeId, isSatMockTestBlock, userBlockId);\n }\n }, [isSatMockTestBlock, onReviewClick, userBlockId, userNodeId]);\n\n return (\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <FlexView $justifyContent=\"flex-end\" $height={18} $background=\"WHITE\">\n <FlexView $background={bgColor} $borderColor=\"BLACK_1\" $borderRadiusX={0.8}>\n {Icon && <Icon width={14} height={14} color={color} />}\n </FlexView>\n </FlexView>\n <FlexView $flexRowGapX={0.25}>\n <Text $renderAs=\"ub2\" $color=\"BLACK_1\">\n <Text $renderAs=\"ub2-bold\" $inline $color=\"BLACK_1\">\n {label}:\n </Text>{' '}\n {title}\n </Text>\n {isPuzzleCard ? (\n canReviewPuzzle ? (\n <TextButton\n label={isCompleted ? 'View reviewed puzzle' : 'View assigned puzzle'}\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handlePuzzleClick}\n />\n ) : (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subtext}\n </Text>\n )\n ) : (\n <FlexView $flexDirection=\"row\" $flexGapX={0.75} $alignItems=\"center\">\n {subtext && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subtext}\n </Text>\n )}\n {shouldShowReview && (\n <TextButton\n label=\"Review\"\n size=\"small\"\n color=\"BLACK_T_60\"\n onClick={handleReviewClick}\n />\n )}\n </FlexView>\n )}\n </FlexView>\n </FlexView>\n );\n },\n);\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport default AccordionItem;\n"],"names":["AccordionItem","memo","type","userType","card","onPuzzleClick","onReviewClick","label","title","state","subtext","userNodeId","blockType","userBlockId","nodeType","isSatMockTestBlock","BLOCK_TYPE","isPuzzleCard","NODE_TYPES","Icon","bgColor","color","getStateConf","isCompleted","NODE_STATE","shouldShowReview","useMemo","CARD_TYPE","IS_APP_RUNNING_IN_RN","USER_TYPE","canReviewPuzzle","handlePuzzleClick","useCallback","handleReviewClick","jsxs","FlexView","jsx","Text","TextButton"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAyCC;AAAA,EAC7C,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,MAAAC,GAAM,eAAAC,GAAe,eAAAC,QAAoB;AACpD,UAAA;AAAA,MACJ,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,cAAcC;AAAA,MACd,YAAYC;AAAA,MACZ,eAAeC;AAAA,MACf,WAAWC;AAAA,IACT,IAAAV,GACEW,IAAqBH,MAAcI,EAAW,eAC9CC,IAAeH,MAAaI,EAAW,aACvC,CAACC,GAAMC,GAASC,CAAK,IAAIC,EAAab,CAAK,GAK3Cc,IAAcd,MAAUe,EAAW,WACnCC,IAAmBC,EAAQ,MAC3BxB,MAASyB,EAAU,UAAUC,IAA6B,KAE1DzB,MAAa0B,EAAU,UAAgB,CAACd,KAAsBQ,IAE9DpB,MAAa0B,EAAU,UAAgBN,IAEpC,IACN,CAACpB,GAAUD,GAAMa,GAAoBQ,CAAW,CAAC,GAE9CO,IACHP,MAAgBpB,MAAa0B,EAAU,WAAWD,MACnDzB,MAAa0B,EAAU,SAEnBE,IAAoBC,EAAY,MAAM;AAC1C,MAAA3B,KAAA,QAAAA,EAAgBD;AAAA,IAAI,GACnB,CAACC,GAAeD,CAAI,CAAC,GAElB6B,IAAoBD,EAAY,MAAM;AAC1C,MAAI1B,KAAiBK,KACLL,EAAAK,GAAYI,GAAoBF,CAAW;AAAA,OAE1D,CAACE,GAAoBT,GAAeO,GAAaF,CAAU,CAAC;AAE/D,WACG,gBAAAuB,EAAAC,GAAA,EAAS,gBAAe,OAAM,WAAW,KACxC,UAAA;AAAA,MAAC,gBAAAC,EAAAD,GAAA,EAAS,iBAAgB,YAAW,SAAS,IAAI,aAAY,SAC5D,UAAA,gBAAAC,EAACD,GAAS,EAAA,aAAaf,GAAS,cAAa,WAAU,gBAAgB,KACpE,UAAQD,KAAA,gBAAAiB,EAACjB,GAAK,EAAA,OAAO,IAAI,QAAQ,IAAI,OAAAE,EAAc,CAAA,EAAA,CACtD,EACF,CAAA;AAAA,MACA,gBAAAa,EAACC,GAAS,EAAA,cAAc,MACtB,UAAA;AAAA,QAAA,gBAAAD,EAACG,GAAK,EAAA,WAAU,OAAM,QAAO,WAC3B,UAAA;AAAA,UAAA,gBAAAH,EAACG,KAAK,WAAU,YAAW,SAAO,IAAC,QAAO,WACvC,UAAA;AAAA,YAAA9B;AAAA,YAAM;AAAA,UAAA,GACT;AAAA,UAAQ;AAAA,UACPC;AAAA,QAAA,GACH;AAAA,QACCS,IACCa,IACE,gBAAAM;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,OAAOf,IAAc,yBAAyB;AAAA,YAC9C,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASQ;AAAA,UAAA;AAAA,QAAA,IAGV,gBAAAK,EAAAC,GAAA,EAAK,WAAU,OAAM,QAAO,cAC1B,UAAA3B,EACH,CAAA,IAGF,gBAAAwB,EAACC,KAAS,gBAAe,OAAM,WAAW,MAAM,aAAY,UACzD,UAAA;AAAA,UAAAzB,uBACE2B,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACH3B,GAAA;AAAA,UAEDe,KACC,gBAAAW;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,MAAK;AAAA,cACL,OAAM;AAAA,cACN,SAASL;AAAA,YAAA;AAAA,UACX;AAAA,QAAA,GAEJ;AAAA,MAAA,GAEJ;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAjC,EAAc,cAAc;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ILLUSTRATIONS as I } from "../../../../assets/illustrations/illustrations.js";
|
|
2
|
+
import { NODE_TYPE as A } from "../../../sheets/constants/sheet.js";
|
|
3
|
+
const o = 1, U = {
|
|
4
|
+
"01": I.JAN,
|
|
5
|
+
"02": I.FEB,
|
|
6
|
+
"03": I.MAR,
|
|
7
|
+
"04": I.APR,
|
|
8
|
+
"05": I.MAY,
|
|
9
|
+
"06": I.JUN,
|
|
10
|
+
"07": I.JUL,
|
|
11
|
+
"08": I.AUG,
|
|
12
|
+
"09": I.SEP,
|
|
13
|
+
10: I.OCT,
|
|
14
|
+
11: I.NOV,
|
|
15
|
+
12: I.DEC
|
|
16
|
+
};
|
|
17
|
+
A.TURING_BASIC, A.TURING_LINK, A.TURING_SHARE, A.PYTHON_BASIC, A.PYTHON_VISUAL;
|
|
18
|
+
export {
|
|
19
|
+
o as INITIAL_PAGE,
|
|
20
|
+
U as monthImageMap
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../src/features/timeline/daily-timeline/comps/constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport { NODE_TYPE } from '../../../sheets/constants/sheet';\n\nexport const INITIAL_PAGE = 1;\n\nexport const monthImageMap = {\n '01': ILLUSTRATIONS.JAN,\n '02': ILLUSTRATIONS.FEB,\n '03': ILLUSTRATIONS.MAR,\n '04': ILLUSTRATIONS.APR,\n '05': ILLUSTRATIONS.MAY,\n '06': ILLUSTRATIONS.JUN,\n '07': ILLUSTRATIONS.JUL,\n '08': ILLUSTRATIONS.AUG,\n '09': ILLUSTRATIONS.SEP,\n '10': ILLUSTRATIONS.OCT,\n '11': ILLUSTRATIONS.NOV,\n '12': ILLUSTRATIONS.DEC,\n};\n\nexport const CODING_ACTIVITY_NODE_TYPES = [\n NODE_TYPE.TURING_BASIC,\n NODE_TYPE.TURING_LINK,\n NODE_TYPE.TURING_SHARE,\n NODE_TYPE.PYTHON_BASIC,\n NODE_TYPE.PYTHON_VISUAL,\n];\n"],"names":["INITIAL_PAGE","monthImageMap","ILLUSTRATIONS","NODE_TYPE"],"mappings":";;AAGO,MAAMA,IAAe,GAEfC,IAAgB;AAAA,EAC3B,MAAMC,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,MAAMA,EAAc;AAAA,EACpB,IAAMA,EAAc;AAAA,EACpB,IAAMA,EAAc;AAAA,EACpB,IAAMA,EAAc;AACtB;AAGEC,EAAU,cACVA,EAAU,aACVA,EAAU,cACVA,EAAU,cACVA,EAAU;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import t from "styled-components";
|
|
2
|
-
import e from "
|
|
2
|
+
import e from "../../../../ui/layout/flex-view.js";
|
|
3
3
|
const p = t(e)`
|
|
4
4
|
border-bottom: ${({ $shouldAddBorder: o, theme: n }) => o ? `1px solid ${n.colors.BLACK}` : "none"};
|
|
5
5
|
transition: all 0.2s ease-in-out;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline-items-styled.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)<{ $shouldAddBorder: boolean }>`\n border-bottom: ${({ $shouldAddBorder, theme }) =>\n $shouldAddBorder ? `1px solid ${theme.colors.BLACK}` : 'none'};\n transition: all 0.2s ease-in-out;\n`;\n\nexport const SectionFooter = styled(FlexView)<{ $isExpanded?: boolean }>`\n padding-bottom: 24px;\n`;\n\nexport const TagContainer = styled(FlexView)`\n position: absolute;\n top: 0px;\n left: 0px;\n z-index: 2;\n`;\n\nexport const Card = styled(FlexView)<{ $isLastCard: boolean }>`\n border-left: ${({ $isLastCard, theme }) =>\n $isLastCard ? 'none' : `1px dashed ${theme.colors.GREY_3}`};\n padding-bottom: ${({ $isLastCard }) => ($isLastCard ? '0' : '20px')};\n > div {\n margin-left: -8px;\n }\n`;\n"],"names":["Wrapper","styled","FlexView","$shouldAddBorder","theme","SectionFooter","TagContainer","Card","$isLastCard"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ;AAAA,mBACnB,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,EAAM,MAC1CD,IAAmB,aAAaC,EAAM,OAAO,KAAK,KAAK,MAAM;AAAA;AAAA,GAIpDC,IAAgBJ,EAAOC,CAAQ;AAAA;AAAA,GAI/BI,IAAeL,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAO9BK,IAAON,EAAOC,CAAQ;AAAA,iBAClB,CAAC,EAAE,aAAAM,GAAa,OAAAJ,EAAM,MACnCI,IAAc,SAAS,cAAcJ,EAAM,OAAO,MAAM,EAAE;AAAA,oBAC1C,CAAC,EAAE,aAAAI,EAAA,MAAmBA,IAAc,MAAM,MAAO;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { jsx as e, jsxs as m, Fragment as
|
|
1
|
+
import { jsx as e, jsxs as m, Fragment as A } from "react/jsx-runtime";
|
|
2
2
|
import { memo as y, useState as L, useMemo as x, useCallback as D } from "react";
|
|
3
|
-
import w from "
|
|
4
|
-
import S from "
|
|
5
|
-
import r from "
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import h from "
|
|
3
|
+
import w from "../../../../../assets/line-icons/icons/plus.js";
|
|
4
|
+
import S from "../../../../ui/accordion-section/accordion-section.js";
|
|
5
|
+
import r from "../../../../ui/layout/flex-view.js";
|
|
6
|
+
import k from "../../../../../assets/line-icons/icons/minus.js";
|
|
7
|
+
import N from "../../../../ui/image/image.js";
|
|
8
|
+
import h from "../../../../ui/text/text.js";
|
|
9
9
|
import V from "../accordion-item/accordion-item.js";
|
|
10
|
-
import { Wrapper as j, TagContainer as B, SectionFooter as M, Card as
|
|
11
|
-
import { getTimelineCardIcon as
|
|
12
|
-
import { useUIContext as
|
|
10
|
+
import { Wrapper as j, TagContainer as B, SectionFooter as M, Card as W } from "./daily-timeline-items-styled.js";
|
|
11
|
+
import { getTimelineCardIcon as X } from "../utils.js";
|
|
12
|
+
import { useUIContext as P } from "../../../../ui/context/context.js";
|
|
13
13
|
import { DAILY_TIMELINE_ANALYTICS_EVENTS as u } from "../../daily-timeline-events.js";
|
|
14
14
|
const F = y((I) => {
|
|
15
15
|
const {
|
|
@@ -24,9 +24,9 @@ const F = y((I) => {
|
|
|
24
24
|
isLastItem: C,
|
|
25
25
|
fromDate: l,
|
|
26
26
|
studentId: c
|
|
27
|
-
} = I, [_,
|
|
27
|
+
} = I, [_, T] = L(!1), d = x(() => X(t), [t]), { onEvent: a } = P(), b = D(
|
|
28
28
|
(o) => {
|
|
29
|
-
|
|
29
|
+
T(o), a(
|
|
30
30
|
o ? u.TIMELINE_VIEW_EXPANDED : u.TIMELINE_VIEW_COLLAPSED,
|
|
31
31
|
{
|
|
32
32
|
timeline_date: l,
|
|
@@ -38,7 +38,7 @@ const F = y((I) => {
|
|
|
38
38
|
},
|
|
39
39
|
[l, a, c, t, i]
|
|
40
40
|
);
|
|
41
|
-
return /* @__PURE__ */ e(j, { $borderColor: "BLACK_1", $shouldAddBorder: C, children: /* @__PURE__ */ e(
|
|
41
|
+
return /* @__PURE__ */ e(j, { $borderColor: "BLACK_1", $background: "WHITE", $shouldAddBorder: C, children: /* @__PURE__ */ e(
|
|
42
42
|
S,
|
|
43
43
|
{
|
|
44
44
|
headerElement: /* @__PURE__ */ m(r, { children: [
|
|
@@ -61,18 +61,18 @@ const F = y((I) => {
|
|
|
61
61
|
$justifyContent: "center",
|
|
62
62
|
$flexGapX: 1.125,
|
|
63
63
|
children: [
|
|
64
|
-
/* @__PURE__ */ e(r, { children: d && /* @__PURE__ */ e(
|
|
64
|
+
/* @__PURE__ */ e(r, { children: d && /* @__PURE__ */ e(N, { src: d }) }),
|
|
65
65
|
/* @__PURE__ */ e(h, { $renderAs: "ab2", $color: "BLACK_1", children: i ?? "" })
|
|
66
66
|
]
|
|
67
67
|
}
|
|
68
68
|
),
|
|
69
|
-
_ ? /* @__PURE__ */ e(
|
|
69
|
+
_ ? /* @__PURE__ */ e(k, { width: 20, height: 20 }) : /* @__PURE__ */ e(w, { width: 20, height: 20 })
|
|
70
70
|
]
|
|
71
71
|
}
|
|
72
72
|
)
|
|
73
73
|
] }),
|
|
74
74
|
bodyElement: n.length > 0 ? /* @__PURE__ */ e(M, { $gutter: 32, children: n.map((o, p) => /* @__PURE__ */ e(
|
|
75
|
-
|
|
75
|
+
W,
|
|
76
76
|
{
|
|
77
77
|
$isLastCard: p === n.length - 1,
|
|
78
78
|
children: /* @__PURE__ */ e(
|
|
@@ -87,9 +87,9 @@ const F = y((I) => {
|
|
|
87
87
|
)
|
|
88
88
|
},
|
|
89
89
|
o.node_id ?? `card-${p}`
|
|
90
|
-
)) }) : /* @__PURE__ */ e(
|
|
90
|
+
)) }) : /* @__PURE__ */ e(A, {}),
|
|
91
91
|
defaultVisible: !1,
|
|
92
|
-
onBodyVisibilityChange:
|
|
92
|
+
onBodyVisibilityChange: b
|
|
93
93
|
}
|
|
94
94
|
) });
|
|
95
95
|
});
|
package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline-items.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState, type FC } from 'react';\n\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\nimport AccordionSection from '../../../../ui/accordion-section/accordion-section';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MinusIcon from '../../../../../assets/line-icons/icons/minus';\nimport Image from '../../../../ui/image/image';\nimport Text from '../../../../ui/text/text';\nimport AccordionItem from '../accordion-item/accordion-item';\nimport * as Styled from './daily-timeline-items-styled';\nimport { getTimelineCardIcon } from '../utils';\nimport { type IDailyTimelineItemsProps } from './daily-timeline-items.types';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { DAILY_TIMELINE_ANALYTICS_EVENTS } from '../../daily-timeline-events';\n\nconst DailyTimelineItems: FC<IDailyTimelineItemsProps> = memo(props => {\n const {\n type,\n summary,\n cards,\n onPuzzleClick,\n onReviewClick,\n courseStream,\n shouldShowTag,\n userType,\n isLastItem,\n fromDate,\n studentId,\n } = props;\n const [isExpended, setIsExpended] = useState(false);\n\n const timelineIcon = useMemo(() => getTimelineCardIcon(type), [type]);\n const { onEvent: trackEvent } = useUIContext();\n\n const handleExpand = useCallback(\n (val: boolean) => {\n setIsExpended(val);\n trackEvent(\n val\n ? DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_EXPANDED\n : DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_COLLAPSED,\n {\n timeline_date: fromDate,\n student_id: studentId,\n timeline_section_type: type,\n timeline_section_subject: summary,\n },\n );\n },\n [fromDate, trackEvent, studentId, type, summary],\n );\n\n return (\n <Styled.Wrapper $borderColor=\"BLACK_1\" $background=\"WHITE\" $shouldAddBorder={isLastItem}>\n <AccordionSection\n headerElement={\n <FlexView>\n {shouldShowTag && courseStream && (\n <Styled.TagContainer $position=\"absolute\" $background=\"BLACK_5\" $gutter={4}>\n <Text $renderAs=\"ab4-black\" $color=\"WHITE\">\n {courseStream}\n </Text>\n </Styled.TagContainer>\n )}\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $heightX={4}\n $gutterX={1}\n $gapX={1.32}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexGapX={1.125}\n >\n <FlexView>{timelineIcon && <Image src={timelineIcon} />}</FlexView>\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\">\n {summary ?? ''}\n </Text>\n </FlexView>\n {isExpended ? (\n <MinusIcon width={20} height={20} />\n ) : (\n <PlusIcon width={20} height={20} />\n )}\n </FlexView>\n </FlexView>\n }\n bodyElement={\n cards.length > 0 ? (\n <Styled.SectionFooter $gutter={32}>\n {cards.map((card, index) => (\n <Styled.Card\n key={card.node_id ?? `card-${index}`}\n $isLastCard={index === cards.length - 1}\n >\n <AccordionItem\n card={card}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n type={type}\n userType={userType}\n />\n </Styled.Card>\n ))}\n </Styled.SectionFooter>\n ) : (\n <></>\n )\n }\n defaultVisible={false}\n onBodyVisibilityChange={handleExpand}\n />\n </Styled.Wrapper>\n );\n});\n\nDailyTimelineItems.displayName = 'DailyTimelineItems';\n\nexport default DailyTimelineItems;\n"],"names":["DailyTimelineItems","memo","props","type","summary","cards","onPuzzleClick","onReviewClick","courseStream","shouldShowTag","userType","isLastItem","fromDate","studentId","isExpended","setIsExpended","useState","timelineIcon","useMemo","getTimelineCardIcon","trackEvent","useUIContext","handleExpand","useCallback","val","DAILY_TIMELINE_ANALYTICS_EVENTS","jsx","Styled.Wrapper","AccordionSection","FlexView","Styled.TagContainer","Text","jsxs","Image","MinusIcon","PlusIcon","Styled.SectionFooter","card","index","Styled.Card","AccordionItem","Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"month-break-styled.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/month-break/month-break-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const MonthImageWrapper = styled(FlexView)<{ $isLastYear: boolean; $img: string }>`\n margin-top: ${({ $isLastYear }) => ($isLastYear ? '-46px' : '0')};\n background-image: url(${({ $img }) => $img});\n background-size: cover;\n background-position: center;\n`;\n"],"names":["MonthImageWrapper","styled","FlexView","$isLastYear","$img"],"mappings":";;AAIa,MAAAA,IAAoBC,EAAOC,CAAQ;AAAA,gBAChC,CAAC,EAAE,aAAAC,EAAA,MAAmBA,IAAc,UAAU,GAAI;AAAA,0BACxC,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"month-break.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/month-break/month-break.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type IMonthBreakProps } from './month-break-types';\nimport * as Styled from './month-break-styled';\nimport { monthImageMap } from '../constants';\n\nconst MonthBreak = memo(({ fromMonth, isLastDayOfMth, isLastDayOfYear }: IMonthBreakProps) => {\n const Image = monthImageMap[String(fromMonth).padStart(2, '0') as keyof typeof monthImageMap];\n\n if (fromMonth && isLastDayOfMth)\n return (\n <Styled.MonthImageWrapper\n $isLastYear={isLastDayOfYear}\n $img={Image}\n $width=\"100%\"\n $height={246}\n />\n );\n\n return null;\n});\n\nMonthBreak.displayName = 'MonthBreak';\n\nexport default MonthBreak;\n"],"names":["MonthBreak","memo","fromMonth","isLastDayOfMth","isLastDayOfYear","Image","monthImageMap","jsx","Styled.MonthImageWrapper"],"mappings":";;;;AAMA,MAAMA,IAAaC,EAAK,CAAC,EAAE,WAAAC,GAAW,gBAAAC,GAAgB,iBAAAC,QAAwC;AACtF,QAAAC,IAAQC,EAAc,OAAOJ,CAAS,EAAE,SAAS,GAAG,GAAG,CAA+B;AAE5F,SAAIA,KAAaC,IAEb,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAaJ;AAAA,MACb,MAAMC;AAAA,MACN,QAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EAAA,IAIR;AACT,CAAC;AAEDL,EAAW,cAAc;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsxs as t, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { memo as e } from "react";
|
|
3
|
-
import i from "
|
|
4
|
-
import m from "
|
|
5
|
-
import c from "
|
|
6
|
-
import { ILLUSTRATIONS as $ } from "
|
|
3
|
+
import i from "../../../ui/image/image.js";
|
|
4
|
+
import m from "../../../ui/layout/flex-view.js";
|
|
5
|
+
import c from "../../../ui/text/text.js";
|
|
6
|
+
import { ILLUSTRATIONS as $ } from "../../../../assets/illustrations/illustrations.js";
|
|
7
7
|
const o = () => /* @__PURE__ */ t(
|
|
8
8
|
m,
|
|
9
9
|
{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-activity.js","sources":["../../../../../src/features/timeline/daily-timeline/comps/no-activity.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\n\nconst NoActivity = () => {\n return (\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={0.75}\n $alignItems=\"center\"\n $gutterX={1}\n $gapX={1.32}\n $heightX={4}\n $borderColor=\"BLACK_T_15\"\n $background=\"BLACK_T_04\"\n >\n <Image src={ILLUSTRATIONS.NO_ACTIVITY} />\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_38\">\n No Activity\n </Text>\n </FlexView>\n );\n};\n\nNoActivity.displayName = 'NoActivity';\n\nexport default memo(NoActivity);\n"],"names":["NoActivity","jsxs","FlexView","jsx","Image","ILLUSTRATIONS","Text","NoActivity$1","memo"],"mappings":";;;;;;AAOA,MAAMA,IAAa,MAEf,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAe;AAAA,IACf,WAAW;AAAA,IACX,aAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAa;AAAA,IACb,aAAY;AAAA,IAEZ,UAAA;AAAA,MAAC,gBAAAC,EAAAC,GAAA,EAAM,KAAKC,EAAc,YAAa,CAAA;AAAA,wBACtCC,GAAK,EAAA,WAAU,OAAM,QAAO,cAAa,UAE1C,eAAA;AAAA,IAAA;AAAA,EAAA;AAAA;AAKNN,EAAW,cAAc;AAEzB,MAAeO,IAAAC,EAAKR,CAAU;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ILLUSTRATIONS as r } from "
|
|
2
|
-
import a from "
|
|
3
|
-
import m from "
|
|
4
|
-
import n from "
|
|
1
|
+
import { ILLUSTRATIONS as r } from "../../../../assets/illustrations/illustrations.js";
|
|
2
|
+
import a from "../../../../assets/line-icons/icons/check2.js";
|
|
3
|
+
import m from "../../../../assets/line-icons/icons/cross.js";
|
|
4
|
+
import n from "../../../../assets/line-icons/icons/status.js";
|
|
5
5
|
import { CARD_TYPE as e, NODE_STATE as o } from "../daily-timeline-types.js";
|
|
6
|
-
import { formatDate as C } from "
|
|
6
|
+
import { formatDate as C } from "../../../../node_modules/date-fns/format.js";
|
|
7
7
|
const i = (t) => {
|
|
8
8
|
switch (t) {
|
|
9
9
|
case o.COMPLETED:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/features/timeline/daily-timeline/comps/utils.ts"],"sourcesContent":["import { format } from 'date-fns';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport StatusIcon from '../../../../assets/line-icons/icons/status';\nimport { CARD_TYPE, NODE_STATE } from '../daily-timeline-types';\n\nexport const getStateConf = (state: NODE_STATE) => {\n switch (state) {\n case NODE_STATE.COMPLETED:\n return [Check2Icon, 'BLACK_1', 'WHITE'];\n case NODE_STATE.IN_PROGRESS:\n return [StatusIcon, 'BLACK_1', 'WHITE'];\n case NODE_STATE.PENDING:\n return [CrossIcon, 'WHITE', 'BLACK_1'];\n default:\n return [StatusIcon, 'GREY_2'];\n }\n};\n\nexport const getTimelineCardIcon = (type: CARD_TYPE) => {\n switch (type) {\n case CARD_TYPE.CW:\n return ILLUSTRATIONS.CW_ICON;\n case CARD_TYPE.HW:\n return ILLUSTRATIONS.HW_ICON;\n case CARD_TYPE.CIRCLE:\n return ILLUSTRATIONS.CIRCLE_ICON;\n default:\n return null;\n }\n};\n\nexport const getDayMonthYear = (dateObj: Date) => ({\n day: dateObj.getDate(),\n month: dateObj.getMonth() + 1,\n year: dateObj.getFullYear(),\n monthName: format(dateObj, 'MMM'),\n});\n"],"names":["getStateConf","state","NODE_STATE","Check2Icon","StatusIcon","CrossIcon","getTimelineCardIcon","type","CARD_TYPE","ILLUSTRATIONS","getDayMonthYear","dateObj","format"],"mappings":";;;;;;AAQa,MAAAA,IAAe,CAACC,MAAsB;AACjD,UAAQA,GAAO;AAAA,IACb,KAAKC,EAAW;AACP,aAAA,CAACC,GAAY,WAAW,OAAO;AAAA,IACxC,KAAKD,EAAW;AACP,aAAA,CAACE,GAAY,WAAW,OAAO;AAAA,IACxC,KAAKF,EAAW;AACP,aAAA,CAACG,GAAW,SAAS,SAAS;AAAA,IACvC;AACS,aAAA,CAACD,GAAY,QAAQ;AAAA,EAChC;AACF,GAEaE,IAAsB,CAACC,MAAoB;AACtD,UAAQA,GAAM;AAAA,IACZ,KAAKC,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB,KAAKD,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB,KAAKD,EAAU;AACb,aAAOC,EAAc;AAAA,IACvB;AACS,aAAA;AAAA,EACX;AACF,GAEaC,IAAkB,CAACC,OAAmB;AAAA,EACjD,KAAKA,EAAQ,QAAQ;AAAA,EACrB,OAAOA,EAAQ,SAAA,IAAa;AAAA,EAC5B,MAAMA,EAAQ,YAAY;AAAA,EAC1B,WAAWC,EAAOD,GAAS,KAAK;AAClC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"year-break-styled.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/year-break/year-break-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const YearWrapper = styled(FlexView)`\n z-index: 1;\n`;\n"],"names":["YearWrapper","styled","FlexView"],"mappings":";;AAIa,MAAAA,IAAcC,EAAOC,CAAQ;AAAA;AAAA;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as t, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { memo as a } from "react";
|
|
3
|
-
import m from "
|
|
4
|
-
import i from "
|
|
3
|
+
import m from "../../../../ui/separator/separator.js";
|
|
4
|
+
import i from "../../../../ui/text/text.js";
|
|
5
5
|
import { YearWrapper as p } from "./year-break-styled.js";
|
|
6
6
|
const l = a(({ toYear: e, isLastDayOfYear: o }) => o ? /* @__PURE__ */ t(p, { $gutterX: 1, children: [
|
|
7
7
|
/* @__PURE__ */ r(m, { heightX: 1 }),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"year-break.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/year-break/year-break.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './year-break-styled';\nimport { type IYearBreakProps } from './year-break-types';\n\nconst YearBreak = memo(({ toYear, isLastDayOfYear }: IYearBreakProps) => {\n if (isLastDayOfYear) {\n return (\n <Styled.YearWrapper $gutterX={1}>\n <Separator heightX={1} />\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n {toYear}\n </Text>\n </Styled.YearWrapper>\n );\n }\n\n return null;\n});\n\nYearBreak.displayName = 'YearBreak';\n\nexport default YearBreak;\n"],"names":["YearBreak","memo","toYear","isLastDayOfYear","jsxs","Styled.YearWrapper","jsx","Separator","Text"],"mappings":";;;;;AAOA,MAAMA,IAAYC,EAAK,CAAC,EAAE,QAAAC,GAAQ,iBAAAC,QAC5BA,IAEC,gBAAAC,EAAAC,GAAA,EAAmB,UAAU,GAC5B,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,oBACtBC,GAAK,EAAA,WAAU,aAAY,QAAO,cAChC,UACHN,GAAA;AACF,EAAA,CAAA,IAIG,IACR;AAEDF,EAAU,cAAc;"}
|
package/dist/features/timeline/{daily-timeline-events.js → daily-timeline/daily-timeline-events.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PLUGINS as i } from "
|
|
1
|
+
import { PLUGINS as i } from "../../../node_modules/@cuemath/analytics-v2/dist/constants.js";
|
|
2
2
|
var l = /* @__PURE__ */ ((e) => (e.TIMELINE_VIEWED = "timeline_viewed", e.TIMELINE_CLOSED = "timeline_closed", e.TIMELINE_SCROLLED = "timeline_scrolled", e.TIMELINE_VIEW_EXPANDED = "timeline_view_expanded", e.TIMELINE_VIEW_COLLAPSED = "timeline_view_collapsed", e))(l || {});
|
|
3
3
|
const t = {
|
|
4
4
|
timeline_viewed: [i.MIXPANEL],
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline-events.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum DAILY_TIMELINE_ANALYTICS_EVENTS {\n TIMELINE_VIEWED = 'timeline_viewed',\n TIMELINE_CLOSED = 'timeline_closed',\n TIMELINE_SCROLLED = 'timeline_scrolled',\n TIMELINE_VIEW_EXPANDED = 'timeline_view_expanded',\n TIMELINE_VIEW_COLLAPSED = 'timeline_view_collapsed',\n}\n\nexport const DAILY_TIMELINE_WHITELIST_EVENTS = {\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEWED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_CLOSED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_SCROLLED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_EXPANDED]: [PLUGINS.MIXPANEL],\n [DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_COLLAPSED]: [PLUGINS.MIXPANEL],\n};\n"],"names":["DAILY_TIMELINE_ANALYTICS_EVENTS","DAILY_TIMELINE_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,oBAAoB,qBACpBA,EAAA,yBAAyB,0BACzBA,EAAA,0BAA0B,2BALhBA,IAAAA,KAAA,CAAA,CAAA;AAQL,MAAMC,IAAkC;AAAA,EAC5C,iBAAkD,CAACC,EAAQ,QAAQ;AAAA,EACnE,iBAAkD,CAACA,EAAQ,QAAQ;AAAA,EACnE,mBAAoD,CAACA,EAAQ,QAAQ;AAAA,EACrE,wBAAyD,CAACA,EAAQ,QAAQ;AAAA,EAC1E,yBAA0D,CAACA,EAAQ,QAAQ;AAC9E;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import t from "styled-components";
|
|
2
|
+
import e from "../../ui/layout/flex-view.js";
|
|
3
|
+
import o from "../../ui/text/text.js";
|
|
4
|
+
const n = t(e)`
|
|
5
|
+
overflow-y: auto;
|
|
6
|
+
width: 100%;
|
|
7
|
+
scroll-behavior: smooth;
|
|
8
|
+
will-change: height;
|
|
9
|
+
`, a = t(e)`
|
|
10
|
+
max-width: 512px;
|
|
11
|
+
width: 100%;
|
|
12
|
+
will-change: height;
|
|
13
|
+
`, m = t(e)`
|
|
14
|
+
margin-top: ${({ $addedMonthBreak: i }) => i ? "-108px" : "0"};
|
|
15
|
+
z-index: 1;
|
|
16
|
+
`, p = t(o)`
|
|
17
|
+
line-height: 8px;
|
|
18
|
+
`;
|
|
19
|
+
export {
|
|
20
|
+
m as DailyItems,
|
|
21
|
+
a as DailyTimelineContainer,
|
|
22
|
+
p as DateText,
|
|
23
|
+
n as ScrollWrapper
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=daily-timeline-styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline-styled.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Text from '../../ui/text/text';\n\nconst ScrollWrapper = styled(FlexView)`\n overflow-y: auto;\n width: 100%;\n scroll-behavior: smooth;\n will-change: height;\n`;\n\nconst DailyTimelineContainer = styled(FlexView)`\n max-width: 512px;\n width: 100%;\n will-change: height;\n`;\n\nconst DailyItems = styled(FlexView)<{ $addedMonthBreak?: boolean }>`\n margin-top: ${({ $addedMonthBreak }) =>\n $addedMonthBreak\n ? '-108px' // 64px card height + 16px(separator) + 16(date text) + 12(separator)\n : '0'};\n z-index: 1;\n`;\n\nconst DateText = styled(Text)`\n line-height: 8px;\n`;\n\nexport { DailyTimelineContainer, DailyItems, ScrollWrapper, DateText };\n"],"names":["ScrollWrapper","styled","FlexView","DailyTimelineContainer","DailyItems","$addedMonthBreak","DateText","Text"],"mappings":";;;AAKM,MAAAA,IAAgBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAO/BC,IAAyBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMxCE,IAAaH,EAAOC,CAAQ;AAAA,gBAClB,CAAC,EAAE,kBAAAG,EAAA,MACfA,IACI,WACA,GAAG;AAAA;AAAA,GAILC,IAAWL,EAAOM,CAAI;AAAA;AAAA;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var r = /* @__PURE__ */ ((R) => (R.COMPLETED = "COMPLETED", R.IN_PROGRESS = "IN_PROGRESS", R.PENDING = "PENDING", R.NOT_STARTED = "NOT_STARTED", R.WAIT_FOR_REVIEW = "WAIT_FOR_REVIEW", R))(r || {}), E = /* @__PURE__ */ ((R) => (R.TEACHER = "TEACHER", R.STUDENT = "STUDENT", R.PARENT = "PARENT", R))(E || {}), I = /* @__PURE__ */ ((R) => (R.CW = "CW", R.HW = "HW", R.CIRCLE = "CIRCLE", R))(I || {});
|
|
2
|
+
export {
|
|
3
|
+
I as CARD_TYPE,
|
|
4
|
+
r as NODE_STATE,
|
|
5
|
+
E as USER_TYPE
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=daily-timeline-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline-types.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-types.ts"],"sourcesContent":["import { type TCourseStream } from '../../milestone/create/milestone-create-types';\nimport { type ITimeLineItem, type ITimelineData } from './api/use-daily-timeline-get';\n\nexport enum NODE_STATE {\n COMPLETED = 'COMPLETED',\n IN_PROGRESS = 'IN_PROGRESS',\n PENDING = 'PENDING',\n NOT_STARTED = 'NOT_STARTED',\n WAIT_FOR_REVIEW = 'WAIT_FOR_REVIEW',\n}\n\nexport enum USER_TYPE {\n TEACHER = 'TEACHER',\n STUDENT = 'STUDENT',\n PARENT = 'PARENT',\n}\n\nexport enum CARD_TYPE {\n CW = 'CW',\n HW = 'HW',\n CIRCLE = 'CIRCLE',\n}\n\nexport interface IDailyTimelineProps {\n userType: USER_TYPE;\n studentId: string;\n courseStreams?: TCourseStream[];\n onPuzzleClick?: (card: ITimeLineItem) => void;\n onReviewClick?: (\n userNodeId: string | null,\n isSatMockTestBlock: boolean,\n userBlockId: string | null,\n ) => void;\n scrollAreaHeight?: string | number;\n}\n\nexport interface IDailyTimelineItemsProps extends IDailyTimelineProps {\n entry: ITimelineData;\n isFirstElement: boolean;\n shouldShowTag: boolean;\n}\n"],"names":["NODE_STATE","USER_TYPE","CARD_TYPE"],"mappings":"AAGY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,cAAc,eACdA,EAAA,UAAU,WACVA,EAAA,cAAc,eACdA,EAAA,kBAAkB,mBALRA,IAAAA,KAAA,CAAA,CAAA,GAQAC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,KAAK,MACLA,EAAA,KAAK,MACLA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA;"}
|
package/dist/features/timeline/{daily-timeline-view.js → daily-timeline/daily-timeline-view.js}
RENAMED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { jsxs as s, Fragment as j, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { getDayMonthYear as D } from "./comps/utils.js";
|
|
3
|
-
import w from "
|
|
4
|
-
import x from "./comps/
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { isLastDayOfMonth as V } from "../../node_modules/date-fns/isLastDayOfMonth.js";
|
|
3
|
+
import w from "./comps/year-break/year-break.js";
|
|
4
|
+
import x from "./comps/month-break/month-break.js";
|
|
5
|
+
import { DailyItems as A, DateText as B } from "./daily-timeline-styled.js";
|
|
6
|
+
import C from "./comps/daily-timeline-items/daily-timeline-items.js";
|
|
7
|
+
import I from "./comps/no-activity.js";
|
|
8
|
+
import { CARD_TYPE as S } from "./daily-timeline-types.js";
|
|
9
|
+
import a from "../../ui/separator/separator.js";
|
|
10
|
+
import k from "../../ui/layout/flex-view.js";
|
|
11
|
+
import { parseISO as u } from "../../../node_modules/date-fns/parseISO.js";
|
|
12
|
+
import { isLastDayOfMonth as V } from "../../../node_modules/date-fns/isLastDayOfMonth.js";
|
|
14
13
|
const b = ({
|
|
15
14
|
entry: $,
|
|
16
15
|
isFirstElement: n,
|
|
@@ -20,18 +19,18 @@ const b = ({
|
|
|
20
19
|
studentId: L,
|
|
21
20
|
userType: T
|
|
22
21
|
}) => {
|
|
23
|
-
const { daily_logs: r, from_date:
|
|
22
|
+
const { daily_logs: r, from_date: m, to_date: h } = $, N = u(m), f = u(h), { day: y, month: c, monthName: O } = D(N), {
|
|
24
23
|
day: p,
|
|
25
24
|
month: d,
|
|
26
25
|
year: X,
|
|
27
26
|
monthName: Y
|
|
28
27
|
} = D(f), i = V(f), e = i && d === 12 && p === 31;
|
|
29
|
-
return r ? /* @__PURE__ */ s(
|
|
28
|
+
return r ? /* @__PURE__ */ s(k, { children: [
|
|
30
29
|
!n && /* @__PURE__ */ s(j, { children: [
|
|
31
|
-
/* @__PURE__ */ t(
|
|
32
|
-
!e && c && e && /* @__PURE__ */ t(
|
|
30
|
+
/* @__PURE__ */ t(w, { toYear: X, isLastDayOfYear: e }),
|
|
31
|
+
!e && c && e && /* @__PURE__ */ t(a, { heightX: 1 }),
|
|
33
32
|
/* @__PURE__ */ t(
|
|
34
|
-
|
|
33
|
+
x,
|
|
35
34
|
{
|
|
36
35
|
fromMonth: c,
|
|
37
36
|
isLastDayOfMth: i,
|
|
@@ -40,16 +39,16 @@ const b = ({
|
|
|
40
39
|
)
|
|
41
40
|
] }),
|
|
42
41
|
/* @__PURE__ */ s(
|
|
43
|
-
|
|
42
|
+
A,
|
|
44
43
|
{
|
|
45
44
|
$gutterX: 1,
|
|
46
45
|
$addedMonthBreak: !!(i && d && !n),
|
|
47
46
|
children: [
|
|
48
|
-
/* @__PURE__ */ t(
|
|
49
|
-
/* @__PURE__ */ t(
|
|
50
|
-
/* @__PURE__ */ t(
|
|
47
|
+
/* @__PURE__ */ t(a, { heightX: 1 }),
|
|
48
|
+
/* @__PURE__ */ t(B, { $renderAs: "ac4", $color: "BLACK_T_60", children: m === h ? `${y} ${O}` : `${y} - ${p} ${Y}` }),
|
|
49
|
+
/* @__PURE__ */ t(a, { heightX: 0.75 }),
|
|
51
50
|
r.length > 0 ? r.map((o, l) => /* @__PURE__ */ t(
|
|
52
|
-
|
|
51
|
+
C,
|
|
53
52
|
{
|
|
54
53
|
type: o.type,
|
|
55
54
|
summary: o.summary ?? "",
|
|
@@ -58,14 +57,14 @@ const b = ({
|
|
|
58
57
|
onPuzzleClick: M,
|
|
59
58
|
onReviewClick: _,
|
|
60
59
|
userType: T,
|
|
61
|
-
shouldShowTag: g && o.course_stream !==
|
|
60
|
+
shouldShowTag: g && o.course_stream !== S.CIRCLE,
|
|
62
61
|
isLastItem: l === r.length - 1,
|
|
63
|
-
fromDate:
|
|
62
|
+
fromDate: m,
|
|
64
63
|
studentId: L
|
|
65
64
|
},
|
|
66
65
|
`timeline-${l}`
|
|
67
|
-
)) : /* @__PURE__ */ t(
|
|
68
|
-
/* @__PURE__ */ t(
|
|
66
|
+
)) : /* @__PURE__ */ t(I, {}),
|
|
67
|
+
/* @__PURE__ */ t(a, { heightX: 1 })
|
|
69
68
|
]
|
|
70
69
|
}
|
|
71
70
|
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline-view.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline-view.tsx"],"sourcesContent":["import { isLastDayOfMonth, parseISO } from 'date-fns';\nimport { type FC } from 'react';\n\nimport { getDayMonthYear } from './comps/utils';\nimport YearBreak from './comps/year-break/year-break';\nimport MonthBreak from './comps/month-break/month-break';\nimport * as Styled from './daily-timeline-styled';\nimport DailyTimelineItems from './comps/daily-timeline-items/daily-timeline-items';\nimport NoActivity from './comps/no-activity';\nimport { CARD_TYPE, type IDailyTimelineItemsProps } from './daily-timeline-types';\nimport Separator from '../../ui/separator/separator';\nimport FlexView from '../../ui/layout/flex-view';\n\nconst DailyTimelineView: FC<IDailyTimelineItemsProps> = ({\n entry,\n isFirstElement,\n onPuzzleClick,\n onReviewClick,\n shouldShowTag,\n studentId,\n userType,\n}) => {\n const { daily_logs: dailyLogs, from_date: fromDate, to_date: toDate } = entry;\n const fromDateObj = parseISO(fromDate);\n const toDateObj = parseISO(toDate);\n\n const { day: fromDay, month: fromMonth, monthName: fromMonthName } = getDayMonthYear(fromDateObj);\n\n const {\n day: toDay,\n month: toMonth,\n year: toYear,\n monthName: toMonthName,\n } = getDayMonthYear(toDateObj);\n\n const isLastDayOfMth = isLastDayOfMonth(toDateObj);\n const isLastDayOfYear = isLastDayOfMth && toMonth === 12 && toDay === 31;\n\n if (!dailyLogs) {\n return null;\n }\n\n return (\n <FlexView>\n {!isFirstElement && (\n <>\n <YearBreak toYear={toYear} isLastDayOfYear={isLastDayOfYear} />\n {!isLastDayOfYear && fromMonth && isLastDayOfYear && <Separator heightX={1} />}\n <MonthBreak\n fromMonth={fromMonth}\n isLastDayOfMth={isLastDayOfMth}\n isLastDayOfYear={isLastDayOfYear}\n />\n </>\n )}\n <Styled.DailyItems\n $gutterX={1}\n $addedMonthBreak={!!(isLastDayOfMth && toMonth && !isFirstElement)}\n >\n <Separator heightX={1} />\n <Styled.DateText $renderAs=\"ac4\" $color=\"BLACK_T_60\">\n {fromDate === toDate\n ? `${fromDay} ${fromMonthName}`\n : `${fromDay} - ${toDay} ${toMonthName}`}\n </Styled.DateText>\n <Separator heightX={0.75} />\n {dailyLogs.length > 0 ? (\n dailyLogs.map((log, logIndex) => (\n <DailyTimelineItems\n key={`timeline-${logIndex}`}\n type={log.type}\n summary={log.summary ?? ''}\n courseStream={log.course_stream}\n cards={log.cards}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n userType={userType}\n shouldShowTag={shouldShowTag && log.course_stream !== CARD_TYPE.CIRCLE}\n isLastItem={logIndex === dailyLogs.length - 1}\n fromDate={fromDate}\n studentId={studentId}\n />\n ))\n ) : (\n <NoActivity />\n )}\n <Separator heightX={1} />\n </Styled.DailyItems>\n </FlexView>\n );\n};\n\nDailyTimelineView.displayName = 'DailyTimelineView';\n\nexport default DailyTimelineView;\n"],"names":["DailyTimelineView","entry","isFirstElement","onPuzzleClick","onReviewClick","shouldShowTag","studentId","userType","dailyLogs","fromDate","toDate","fromDateObj","parseISO","toDateObj","fromDay","fromMonth","fromMonthName","getDayMonthYear","toDay","toMonth","toYear","toMonthName","isLastDayOfMth","isLastDayOfMonth","isLastDayOfYear","FlexView","jsxs","Fragment","jsx","YearBreak","Separator","MonthBreak","Styled.DailyItems","Styled.DateText","log","logIndex","DailyTimelineItems","CARD_TYPE","NoActivity"],"mappings":";;;;;;;;;;;;AAaA,MAAMA,IAAkD,CAAC;AAAA,EACvD,OAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAM,EAAE,YAAYC,GAAW,WAAWC,GAAU,SAASC,EAAW,IAAAT,GAClEU,IAAcC,EAASH,CAAQ,GAC/BI,IAAYD,EAASF,CAAM,GAE3B,EAAE,KAAKI,GAAS,OAAOC,GAAW,WAAWC,EAAkB,IAAAC,EAAgBN,CAAW,GAE1F;AAAA,IACJ,KAAKO;AAAA,IACL,OAAOC;AAAA,IACP,MAAMC;AAAA,IACN,WAAWC;AAAA,EAAA,IACTJ,EAAgBJ,CAAS,GAEvBS,IAAiBC,EAAiBV,CAAS,GAC3CW,IAAkBF,KAAkBH,MAAY,MAAMD,MAAU;AAEtE,SAAKV,sBAKFiB,GACE,EAAA,UAAA;AAAA,IAAA,CAACvB,KAEE,gBAAAwB,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAC,gBAAAC,EAAAC,GAAA,EAAU,QAAAT,GAAgB,iBAAAI,EAAkC,CAAA;AAAA,MAC5D,CAACA,KAAmBT,KAAaS,KAAoB,gBAAAI,EAAAE,GAAA,EAAU,SAAS,GAAG;AAAA,MAC5E,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,WAAAhB;AAAA,UACA,gBAAAO;AAAA,UACA,iBAAAE;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,GACF;AAAA,IAEF,gBAAAE;AAAA,MAACM;AAAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,kBAAkB,CAAC,EAAEV,KAAkBH,KAAW,CAACjB;AAAA,QAEnD,UAAA;AAAA,UAAC,gBAAA0B,EAAAE,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,UACvB,gBAAAF,EAACK,GAAA,EAAgB,WAAU,OAAM,QAAO,cACrC,UAAaxB,MAAAC,IACV,GAAGI,CAAO,IAAIE,CAAa,KAC3B,GAAGF,CAAO,MAAMI,CAAK,IAAIG,CAAW,IAC1C;AAAA,UACA,gBAAAO,EAACE,GAAU,EAAA,SAAS,KAAM,CAAA;AAAA,UACzBtB,EAAU,SAAS,IAClBA,EAAU,IAAI,CAAC0B,GAAKC,MAClB,gBAAAP;AAAA,YAACQ;AAAA,YAAA;AAAA,cAEC,MAAMF,EAAI;AAAA,cACV,SAASA,EAAI,WAAW;AAAA,cACxB,cAAcA,EAAI;AAAA,cAClB,OAAOA,EAAI;AAAA,cACX,eAAA/B;AAAA,cACA,eAAAC;AAAA,cACA,UAAAG;AAAA,cACA,eAAeF,KAAiB6B,EAAI,kBAAkBG,EAAU;AAAA,cAChE,YAAYF,MAAa3B,EAAU,SAAS;AAAA,cAC5C,UAAAC;AAAA,cACA,WAAAH;AAAA,YAAA;AAAA,YAXK,YAAY6B,CAAQ;AAAA,UAAA,CAa5B,IAED,gBAAAP,EAACU,GAAW,EAAA;AAAA,UAEd,gBAAAV,EAACE,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACzB;AAAA,EACF,EAAA,CAAA,IAjDO;AAmDX;AAEA9B,EAAkB,cAAc;"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { jsx as s, jsxs as P } from "react/jsx-runtime";
|
|
2
2
|
import { memo as $, useState as I, useCallback as _, useMemo as w, useEffect as f, Fragment as D } from "react";
|
|
3
|
-
import R from "
|
|
4
|
-
import F from "
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import { ScrollWrapper as k, DailyTimelineContainer as G } from "./daily-timeline-styled.js";
|
|
9
|
-
import { USER_TYPE as O, CARD_TYPE as y } from "./daily-timeline-types.js";
|
|
10
|
-
import { INITIAL_PAGE as U } from "./comps/constants.js";
|
|
11
|
-
import { getTimezone as W } from "../../helpers/date-time.js";
|
|
12
|
-
import { useUIContext as b } from "../ui/context/context.js";
|
|
13
|
-
import X from "../hooks/use-previous.js";
|
|
3
|
+
import { useDailyTimelineGet as R } from "./api/use-daily-timeline-get.js";
|
|
4
|
+
import { ScrollWrapper as F, DailyTimelineContainer as V } from "./daily-timeline-styled.js";
|
|
5
|
+
import { USER_TYPE as Y, CARD_TYPE as y } from "./daily-timeline-types.js";
|
|
6
|
+
import { INITIAL_PAGE as j } from "./comps/constants.js";
|
|
7
|
+
import { getTimezone as k } from "../../../helpers/date-time.js";
|
|
14
8
|
import { DAILY_TIMELINE_ANALYTICS_EVENTS as h } from "./daily-timeline-events.js";
|
|
15
|
-
import
|
|
9
|
+
import G from "./daily-timeline-view.js";
|
|
10
|
+
import { useUIContext as O } from "../../ui/context/context.js";
|
|
11
|
+
import U from "../../hooks/use-previous.js";
|
|
12
|
+
import W from "../../ui/error/error.js";
|
|
13
|
+
import b from "../../ui/layout/flex-view.js";
|
|
14
|
+
import X from "../../ui/intersection-loader/intersection-loader.js";
|
|
15
|
+
import q from "../../ui/loader/app-loader/app-loader.js";
|
|
16
16
|
const S = $(
|
|
17
17
|
({ userType: c, studentId: i, courseStreams: m, onPuzzleClick: A, onReviewClick: M, scrollAreaHeight: T }) => {
|
|
18
|
-
const [l, p] = I([]), [E, u] = I(!1), { onEvent: t } =
|
|
18
|
+
const [l, p] = I([]), [E, u] = I(!1), { onEvent: t } = O(), {
|
|
19
19
|
get: L,
|
|
20
20
|
data: e,
|
|
21
21
|
isProcessingFailed: d,
|
|
22
22
|
isProcessing: z
|
|
23
|
-
} =
|
|
24
|
-
(r =
|
|
23
|
+
} = R(i), C = U(e == null ? void 0 : e.curr_page), n = _(
|
|
24
|
+
(r = j, o = !1) => {
|
|
25
25
|
o && u(!0), L(i, {
|
|
26
26
|
page: r,
|
|
27
|
-
timezone:
|
|
28
|
-
course_stream: c ===
|
|
27
|
+
timezone: k(),
|
|
28
|
+
course_stream: c === Y.TEACHER ? m : []
|
|
29
29
|
});
|
|
30
30
|
},
|
|
31
31
|
[L, i, c, m]
|
|
@@ -59,17 +59,17 @@ const S = $(
|
|
|
59
59
|
});
|
|
60
60
|
}, [i, t]), f(() => {
|
|
61
61
|
n(1, !1);
|
|
62
|
-
}, [n]), d ? /* @__PURE__ */ s(
|
|
63
|
-
|
|
62
|
+
}, [n]), d ? /* @__PURE__ */ s(W, { height: T ?? "100vh", onTryAgain: x }) : z && !l.length ? /* @__PURE__ */ s(
|
|
63
|
+
b,
|
|
64
64
|
{
|
|
65
65
|
$alignItems: "center",
|
|
66
66
|
$justifyContent: "center",
|
|
67
67
|
$height: T || "100vh",
|
|
68
|
-
children: /* @__PURE__ */ s(
|
|
68
|
+
children: /* @__PURE__ */ s(q, { width: "100%", height: "100%" })
|
|
69
69
|
}
|
|
70
|
-
) : /* @__PURE__ */ s(
|
|
70
|
+
) : /* @__PURE__ */ s(F, { $alignItems: "center", $gapX: 1, children: /* @__PURE__ */ P(V, { children: [
|
|
71
71
|
l.map((r, o) => /* @__PURE__ */ s(D, { children: /* @__PURE__ */ s(
|
|
72
|
-
|
|
72
|
+
G,
|
|
73
73
|
{
|
|
74
74
|
entry: r,
|
|
75
75
|
isFirstElement: o === 0,
|
|
@@ -81,7 +81,7 @@ const S = $(
|
|
|
81
81
|
}
|
|
82
82
|
) }, `timeline-entry-${o}`)),
|
|
83
83
|
/* @__PURE__ */ s(
|
|
84
|
-
|
|
84
|
+
X,
|
|
85
85
|
{
|
|
86
86
|
onLoadMore: v,
|
|
87
87
|
isLoading: E,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-timeline.js","sources":["../../../../src/features/timeline/daily-timeline/daily-timeline.tsx"],"sourcesContent":["import { Fragment, memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport { type ITimelineData, useDailyTimelineGet } from './api/use-daily-timeline-get';\nimport * as Styled from './daily-timeline-styled';\nimport { CARD_TYPE, USER_TYPE, type IDailyTimelineProps } from './daily-timeline-types';\nimport { INITIAL_PAGE } from './comps/constants';\nimport { getTimezone } from '../../../helpers/date-time';\nimport { DAILY_TIMELINE_ANALYTICS_EVENTS } from './daily-timeline-events';\nimport DailyTimelineView from './daily-timeline-view';\nimport { useUIContext } from '../../ui/context/context';\nimport usePrevious from '../../hooks/use-previous';\nimport Error from '../../ui/error/error';\nimport FlexView from '../../ui/layout/flex-view';\nimport IntersectionLoader from '../../ui/intersection-loader/intersection-loader';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\n\nconst DailyTimeline: FC<IDailyTimelineProps> = memo(\n ({ userType, studentId, courseStreams, onPuzzleClick, onReviewClick, scrollAreaHeight }) => {\n const [allTimelineData, setAllTimelineData] = useState<ITimelineData[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const { onEvent: trackEvent } = useUIContext();\n const {\n get: getTimeline,\n data: timelineData,\n isProcessingFailed,\n isProcessing,\n } = useDailyTimelineGet(studentId);\n\n const prevCurrentPage = usePrevious(timelineData?.curr_page);\n\n const fetchTimeline = useCallback(\n (page = INITIAL_PAGE, append = false) => {\n if (append) {\n setIsLoadingMore(true);\n }\n\n getTimeline(studentId, {\n page,\n timezone: getTimezone(),\n course_stream: userType === USER_TYPE.TEACHER ? courseStreams : [],\n });\n },\n [getTimeline, studentId, userType, courseStreams],\n );\n\n const shouldShowTag = useMemo(() => {\n const allCourseStreams = new Set<string>();\n\n allTimelineData.forEach(entry => {\n if (entry.daily_logs) {\n entry.daily_logs.forEach(log => {\n if (log.course_stream && log.course_stream !== CARD_TYPE.CIRCLE) {\n allCourseStreams.add(log.course_stream);\n }\n });\n }\n });\n\n const courseStreamsSet = new Set(\n (courseStreams || []).filter(stream => String(stream) !== CARD_TYPE.CIRCLE),\n );\n\n return (\n courseStreamsSet.size > 1 ||\n allCourseStreams.size > 1 ||\n (courseStreamsSet.size > 0 &&\n allCourseStreams.size > 0 &&\n (courseStreamsSet.size !== allCourseStreams.size ||\n !Array.from(courseStreamsSet).every(stream => allCourseStreams.has(stream))))\n );\n }, [allTimelineData, courseStreams]);\n\n const handleLoadMore = useCallback(() => {\n if (timelineData?.next_page && !isLoadingMore) {\n fetchTimeline(timelineData.next_page, true);\n trackEvent(DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_SCROLLED, {\n student_id: studentId,\n });\n }\n }, [timelineData, studentId, trackEvent, isLoadingMore, fetchTimeline]);\n\n const onTryAgain = useCallback(() => {\n fetchTimeline(1, false);\n setAllTimelineData([]);\n }, [fetchTimeline]);\n\n useEffect(() => {\n if (timelineData) {\n if (timelineData.curr_page === 1) {\n setAllTimelineData(timelineData?.user_logs ?? []);\n } else if (timelineData.curr_page && prevCurrentPage !== timelineData.curr_page) {\n setAllTimelineData(prev => [...prev, ...(timelineData.user_logs ?? [])]);\n setIsLoadingMore(false);\n }\n }\n }, [timelineData, prevCurrentPage]);\n\n useEffect(() => {\n trackEvent(DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEWED, {\n student_id: studentId,\n });\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n return () => {\n trackEvent(DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_CLOSED, {\n student_id: studentId,\n });\n };\n }, [studentId, trackEvent]);\n\n useEffect(() => {\n fetchTimeline(1, false);\n }, [fetchTimeline]);\n\n if (isProcessingFailed) {\n return <Error height={scrollAreaHeight ?? '100vh'} onTryAgain={onTryAgain} />;\n }\n\n if (isProcessing && !allTimelineData.length) {\n return (\n <FlexView\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $height={scrollAreaHeight || '100vh'}\n >\n <AppLoader width=\"100%\" height=\"100%\" />\n </FlexView>\n );\n }\n\n return (\n <Styled.ScrollWrapper $alignItems=\"center\" $gapX={1}>\n <Styled.DailyTimelineContainer>\n {allTimelineData.map((entry, index) => (\n <Fragment key={`timeline-entry-${index}`}>\n <DailyTimelineView\n entry={entry}\n isFirstElement={index === 0}\n shouldShowTag={shouldShowTag}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n userType={userType}\n studentId={studentId}\n />\n </Fragment>\n ))}\n <IntersectionLoader\n onLoadMore={handleLoadMore}\n isLoading={isLoadingMore}\n hasMore={!!timelineData?.next_page}\n />\n </Styled.DailyTimelineContainer>\n </Styled.ScrollWrapper>\n );\n },\n);\n\nDailyTimeline.displayName = 'DailyTimeline';\n\nexport default DailyTimeline;\n"],"names":["DailyTimeline","memo","userType","studentId","courseStreams","onPuzzleClick","onReviewClick","scrollAreaHeight","allTimelineData","setAllTimelineData","useState","isLoadingMore","setIsLoadingMore","trackEvent","useUIContext","getTimeline","timelineData","isProcessingFailed","isProcessing","useDailyTimelineGet","prevCurrentPage","usePrevious","fetchTimeline","useCallback","page","INITIAL_PAGE","append","getTimezone","USER_TYPE","shouldShowTag","useMemo","allCourseStreams","entry","log","CARD_TYPE","courseStreamsSet","stream","handleLoadMore","DAILY_TIMELINE_ANALYTICS_EVENTS","onTryAgain","useEffect","prev","jsx","Error","FlexView","AppLoader","Styled.ScrollWrapper","jsxs","Styled.DailyTimelineContainer","index","Fragment","DailyTimelineView","IntersectionLoader","DailyTimeline$1"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createGetAPI as e } from "@cuemath/rest-api";
|
|
2
|
+
import { BASE_URL_V1 as o } from "../../../../constants/api.js";
|
|
3
|
+
import { stringify as m } from "../../../../helpers/query-string.js";
|
|
4
|
+
const { useGet: p } = e({
|
|
5
|
+
getURL: (r, t) => `${o}/users/${r}/reports/?${m(t)}`
|
|
6
|
+
});
|
|
7
|
+
export {
|
|
8
|
+
p as monthlyTimelineGet
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=use-monthly-timeline-get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-monthly-timeline-get.js","sources":["../../../../../src/features/timeline/monthly-timeline/api/use-monthly-timeline-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../../constants/api';\nimport { type IMonthlyTimeline } from '../monthly-timeline-types';\nimport { stringify } from '../../../../helpers/query-string';\n\ninterface MonthlyTimelineParams {\n course_streams?: string[];\n timezone?: string;\n}\n\nconst { useGet: monthlyTimelineGet } = createGetAPI<IMonthlyTimeline[], MonthlyTimelineParams>({\n getURL: (studentId, params: MonthlyTimelineParams) => {\n return `${BASE_URL_V1}/users/${studentId}/reports/?${stringify(params)}`;\n },\n});\n\nexport { monthlyTimelineGet };\n"],"names":["monthlyTimelineGet","createGetAPI","studentId","params","BASE_URL_V1","stringify"],"mappings":";;;AAWA,MAAM,EAAE,QAAQA,EAAmB,IAAIC,EAAwD;AAAA,EAC7F,QAAQ,CAACC,GAAWC,MACX,GAAGC,CAAW,UAAUF,CAAS,aAAaG,EAAUF,CAAM,CAAC;AAE1E,CAAC;"}
|