@cuemath/leap 3.5.10-mb → 3.5.11-as1
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 +4 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/images/images.js +12 -0
- package/dist/assets/images/images.js.map +1 -1
- package/dist/features/circle-games/hooks/use-circle-sounds/constants.js +7 -5
- package/dist/features/circle-games/hooks/use-circle-sounds/constants.js.map +1 -1
- package/dist/features/circle-games/hooks/use-circle-sounds/helper.js +19 -0
- package/dist/features/circle-games/hooks/use-circle-sounds/helper.js.map +1 -0
- package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +72 -73
- package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
- package/dist/features/timeline/api/use-daily-timeline-get.js +10 -0
- package/dist/features/timeline/api/use-daily-timeline-get.js.map +1 -0
- package/dist/features/timeline/comps/accordion-item/accordion-item.js +67 -0
- package/dist/features/timeline/comps/accordion-item/accordion-item.js.map +1 -0
- package/dist/features/timeline/comps/constants.js +30 -0
- package/dist/features/timeline/comps/constants.js.map +1 -0
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items-styled.js +31 -0
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items-styled.js.map +1 -0
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items.js +117 -0
- package/dist/features/timeline/comps/daily-timeline-items/daily-timeline-items.js.map +1 -0
- package/dist/features/timeline/comps/month-break/month-break-styled.js +12 -0
- package/dist/features/timeline/comps/month-break/month-break-styled.js.map +1 -0
- package/dist/features/timeline/comps/month-break/month-break.js +21 -0
- package/dist/features/timeline/comps/month-break/month-break.js.map +1 -0
- package/dist/features/timeline/comps/no-activity.js +30 -0
- package/dist/features/timeline/comps/no-activity.js.map +1 -0
- package/dist/features/timeline/comps/utils.js +40 -0
- package/dist/features/timeline/comps/utils.js.map +1 -0
- package/dist/features/timeline/comps/year-break/year-break-styled.js +9 -0
- package/dist/features/timeline/comps/year-break/year-break-styled.js.map +1 -0
- package/dist/features/timeline/comps/year-break/year-break.js +14 -0
- package/dist/features/timeline/comps/year-break/year-break.js.map +1 -0
- package/dist/features/timeline/daily-timeline-styled.js +18 -0
- package/dist/features/timeline/daily-timeline-styled.js.map +1 -0
- package/dist/features/timeline/daily-timeline-types.js +7 -0
- package/dist/features/timeline/daily-timeline-types.js.map +1 -0
- package/dist/features/timeline/daily-timeline-view.js +78 -0
- package/dist/features/timeline/daily-timeline-view.js.map +1 -0
- package/dist/features/timeline/daily-timeline.js +108 -0
- package/dist/features/timeline/daily-timeline.js.map +1 -0
- package/dist/features/ui/intersection-loader/intersection-loader.js +47 -0
- package/dist/features/ui/intersection-loader/intersection-loader.js.map +1 -0
- package/dist/features/ui/theme/text.js +15 -0
- package/dist/features/ui/theme/text.js.map +1 -1
- package/dist/index.d.ts +37 -4
- package/dist/index.js +243 -239
- package/dist/index.js.map +1 -1
- package/dist/node_modules/date-fns/endOfDay.js +10 -0
- package/dist/node_modules/date-fns/endOfDay.js.map +1 -0
- package/dist/node_modules/date-fns/endOfMonth.js +10 -0
- package/dist/node_modules/date-fns/endOfMonth.js.map +1 -0
- package/dist/node_modules/date-fns/isLastDayOfMonth.js +12 -0
- package/dist/node_modules/date-fns/isLastDayOfMonth.js.map +1 -0
- package/dist/node_modules/date-fns/parseISO.js +123 -0
- package/dist/node_modules/date-fns/parseISO.js.map +1 -0
- package/dist/static/apr.09a50ff7.png +0 -0
- package/dist/static/aug.7179d37e.png +0 -0
- package/dist/static/circle-icon.1027df3c.svg +1 -0
- package/dist/static/cw-icon.c61f9779.svg +1 -0
- package/dist/static/dec.09f7e315.png +0 -0
- package/dist/static/feb.9e72504d.png +0 -0
- package/dist/static/hw-icon.6d78e885.svg +1 -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/no-activity.0451dcbb.svg +1 -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/package.json +1 -1
|
@@ -36,6 +36,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
36
36
|
CHAPTER_HEADER_BG_2: `${t}static/chapter-header-bg-2.c8d96894.svg`,
|
|
37
37
|
CIRCLE_CUEMATH_LOGO: `${t}static/circle-cuemath-logo.8bcb1ad4.svg`,
|
|
38
38
|
CIRCLE_CUEMATH_LOGO_WHITE: `${t}static/circle-cuemath-logo-white.e9fafb91.svg`,
|
|
39
|
+
CIRCLE_ICON: `${t}static/circle-icon.1027df3c.svg`,
|
|
39
40
|
CIRCLE_OUTERCIRCLE_BG: `${t}static/circle-outercircle-bg.65f21460.svg`,
|
|
40
41
|
CLOCK_ORANGE: `${t}static/clock-orange.c144059b.svg`,
|
|
41
42
|
COMMON: `${t}static/common.9e8ceef1.svg`,
|
|
@@ -46,6 +47,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
46
47
|
CROWN_OVERLAY: `${t}static/crown-overlay.11fb073c.svg`,
|
|
47
48
|
CUECOIN_GOLD: `${t}static/cuecoin-gold.bcb8085e.svg`,
|
|
48
49
|
CUEMATH_APP_QR_CODE: `${t}static/cuemath-app-qr-code.7205ee79.svg`,
|
|
50
|
+
CW_ICON: `${t}static/cw-icon.c61f9779.svg`,
|
|
49
51
|
DESKTOP_WITH_PURPLE_FILL: `${t}static/desktop-with-purple-fill.dfec66cc.svg`,
|
|
50
52
|
DURATION_30MIN_GRAY: `${t}static/duration-30min-gray.f6442df4.svg`,
|
|
51
53
|
DURATION_45MIN_GRAY: `${t}static/duration-45min-gray.ad90fb23.svg`,
|
|
@@ -67,6 +69,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
67
69
|
HANDSHAKE: `${t}static/handshake.287e7dfb.svg`,
|
|
68
70
|
HANDSHAKE_GREEN: `${t}static/handshake-green.f8d24216.svg`,
|
|
69
71
|
HEART_OUTLINED: `${t}static/heart-outlined.5b5415fe.svg`,
|
|
72
|
+
HW_ICON: `${t}static/hw-icon.6d78e885.svg`,
|
|
70
73
|
KNOWLEDGE_BLUE: `${t}static/knowledge-blue.ead536f1.svg`,
|
|
71
74
|
LEARNED_SHIELD_GRAY: `${t}static/learned-shield-gray.1495b0d5.svg`,
|
|
72
75
|
LEARNED_SHIELD_GREEN: `${t}static/learned-shield-green.7c26b423.svg`,
|
|
@@ -102,6 +105,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
102
105
|
NODE_SUBJECTIVE_BG: `${t}static/node-subjective-bg.d6013a16.svg`,
|
|
103
106
|
NODE_TEST_PREP_BG: `${t}static/node-test-prep-bg.42c0b9c4.svg`,
|
|
104
107
|
NODE_VIDEO_BG: `${t}static/node-video-bg.3df3f73a.svg`,
|
|
108
|
+
NO_ACTIVITY: `${t}static/no-activity.0451dcbb.svg`,
|
|
105
109
|
NUMBER_1_ORANGE: `${t}static/number-1-orange.cbf526ed.svg`,
|
|
106
110
|
NUMBER_2_ORANGE: `${t}static/number-2-orange.6f29eb72.svg`,
|
|
107
111
|
NUMBER_3_ORANGE: `${t}static/number-3-orange.58baf717.svg`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"illustrations.js","sources":["../../../src/assets/illustrations/illustrations.ts"],"sourcesContent":["declare global {\n interface Window {\n VITE_PUBLIC_URL: string;\n }\n}\n\nconst PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst ILLUSTRATIONS = {\n ALARM_CLOCK_ORANGE: `${PREFIX}static/alarm-clock-orange.31fb90d9.svg`,\n ALARM_CLOCK_PURPLE: `${PREFIX}static/alarm-clock-purple.06d4911c.svg`,\n ALIEN_1: `${PREFIX}static/alien-1.fc7ba696.svg`,\n ALIEN_2: `${PREFIX}static/alien-2.15fdda07.svg`,\n ALIEN_3: `${PREFIX}static/alien-3.2664a37f.svg`,\n ALIEN_4: `${PREFIX}static/alien-4.06ac66da.svg`,\n ARROW_BOARD_GREEN: `${PREFIX}static/arrow-board-green.11e75bca.svg`,\n BLUE_CLIP: `${PREFIX}static/blue-clip.87cc4543.svg`,\n BOOK_CHECKED_GREEN: `${PREFIX}static/book-checked-green.0436b91e.svg`,\n BOOK_CHECKED_ORANGE: `${PREFIX}static/book-checked-orange.53ea6880.svg`,\n BOOK_CHECKED_PURPLE: `${PREFIX}static/book-checked-purple.df628f3e.svg`,\n BOOK_GREEN: `${PREFIX}static/book-green.20f6eed3.svg`,\n BOOK_OPEN_BLUE: `${PREFIX}static/book-open-blue.d4f8d08c.svg`,\n BOOK_ORANGE: `${PREFIX}static/book-orange.04bdc75e.svg`,\n BOOK_YELLOW: `${PREFIX}static/book-yellow.c210ac06.svg`,\n BULLET_YELLOW: `${PREFIX}static/bullet-yellow.2f892d88.svg`,\n CALENDAR_BLUE: `${PREFIX}static/calendar-blue.e0d52d09.svg`,\n CALENDAR_CHECK_GREEN: `${PREFIX}static/calendar-check-green.ab0e24d2.svg`,\n CALENDAR_CROSS_ORANGE: `${PREFIX}static/calendar-cross-orange.8e7a23bd.svg`,\n CALENDAR_GRAY: `${PREFIX}static/calendar-gray.1c72682a.svg`,\n CALENDAR_GREEN: `${PREFIX}static/calendar-green.a2b6a393.svg`,\n CALENDAR_PURPLE: `${PREFIX}static/calendar-purple.1a840b41.svg`,\n CAUTION: `${PREFIX}static/caution.5766a967.svg`,\n CHAPTER_10: `${PREFIX}static/chapter-10.c97de4a5.svg`,\n CHAPTER_1: `${PREFIX}static/chapter-1.8a1683a0.svg`,\n CHAPTER_2: `${PREFIX}static/chapter-2.71ac6dfc.svg`,\n CHAPTER_3: `${PREFIX}static/chapter-3.003fc901.svg`,\n CHAPTER_4: `${PREFIX}static/chapter-4.8abbacd8.svg`,\n CHAPTER_5: `${PREFIX}static/chapter-5.c774b439.svg`,\n CHAPTER_6: `${PREFIX}static/chapter-6.cb5cf1cb.svg`,\n CHAPTER_7: `${PREFIX}static/chapter-7.57b0beb4.svg`,\n CHAPTER_8: `${PREFIX}static/chapter-8.68d36477.svg`,\n CHAPTER_9: `${PREFIX}static/chapter-9.0c00e26f.svg`,\n CHAPTER_HEADER_BG: `${PREFIX}static/chapter-header-bg.4ed173c2.svg`,\n CHAPTER_HEADER_BG_2: `${PREFIX}static/chapter-header-bg-2.c8d96894.svg`,\n CIRCLE_CUEMATH_LOGO: `${PREFIX}static/circle-cuemath-logo.8bcb1ad4.svg`,\n CIRCLE_CUEMATH_LOGO_WHITE: `${PREFIX}static/circle-cuemath-logo-white.e9fafb91.svg`,\n CIRCLE_OUTERCIRCLE_BG: `${PREFIX}static/circle-outercircle-bg.65f21460.svg`,\n CLOCK_ORANGE: `${PREFIX}static/clock-orange.c144059b.svg`,\n COMMON: `${PREFIX}static/common.9e8ceef1.svg`,\n COMMUNITY_BULB: `${PREFIX}static/community-bulb.3b42af21.svg`,\n COMMUNITY_BULB_YELLOW_2: `${PREFIX}static/community-bulb-yellow-2.f89c30f9.svg`,\n CROSSHAIR_CIRCLE: `${PREFIX}static/crosshair-circle.522a26ea.svg`,\n CROWN: `${PREFIX}static/crown.c18fa217.svg`,\n CROWN_OVERLAY: `${PREFIX}static/crown-overlay.11fb073c.svg`,\n CUECOIN_GOLD: `${PREFIX}static/cuecoin-gold.bcb8085e.svg`,\n CUEMATH_APP_QR_CODE: `${PREFIX}static/cuemath-app-qr-code.7205ee79.svg`,\n DESKTOP_WITH_PURPLE_FILL: `${PREFIX}static/desktop-with-purple-fill.dfec66cc.svg`,\n DURATION_30MIN_GRAY: `${PREFIX}static/duration-30min-gray.f6442df4.svg`,\n DURATION_45MIN_GRAY: `${PREFIX}static/duration-45min-gray.ad90fb23.svg`,\n DURATION_60MIN_GRAY: `${PREFIX}static/duration-60min-gray.874e52a2.svg`,\n DURATION_90MIN_GRAY: `${PREFIX}static/duration-90min-gray.32a04cef.svg`,\n EARTH_GREEN: `${PREFIX}static/earth-green.e1329b7a.svg`,\n ELLIPSE_CLIP: `${PREFIX}static/ellipse-clip.dfb25608.svg`,\n EPIC: `${PREFIX}static/epic.37a0265a.svg`,\n EQUAL_OUTLINED: `${PREFIX}static/equal-outlined.b705bf5d.svg`,\n FEMALE_AVATAR: `${PREFIX}static/female-avatar.b8cd1012.svg`,\n GAME_PLAY: `${PREFIX}static/game-play.4982b0cb.svg`,\n GLOBE_WITH_BLUE_FILL: `${PREFIX}static/globe-with-blue-fill.beae6ca4.svg`,\n GRADE_GRID_BACKGROUND: `${PREFIX}static/grade-grid-background.b17b4ccb.svg`,\n GRADUATE_HAT: `${PREFIX}static/graduate-hat.4b49eb44.svg`,\n GRADUATE_ICON_PINK: `${PREFIX}static/graduate-icon-pink.01fbfb1b.svg`,\n GRADUATE_PINK_FILLED_BG: `${PREFIX}static/graduate-pink-filled-bg.c91e9c53.svg`,\n GREEN_BALLOON: `${PREFIX}static/green-balloon.67ac8587.svg`,\n GREEN_FACE: `${PREFIX}static/green-face.1b4dd82f.svg`,\n HANDSHAKE: `${PREFIX}static/handshake.287e7dfb.svg`,\n HANDSHAKE_GREEN: `${PREFIX}static/handshake-green.f8d24216.svg`,\n HEART_OUTLINED: `${PREFIX}static/heart-outlined.5b5415fe.svg`,\n KNOWLEDGE_BLUE: `${PREFIX}static/knowledge-blue.ead536f1.svg`,\n LEARNED_SHIELD_GRAY: `${PREFIX}static/learned-shield-gray.1495b0d5.svg`,\n LEARNED_SHIELD_GREEN: `${PREFIX}static/learned-shield-green.7c26b423.svg`,\n LEARNING_PUZZLE_BOT: `${PREFIX}static/learning-puzzle-bot.6fe93cf6.svg`,\n LEARNT: `${PREFIX}static/learnt.870c5e38.svg`,\n LEGENDARY: `${PREFIX}static/legendary.f15d09ca.svg`,\n LIKE: `${PREFIX}static/like.cb492460.svg`,\n LIVE_SESSION: `${PREFIX}static/live-session.a0d25c78.svg`,\n LOADER: `${PREFIX}static/loader.52f8c35c.svg`,\n LOADER_1: `${PREFIX}static/loader-1.6524355e.svg`,\n LOCKED: `${PREFIX}static/locked.0c3b7577.svg`,\n MAINTENANCE: `${PREFIX}static/maintenance.a26aca65.svg`,\n MALE_AVATAR: `${PREFIX}static/male-avatar.2febc9eb.svg`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.81f156fb.svg`,\n MASTERED_SHIELD_GRAY: `${PREFIX}static/mastered-shield-gray.a58cbe19.svg`,\n MASTERED_SHIELD_GREEN: `${PREFIX}static/mastered-shield-green.070fa4eb.svg`,\n MENTAL_MATH: `${PREFIX}static/mental-math.3c95f169.svg`,\n MILESTONE_INTRO_1: `${PREFIX}static/milestone-intro-1.281a354c.svg`,\n MILESTONE_INTRO_2: `${PREFIX}static/milestone-intro-2.19faee69.svg`,\n MILESTONE_INTRO_3: `${PREFIX}static/milestone-intro-3.6f6055d6.svg`,\n MISTAKE: `${PREFIX}static/mistake.476d1aa7.svg`,\n MONEY: `${PREFIX}static/money.332aacf1.svg`,\n MYSTERY: `${PREFIX}static/mystery.81ada5fb.svg`,\n MYTHIC: `${PREFIX}static/mythic.58ba0ae0.svg`,\n NODE_ACTIVITY_BG: `${PREFIX}static/node-activity-bg.122f7e01.svg`,\n NODE_CUSTOM_TEST_BG: `${PREFIX}static/node-custom-test-bg.d3b757be.svg`,\n NODE_DOWNLOAD_BG: `${PREFIX}static/node-download-bg.b8367de7.svg`,\n NODE_LEARN_BG: `${PREFIX}static/node-learn-bg.b61f815c.svg`,\n NODE_PRACTICE_BG: `${PREFIX}static/node-practice-bg.16cbaf2a.svg`,\n NODE_PROJECT_BG: `${PREFIX}static/node-project-bg.e6a33e28.svg`,\n NODE_PUZZLE_BG: `${PREFIX}static/node-puzzle-bg.3422135c.svg`,\n NODE_RECAP_BG: `${PREFIX}static/node-recap-bg.546154e4.svg`,\n NODE_SUBJECTIVE_BG: `${PREFIX}static/node-subjective-bg.d6013a16.svg`,\n NODE_TEST_PREP_BG: `${PREFIX}static/node-test-prep-bg.42c0b9c4.svg`,\n NODE_VIDEO_BG: `${PREFIX}static/node-video-bg.3df3f73a.svg`,\n NUMBER_1_ORANGE: `${PREFIX}static/number-1-orange.cbf526ed.svg`,\n NUMBER_2_ORANGE: `${PREFIX}static/number-2-orange.6f29eb72.svg`,\n NUMBER_3_ORANGE: `${PREFIX}static/number-3-orange.58baf717.svg`,\n NUMBER_4_ORANGE: `${PREFIX}static/number-4-orange.5ed1ec5e.svg`,\n ONE_STAR_FILLED: `${PREFIX}static/one-star-filled.b6084257.svg`,\n ORANGE_FACE: `${PREFIX}static/orange-face.5824c2e9.svg`,\n PARENT_AVATAR: `${PREFIX}static/parent-avatar.822c7b9b.svg`,\n PEOPLE_WITH_ORANGE_FILL: `${PREFIX}static/people-with-orange-fill.3835b8f1.svg`,\n PERSONALIZATION: `${PREFIX}static/personalization.7a6c33e8.svg`,\n PLATFORM_GREEN: `${PREFIX}static/platform-green.eb853207.svg`,\n PLATFORM_PURPLE: `${PREFIX}static/platform-purple.ecf6fa46.svg`,\n PLAY: `${PREFIX}static/play.68d16dec.svg`,\n PLAY_ICON: `${PREFIX}static/play-icon.13baaa7d.svg`,\n POINTS_SUM: `${PREFIX}static/points-sum.360e63de.svg`,\n PRACTICED_SHIELD_GREEN: `${PREFIX}static/practiced-shield-green.90278855.svg`,\n PRACTICED_SHIELD_GREY: `${PREFIX}static/practiced-shield-grey.16cf4fe0.svg`,\n PROFICIENT_BADGE: `${PREFIX}static/proficient-badge.1a6dbb72.svg`,\n PROFILE_BOARD: `${PREFIX}static/profile-board.4f4a17e6.svg`,\n PUZZLE: `${PREFIX}static/puzzle.5aad5cf8.svg`,\n PUZZLE_DASHBOARD_BANNER: `${PREFIX}static/puzzle-dashboard-banner.b7956519.svg`,\n PUZZLE_PATTERN_BLUE: `${PREFIX}static/puzzle-pattern-blue.abff0164.svg`,\n PUZZLE_PATTERN_GREEN: `${PREFIX}static/puzzle-pattern-green.b8ba1840.svg`,\n PUZZLE_PATTERN_ORANGE: `${PREFIX}static/puzzle-pattern-orange.3f5a17ff.svg`,\n PUZZLE_PATTERN_PURPLE: `${PREFIX}static/puzzle-pattern-purple.14b09759.svg`,\n PUZZLE_PATTERN_YELLOW: `${PREFIX}static/puzzle-pattern-yellow.50917fab.svg`,\n PUZZLE_STUDENT: `${PREFIX}static/puzzle-student.de530364.svg`,\n RADIAL_GRADIENT_BG: `${PREFIX}static/radial-gradient-bg.5ae0cde5.svg`,\n RADIAL_GRADIENT_BG_2: `${PREFIX}static/radial-gradient-bg-2.6657c758.svg`,\n RARE: `${PREFIX}static/rare.1ffaa311.svg`,\n REFUND_POLICY: `${PREFIX}static/refund-policy.912dbb4c.svg`,\n REFUND_POLICY_WITH_HEADPHONE: `${PREFIX}static/refund-policy-with-headphone.589398e0.svg`,\n REPORT_404: `${PREFIX}static/report-404.dd67785c.svg`,\n ROCKET_BROKEN: `${PREFIX}static/rocket-broken.1f86fa43.svg`,\n ROCKET_YELLOW: `${PREFIX}static/rocket-yellow.62d27e15.svg`,\n SCORE: `${PREFIX}static/score.41971107.svg`,\n SMILEY: `${PREFIX}static/smiley.49bb7d7c.svg`,\n STAR_ORANGE: `${PREFIX}static/star-orange.a91a341f.svg`,\n STAR_ORANGE_FILLED: `${PREFIX}static/star-orange-filled.a7ff9c8f.svg`,\n STAR_OUTLINED: `${PREFIX}static/star-outlined.bde83c7c.svg`,\n STAR_WITH_GREEN_FILL: `${PREFIX}static/star-with-green-fill.86877d41.svg`,\n STREAK_GREEN: `${PREFIX}static/streak-green.b59bf4dd.svg`,\n STREAK_WHITE: `${PREFIX}static/streak-white.2cbdc9b8.svg`,\n STRIPE_BLURPLE: `${PREFIX}static/stripe-blurple.6abf422f.svg`,\n STUDENT_AVATAR: `${PREFIX}static/student-avatar.24bc2875.svg`,\n TEST_DIFFICULTY_EASY: `${PREFIX}static/test-difficulty-easy.56df71dd.svg`,\n TEST_DIFFICULTY_HARD: `${PREFIX}static/test-difficulty-hard.7250f1f4.svg`,\n TEST_DIFFICULTY_MEDIUM: `${PREFIX}static/test-difficulty-medium.2fd9686e.svg`,\n THREE_STARS_FILLED: `${PREFIX}static/three-stars-filled.72b51f03.svg`,\n TICK_GREEN: `${PREFIX}static/tick-green.a1654049.svg`,\n TROPHY_BLUE: `${PREFIX}static/trophy-blue.e684ba4c.svg`,\n TROPHY_BLUE_FILLED: `${PREFIX}static/trophy-blue-filled.7e2b40ab.svg`,\n TROPHY_CIRCLE: `${PREFIX}static/trophy-circle.b7b23e36.svg`,\n TROPHY_GREEN: `${PREFIX}static/trophy-green.6c0741c8.svg`,\n TROPHY_OUTLINED: `${PREFIX}static/trophy-outlined.f946b362.svg`,\n TRUSTPILOT: `${PREFIX}static/trustpilot.bd3d79e1.svg`,\n TWO_STARS_FILLED: `${PREFIX}static/two-stars-filled.a51a14b4.svg`,\n UP_ARROW: `${PREFIX}static/up-arrow.a6946bd3.svg`,\n USER_CROWN_GRID_BACKGROUND: `${PREFIX}static/user-crown-grid-background.c2875a73.svg`,\n USER_DOWN: `${PREFIX}static/user-down.a06f2f94.svg`,\n USER_PIN: `${PREFIX}static/user-pin.5f334465.svg`,\n USER_PROFILE_BACKGROUND: `${PREFIX}static/user-profile-background.199977a9.svg`,\n USER_TYPE_SELECTOR_GRID_BG: `${PREFIX}static/user-type-selector-grid-bg.aad0b059.svg`,\n USER_UP: `${PREFIX}static/user-up.2aecbbae.svg`,\n YELLOW_FACE: `${PREFIX}static/yellow-face.b7525a33.svg`,\n};\n\nexport { ILLUSTRATIONS };\n"],"names":["PREFIX","ILLUSTRATIONS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"illustrations.js","sources":["../../../src/assets/illustrations/illustrations.ts"],"sourcesContent":["declare global {\n interface Window {\n VITE_PUBLIC_URL: string;\n }\n}\n\nconst PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst ILLUSTRATIONS = {\n ALARM_CLOCK_ORANGE: `${PREFIX}static/alarm-clock-orange.31fb90d9.svg`,\n ALARM_CLOCK_PURPLE: `${PREFIX}static/alarm-clock-purple.06d4911c.svg`,\n ALIEN_1: `${PREFIX}static/alien-1.fc7ba696.svg`,\n ALIEN_2: `${PREFIX}static/alien-2.15fdda07.svg`,\n ALIEN_3: `${PREFIX}static/alien-3.2664a37f.svg`,\n ALIEN_4: `${PREFIX}static/alien-4.06ac66da.svg`,\n ARROW_BOARD_GREEN: `${PREFIX}static/arrow-board-green.11e75bca.svg`,\n BLUE_CLIP: `${PREFIX}static/blue-clip.87cc4543.svg`,\n BOOK_CHECKED_GREEN: `${PREFIX}static/book-checked-green.0436b91e.svg`,\n BOOK_CHECKED_ORANGE: `${PREFIX}static/book-checked-orange.53ea6880.svg`,\n BOOK_CHECKED_PURPLE: `${PREFIX}static/book-checked-purple.df628f3e.svg`,\n BOOK_GREEN: `${PREFIX}static/book-green.20f6eed3.svg`,\n BOOK_OPEN_BLUE: `${PREFIX}static/book-open-blue.d4f8d08c.svg`,\n BOOK_ORANGE: `${PREFIX}static/book-orange.04bdc75e.svg`,\n BOOK_YELLOW: `${PREFIX}static/book-yellow.c210ac06.svg`,\n BULLET_YELLOW: `${PREFIX}static/bullet-yellow.2f892d88.svg`,\n CALENDAR_BLUE: `${PREFIX}static/calendar-blue.e0d52d09.svg`,\n CALENDAR_CHECK_GREEN: `${PREFIX}static/calendar-check-green.ab0e24d2.svg`,\n CALENDAR_CROSS_ORANGE: `${PREFIX}static/calendar-cross-orange.8e7a23bd.svg`,\n CALENDAR_GRAY: `${PREFIX}static/calendar-gray.1c72682a.svg`,\n CALENDAR_GREEN: `${PREFIX}static/calendar-green.a2b6a393.svg`,\n CALENDAR_PURPLE: `${PREFIX}static/calendar-purple.1a840b41.svg`,\n CAUTION: `${PREFIX}static/caution.5766a967.svg`,\n CHAPTER_10: `${PREFIX}static/chapter-10.c97de4a5.svg`,\n CHAPTER_1: `${PREFIX}static/chapter-1.8a1683a0.svg`,\n CHAPTER_2: `${PREFIX}static/chapter-2.71ac6dfc.svg`,\n CHAPTER_3: `${PREFIX}static/chapter-3.003fc901.svg`,\n CHAPTER_4: `${PREFIX}static/chapter-4.8abbacd8.svg`,\n CHAPTER_5: `${PREFIX}static/chapter-5.c774b439.svg`,\n CHAPTER_6: `${PREFIX}static/chapter-6.cb5cf1cb.svg`,\n CHAPTER_7: `${PREFIX}static/chapter-7.57b0beb4.svg`,\n CHAPTER_8: `${PREFIX}static/chapter-8.68d36477.svg`,\n CHAPTER_9: `${PREFIX}static/chapter-9.0c00e26f.svg`,\n CHAPTER_HEADER_BG: `${PREFIX}static/chapter-header-bg.4ed173c2.svg`,\n CHAPTER_HEADER_BG_2: `${PREFIX}static/chapter-header-bg-2.c8d96894.svg`,\n CIRCLE_CUEMATH_LOGO: `${PREFIX}static/circle-cuemath-logo.8bcb1ad4.svg`,\n CIRCLE_CUEMATH_LOGO_WHITE: `${PREFIX}static/circle-cuemath-logo-white.e9fafb91.svg`,\n CIRCLE_ICON: `${PREFIX}static/circle-icon.1027df3c.svg`,\n CIRCLE_OUTERCIRCLE_BG: `${PREFIX}static/circle-outercircle-bg.65f21460.svg`,\n CLOCK_ORANGE: `${PREFIX}static/clock-orange.c144059b.svg`,\n COMMON: `${PREFIX}static/common.9e8ceef1.svg`,\n COMMUNITY_BULB: `${PREFIX}static/community-bulb.3b42af21.svg`,\n COMMUNITY_BULB_YELLOW_2: `${PREFIX}static/community-bulb-yellow-2.f89c30f9.svg`,\n CROSSHAIR_CIRCLE: `${PREFIX}static/crosshair-circle.522a26ea.svg`,\n CROWN: `${PREFIX}static/crown.c18fa217.svg`,\n CROWN_OVERLAY: `${PREFIX}static/crown-overlay.11fb073c.svg`,\n CUECOIN_GOLD: `${PREFIX}static/cuecoin-gold.bcb8085e.svg`,\n CUEMATH_APP_QR_CODE: `${PREFIX}static/cuemath-app-qr-code.7205ee79.svg`,\n CW_ICON: `${PREFIX}static/cw-icon.c61f9779.svg`,\n DESKTOP_WITH_PURPLE_FILL: `${PREFIX}static/desktop-with-purple-fill.dfec66cc.svg`,\n DURATION_30MIN_GRAY: `${PREFIX}static/duration-30min-gray.f6442df4.svg`,\n DURATION_45MIN_GRAY: `${PREFIX}static/duration-45min-gray.ad90fb23.svg`,\n DURATION_60MIN_GRAY: `${PREFIX}static/duration-60min-gray.874e52a2.svg`,\n DURATION_90MIN_GRAY: `${PREFIX}static/duration-90min-gray.32a04cef.svg`,\n EARTH_GREEN: `${PREFIX}static/earth-green.e1329b7a.svg`,\n ELLIPSE_CLIP: `${PREFIX}static/ellipse-clip.dfb25608.svg`,\n EPIC: `${PREFIX}static/epic.37a0265a.svg`,\n EQUAL_OUTLINED: `${PREFIX}static/equal-outlined.b705bf5d.svg`,\n FEMALE_AVATAR: `${PREFIX}static/female-avatar.b8cd1012.svg`,\n GAME_PLAY: `${PREFIX}static/game-play.4982b0cb.svg`,\n GLOBE_WITH_BLUE_FILL: `${PREFIX}static/globe-with-blue-fill.beae6ca4.svg`,\n GRADE_GRID_BACKGROUND: `${PREFIX}static/grade-grid-background.b17b4ccb.svg`,\n GRADUATE_HAT: `${PREFIX}static/graduate-hat.4b49eb44.svg`,\n GRADUATE_ICON_PINK: `${PREFIX}static/graduate-icon-pink.01fbfb1b.svg`,\n GRADUATE_PINK_FILLED_BG: `${PREFIX}static/graduate-pink-filled-bg.c91e9c53.svg`,\n GREEN_BALLOON: `${PREFIX}static/green-balloon.67ac8587.svg`,\n GREEN_FACE: `${PREFIX}static/green-face.1b4dd82f.svg`,\n HANDSHAKE: `${PREFIX}static/handshake.287e7dfb.svg`,\n HANDSHAKE_GREEN: `${PREFIX}static/handshake-green.f8d24216.svg`,\n HEART_OUTLINED: `${PREFIX}static/heart-outlined.5b5415fe.svg`,\n HW_ICON: `${PREFIX}static/hw-icon.6d78e885.svg`,\n KNOWLEDGE_BLUE: `${PREFIX}static/knowledge-blue.ead536f1.svg`,\n LEARNED_SHIELD_GRAY: `${PREFIX}static/learned-shield-gray.1495b0d5.svg`,\n LEARNED_SHIELD_GREEN: `${PREFIX}static/learned-shield-green.7c26b423.svg`,\n LEARNING_PUZZLE_BOT: `${PREFIX}static/learning-puzzle-bot.6fe93cf6.svg`,\n LEARNT: `${PREFIX}static/learnt.870c5e38.svg`,\n LEGENDARY: `${PREFIX}static/legendary.f15d09ca.svg`,\n LIKE: `${PREFIX}static/like.cb492460.svg`,\n LIVE_SESSION: `${PREFIX}static/live-session.a0d25c78.svg`,\n LOADER: `${PREFIX}static/loader.52f8c35c.svg`,\n LOADER_1: `${PREFIX}static/loader-1.6524355e.svg`,\n LOCKED: `${PREFIX}static/locked.0c3b7577.svg`,\n MAINTENANCE: `${PREFIX}static/maintenance.a26aca65.svg`,\n MALE_AVATAR: `${PREFIX}static/male-avatar.2febc9eb.svg`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.81f156fb.svg`,\n MASTERED_SHIELD_GRAY: `${PREFIX}static/mastered-shield-gray.a58cbe19.svg`,\n MASTERED_SHIELD_GREEN: `${PREFIX}static/mastered-shield-green.070fa4eb.svg`,\n MENTAL_MATH: `${PREFIX}static/mental-math.3c95f169.svg`,\n MILESTONE_INTRO_1: `${PREFIX}static/milestone-intro-1.281a354c.svg`,\n MILESTONE_INTRO_2: `${PREFIX}static/milestone-intro-2.19faee69.svg`,\n MILESTONE_INTRO_3: `${PREFIX}static/milestone-intro-3.6f6055d6.svg`,\n MISTAKE: `${PREFIX}static/mistake.476d1aa7.svg`,\n MONEY: `${PREFIX}static/money.332aacf1.svg`,\n MYSTERY: `${PREFIX}static/mystery.81ada5fb.svg`,\n MYTHIC: `${PREFIX}static/mythic.58ba0ae0.svg`,\n NODE_ACTIVITY_BG: `${PREFIX}static/node-activity-bg.122f7e01.svg`,\n NODE_CUSTOM_TEST_BG: `${PREFIX}static/node-custom-test-bg.d3b757be.svg`,\n NODE_DOWNLOAD_BG: `${PREFIX}static/node-download-bg.b8367de7.svg`,\n NODE_LEARN_BG: `${PREFIX}static/node-learn-bg.b61f815c.svg`,\n NODE_PRACTICE_BG: `${PREFIX}static/node-practice-bg.16cbaf2a.svg`,\n NODE_PROJECT_BG: `${PREFIX}static/node-project-bg.e6a33e28.svg`,\n NODE_PUZZLE_BG: `${PREFIX}static/node-puzzle-bg.3422135c.svg`,\n NODE_RECAP_BG: `${PREFIX}static/node-recap-bg.546154e4.svg`,\n NODE_SUBJECTIVE_BG: `${PREFIX}static/node-subjective-bg.d6013a16.svg`,\n NODE_TEST_PREP_BG: `${PREFIX}static/node-test-prep-bg.42c0b9c4.svg`,\n NODE_VIDEO_BG: `${PREFIX}static/node-video-bg.3df3f73a.svg`,\n NO_ACTIVITY: `${PREFIX}static/no-activity.0451dcbb.svg`,\n NUMBER_1_ORANGE: `${PREFIX}static/number-1-orange.cbf526ed.svg`,\n NUMBER_2_ORANGE: `${PREFIX}static/number-2-orange.6f29eb72.svg`,\n NUMBER_3_ORANGE: `${PREFIX}static/number-3-orange.58baf717.svg`,\n NUMBER_4_ORANGE: `${PREFIX}static/number-4-orange.5ed1ec5e.svg`,\n ONE_STAR_FILLED: `${PREFIX}static/one-star-filled.b6084257.svg`,\n ORANGE_FACE: `${PREFIX}static/orange-face.5824c2e9.svg`,\n PARENT_AVATAR: `${PREFIX}static/parent-avatar.822c7b9b.svg`,\n PEOPLE_WITH_ORANGE_FILL: `${PREFIX}static/people-with-orange-fill.3835b8f1.svg`,\n PERSONALIZATION: `${PREFIX}static/personalization.7a6c33e8.svg`,\n PLATFORM_GREEN: `${PREFIX}static/platform-green.eb853207.svg`,\n PLATFORM_PURPLE: `${PREFIX}static/platform-purple.ecf6fa46.svg`,\n PLAY: `${PREFIX}static/play.68d16dec.svg`,\n PLAY_ICON: `${PREFIX}static/play-icon.13baaa7d.svg`,\n POINTS_SUM: `${PREFIX}static/points-sum.360e63de.svg`,\n PRACTICED_SHIELD_GREEN: `${PREFIX}static/practiced-shield-green.90278855.svg`,\n PRACTICED_SHIELD_GREY: `${PREFIX}static/practiced-shield-grey.16cf4fe0.svg`,\n PROFICIENT_BADGE: `${PREFIX}static/proficient-badge.1a6dbb72.svg`,\n PROFILE_BOARD: `${PREFIX}static/profile-board.4f4a17e6.svg`,\n PUZZLE: `${PREFIX}static/puzzle.5aad5cf8.svg`,\n PUZZLE_DASHBOARD_BANNER: `${PREFIX}static/puzzle-dashboard-banner.b7956519.svg`,\n PUZZLE_PATTERN_BLUE: `${PREFIX}static/puzzle-pattern-blue.abff0164.svg`,\n PUZZLE_PATTERN_GREEN: `${PREFIX}static/puzzle-pattern-green.b8ba1840.svg`,\n PUZZLE_PATTERN_ORANGE: `${PREFIX}static/puzzle-pattern-orange.3f5a17ff.svg`,\n PUZZLE_PATTERN_PURPLE: `${PREFIX}static/puzzle-pattern-purple.14b09759.svg`,\n PUZZLE_PATTERN_YELLOW: `${PREFIX}static/puzzle-pattern-yellow.50917fab.svg`,\n PUZZLE_STUDENT: `${PREFIX}static/puzzle-student.de530364.svg`,\n RADIAL_GRADIENT_BG: `${PREFIX}static/radial-gradient-bg.5ae0cde5.svg`,\n RADIAL_GRADIENT_BG_2: `${PREFIX}static/radial-gradient-bg-2.6657c758.svg`,\n RARE: `${PREFIX}static/rare.1ffaa311.svg`,\n REFUND_POLICY: `${PREFIX}static/refund-policy.912dbb4c.svg`,\n REFUND_POLICY_WITH_HEADPHONE: `${PREFIX}static/refund-policy-with-headphone.589398e0.svg`,\n REPORT_404: `${PREFIX}static/report-404.dd67785c.svg`,\n ROCKET_BROKEN: `${PREFIX}static/rocket-broken.1f86fa43.svg`,\n ROCKET_YELLOW: `${PREFIX}static/rocket-yellow.62d27e15.svg`,\n SCORE: `${PREFIX}static/score.41971107.svg`,\n SMILEY: `${PREFIX}static/smiley.49bb7d7c.svg`,\n STAR_ORANGE: `${PREFIX}static/star-orange.a91a341f.svg`,\n STAR_ORANGE_FILLED: `${PREFIX}static/star-orange-filled.a7ff9c8f.svg`,\n STAR_OUTLINED: `${PREFIX}static/star-outlined.bde83c7c.svg`,\n STAR_WITH_GREEN_FILL: `${PREFIX}static/star-with-green-fill.86877d41.svg`,\n STREAK_GREEN: `${PREFIX}static/streak-green.b59bf4dd.svg`,\n STREAK_WHITE: `${PREFIX}static/streak-white.2cbdc9b8.svg`,\n STRIPE_BLURPLE: `${PREFIX}static/stripe-blurple.6abf422f.svg`,\n STUDENT_AVATAR: `${PREFIX}static/student-avatar.24bc2875.svg`,\n TEST_DIFFICULTY_EASY: `${PREFIX}static/test-difficulty-easy.56df71dd.svg`,\n TEST_DIFFICULTY_HARD: `${PREFIX}static/test-difficulty-hard.7250f1f4.svg`,\n TEST_DIFFICULTY_MEDIUM: `${PREFIX}static/test-difficulty-medium.2fd9686e.svg`,\n THREE_STARS_FILLED: `${PREFIX}static/three-stars-filled.72b51f03.svg`,\n TICK_GREEN: `${PREFIX}static/tick-green.a1654049.svg`,\n TROPHY_BLUE: `${PREFIX}static/trophy-blue.e684ba4c.svg`,\n TROPHY_BLUE_FILLED: `${PREFIX}static/trophy-blue-filled.7e2b40ab.svg`,\n TROPHY_CIRCLE: `${PREFIX}static/trophy-circle.b7b23e36.svg`,\n TROPHY_GREEN: `${PREFIX}static/trophy-green.6c0741c8.svg`,\n TROPHY_OUTLINED: `${PREFIX}static/trophy-outlined.f946b362.svg`,\n TRUSTPILOT: `${PREFIX}static/trustpilot.bd3d79e1.svg`,\n TWO_STARS_FILLED: `${PREFIX}static/two-stars-filled.a51a14b4.svg`,\n UP_ARROW: `${PREFIX}static/up-arrow.a6946bd3.svg`,\n USER_CROWN_GRID_BACKGROUND: `${PREFIX}static/user-crown-grid-background.c2875a73.svg`,\n USER_DOWN: `${PREFIX}static/user-down.a06f2f94.svg`,\n USER_PIN: `${PREFIX}static/user-pin.5f334465.svg`,\n USER_PROFILE_BACKGROUND: `${PREFIX}static/user-profile-background.199977a9.svg`,\n USER_TYPE_SELECTOR_GRID_BG: `${PREFIX}static/user-type-selector-grid-bg.aad0b059.svg`,\n USER_UP: `${PREFIX}static/user-up.2aecbbae.svg`,\n YELLOW_FACE: `${PREFIX}static/yellow-face.b7525a33.svg`,\n};\n\nexport { ILLUSTRATIONS };\n"],"names":["PREFIX","ILLUSTRATIONS"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
2
2
|
ACHIEVEMENT_BG: `${t}static/achievement_bg.0d0555ac.png`,
|
|
3
|
+
APR: `${t}static/apr.09a50ff7.png`,
|
|
3
4
|
ASHTA: `${t}static/ashta.0d3926b2.png`,
|
|
5
|
+
AUG: `${t}static/aug.7179d37e.png`,
|
|
4
6
|
AWESOME: `${t}static/awesome.8e1cf046.png`,
|
|
5
7
|
BADGE_SUCCESS: `${t}static/badge_success.2f6c8e65.png`,
|
|
6
8
|
BG_EMPTY_RESOURCES: `${t}static/bg_empty_resources.63b187fd.png`,
|
|
@@ -11,19 +13,28 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
11
13
|
CONGRATS: `${t}static/congrats.75718de8.png`,
|
|
12
14
|
COOL: `${t}static/cool.1893941c.png`,
|
|
13
15
|
COSA: `${t}static/cosa.46c0c49b.png`,
|
|
16
|
+
DEC: `${t}static/dec.09f7e315.png`,
|
|
14
17
|
DEFAULT_CHAPTER: `${t}static/default-chapter.8ede1160.png`,
|
|
15
18
|
DODA: `${t}static/doda.3103971c.png`,
|
|
16
19
|
DVI: `${t}static/dvi.fc7b32a5.png`,
|
|
17
20
|
EKA: `${t}static/eka.b10a06fa.png`,
|
|
18
21
|
EMPTY_MIX_TESTS: `${t}static/empty_mix_tests.1d251f07.png`,
|
|
22
|
+
FEB: `${t}static/feb.9e72504d.png`,
|
|
19
23
|
GREAT: `${t}static/great.2a5dcc34.png`,
|
|
20
24
|
GREEN_BELT: `${t}static/green-belt.5501296f.png`,
|
|
21
25
|
HEXO: `${t}static/hexo.eab4b9f5.png`,
|
|
26
|
+
JAN: `${t}static/jan.da91944a.png`,
|
|
27
|
+
JUL: `${t}static/jul.5a1c4932.png`,
|
|
28
|
+
JUN: `${t}static/jun.62639c2f.png`,
|
|
22
29
|
KUDOS: `${t}static/kudos.b7e2aeb6.png`,
|
|
23
30
|
LEARNING_PLAN: `${t}static/learning-plan.72d64a61.png`,
|
|
24
31
|
LESSON_OVERVIEW_BANNER: `${t}static/lesson-overview-banner.f5404af6.png`,
|
|
32
|
+
MAR: `${t}static/mar.f51bcfa6.png`,
|
|
25
33
|
MASTERED_BADGE: `${t}static/mastered-badge.91d25e92.png`,
|
|
34
|
+
MAY: `${t}static/may.7c542020.png`,
|
|
35
|
+
NOV: `${t}static/nov.058343e7.png`,
|
|
26
36
|
NO_INFO: `${t}static/no-info.f4bfe437.png`,
|
|
37
|
+
OCT: `${t}static/oct.573ee19d.png`,
|
|
27
38
|
OCTO: `${t}static/octo.3020bd93.png`,
|
|
28
39
|
ORANGE_BELT: `${t}static/orange-belt.1fefcc8c.png`,
|
|
29
40
|
PURPLE_BELT: `${t}static/purple-belt.e15611b4.png`,
|
|
@@ -31,6 +42,7 @@ const t = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : "/", a = {
|
|
|
31
42
|
PUZZLE_CARD_HARD: `${t}static/puzzle_card_hard.185a19c4.png`,
|
|
32
43
|
PUZZLE_CARD_MEDIUM: `${t}static/puzzle_card_medium.17daef9c.png`,
|
|
33
44
|
RED_BELT: `${t}static/red-belt.11f841d9.png`,
|
|
45
|
+
SEP: `${t}static/sep.3ccb6468.png`,
|
|
34
46
|
SHARED: `${t}static/shared.3af01b49.png`,
|
|
35
47
|
SHEET_REFERENCE: `${t}static/sheet-reference.9da7a09f.png`,
|
|
36
48
|
SPIRAL_PATTERN: `${t}static/spiral_pattern.9fd3e6e9.png`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","sources":["../../../src/assets/images/images.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst IMAGES = {\n ACHIEVEMENT_BG: `${PREFIX}static/achievement_bg.0d0555ac.png`,\n ASHTA: `${PREFIX}static/ashta.0d3926b2.png`,\n AWESOME: `${PREFIX}static/awesome.8e1cf046.png`,\n BADGE_SUCCESS: `${PREFIX}static/badge_success.2f6c8e65.png`,\n BG_EMPTY_RESOURCES: `${PREFIX}static/bg_empty_resources.63b187fd.png`,\n BLACK_BELT: `${PREFIX}static/black-belt.81b3ebf9.png`,\n BLUE_BELT: `${PREFIX}static/blue-belt.508a1b4b.png`,\n BROWN_BELT: `${PREFIX}static/brown-belt.09bb7e93.png`,\n CHATVA: `${PREFIX}static/chatva.d0c57a95.png`,\n CONGRATS: `${PREFIX}static/congrats.75718de8.png`,\n COOL: `${PREFIX}static/cool.1893941c.png`,\n COSA: `${PREFIX}static/cosa.46c0c49b.png`,\n DEFAULT_CHAPTER: `${PREFIX}static/default-chapter.8ede1160.png`,\n DODA: `${PREFIX}static/doda.3103971c.png`,\n DVI: `${PREFIX}static/dvi.fc7b32a5.png`,\n EKA: `${PREFIX}static/eka.b10a06fa.png`,\n EMPTY_MIX_TESTS: `${PREFIX}static/empty_mix_tests.1d251f07.png`,\n GREAT: `${PREFIX}static/great.2a5dcc34.png`,\n GREEN_BELT: `${PREFIX}static/green-belt.5501296f.png`,\n HEXO: `${PREFIX}static/hexo.eab4b9f5.png`,\n KUDOS: `${PREFIX}static/kudos.b7e2aeb6.png`,\n LEARNING_PLAN: `${PREFIX}static/learning-plan.72d64a61.png`,\n LESSON_OVERVIEW_BANNER: `${PREFIX}static/lesson-overview-banner.f5404af6.png`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.91d25e92.png`,\n NO_INFO: `${PREFIX}static/no-info.f4bfe437.png`,\n OCTO: `${PREFIX}static/octo.3020bd93.png`,\n ORANGE_BELT: `${PREFIX}static/orange-belt.1fefcc8c.png`,\n PURPLE_BELT: `${PREFIX}static/purple-belt.e15611b4.png`,\n PUZZLE_CARD_EASY: `${PREFIX}static/puzzle_card_easy.7d9439b5.png`,\n PUZZLE_CARD_HARD: `${PREFIX}static/puzzle_card_hard.185a19c4.png`,\n PUZZLE_CARD_MEDIUM: `${PREFIX}static/puzzle_card_medium.17daef9c.png`,\n RED_BELT: `${PREFIX}static/red-belt.11f841d9.png`,\n SHARED: `${PREFIX}static/shared.3af01b49.png`,\n SHEET_REFERENCE: `${PREFIX}static/sheet-reference.9da7a09f.png`,\n SPIRAL_PATTERN: `${PREFIX}static/spiral_pattern.9fd3e6e9.png`,\n TETRA: `${PREFIX}static/tetra.354ff2b9.png`,\n WHITE_BELT: `${PREFIX}static/white-belt.ea93103e.png`,\n WOW: `${PREFIX}static/wow.864fbb02.png`,\n YELLOW_BELT: `${PREFIX}static/yellow-belt.0c47b8cc.png`,\n ZODASA: `${PREFIX}static/zodasa.336c3bb0.png`,\n};\n\nexport { IMAGES };\n"],"names":["PREFIX","IMAGES"],"mappings":"AAAA,MAAMA,IAAS,OAAO,kBAAkB,OAAO,kBAAkB,KAG3DC,IAAS;AAAA,EACb,gBAAgB,GAAGD,CAAM;AAAA,EACzB,OAAO,GAAGA,CAAM;AAAA,EAChB,SAAS,GAAGA,CAAM;AAAA,EAClB,eAAe,GAAGA,CAAM;AAAA,EACxB,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,YAAY,GAAGA,CAAM;AAAA,EACrB,WAAW,GAAGA,CAAM;AAAA,EACpB,YAAY,GAAGA,CAAM;AAAA,EACrB,QAAQ,GAAGA,CAAM;AAAA,EACjB,UAAU,GAAGA,CAAM;AAAA,EACnB,MAAM,GAAGA,CAAM;AAAA,EACf,MAAM,GAAGA,CAAM;AAAA,EACf,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,MAAM,GAAGA,CAAM;AAAA,EACf,OAAO,GAAGA,CAAM;AAAA,EAChB,eAAe,GAAGA,CAAM;AAAA,EACxB,wBAAwB,GAAGA,CAAM;AAAA,EACjC,gBAAgB,GAAGA,CAAM;AAAA,EACzB,SAAS,GAAGA,CAAM;AAAA,EAClB,MAAM,GAAGA,CAAM;AAAA,EACf,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,UAAU,GAAGA,CAAM;AAAA,EACnB,QAAQ,GAAGA,CAAM;AAAA,EACjB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,gBAAgB,GAAGA,CAAM;AAAA,EACzB,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,KAAK,GAAGA,CAAM;AAAA,EACd,aAAa,GAAGA,CAAM;AAAA,EACtB,QAAQ,GAAGA,CAAM;AACnB;"}
|
|
1
|
+
{"version":3,"file":"images.js","sources":["../../../src/assets/images/images.ts"],"sourcesContent":["const PREFIX = window.VITE_PUBLIC_URL ? window.VITE_PUBLIC_URL : '/';\n\n// Must be alphabetical order\nconst IMAGES = {\n ACHIEVEMENT_BG: `${PREFIX}static/achievement_bg.0d0555ac.png`,\n APR: `${PREFIX}static/apr.09a50ff7.png`,\n ASHTA: `${PREFIX}static/ashta.0d3926b2.png`,\n AUG: `${PREFIX}static/aug.7179d37e.png`,\n AWESOME: `${PREFIX}static/awesome.8e1cf046.png`,\n BADGE_SUCCESS: `${PREFIX}static/badge_success.2f6c8e65.png`,\n BG_EMPTY_RESOURCES: `${PREFIX}static/bg_empty_resources.63b187fd.png`,\n BLACK_BELT: `${PREFIX}static/black-belt.81b3ebf9.png`,\n BLUE_BELT: `${PREFIX}static/blue-belt.508a1b4b.png`,\n BROWN_BELT: `${PREFIX}static/brown-belt.09bb7e93.png`,\n CHATVA: `${PREFIX}static/chatva.d0c57a95.png`,\n CONGRATS: `${PREFIX}static/congrats.75718de8.png`,\n COOL: `${PREFIX}static/cool.1893941c.png`,\n COSA: `${PREFIX}static/cosa.46c0c49b.png`,\n DEC: `${PREFIX}static/dec.09f7e315.png`,\n DEFAULT_CHAPTER: `${PREFIX}static/default-chapter.8ede1160.png`,\n DODA: `${PREFIX}static/doda.3103971c.png`,\n DVI: `${PREFIX}static/dvi.fc7b32a5.png`,\n EKA: `${PREFIX}static/eka.b10a06fa.png`,\n EMPTY_MIX_TESTS: `${PREFIX}static/empty_mix_tests.1d251f07.png`,\n FEB: `${PREFIX}static/feb.9e72504d.png`,\n GREAT: `${PREFIX}static/great.2a5dcc34.png`,\n GREEN_BELT: `${PREFIX}static/green-belt.5501296f.png`,\n HEXO: `${PREFIX}static/hexo.eab4b9f5.png`,\n JAN: `${PREFIX}static/jan.da91944a.png`,\n JUL: `${PREFIX}static/jul.5a1c4932.png`,\n JUN: `${PREFIX}static/jun.62639c2f.png`,\n KUDOS: `${PREFIX}static/kudos.b7e2aeb6.png`,\n LEARNING_PLAN: `${PREFIX}static/learning-plan.72d64a61.png`,\n LESSON_OVERVIEW_BANNER: `${PREFIX}static/lesson-overview-banner.f5404af6.png`,\n MAR: `${PREFIX}static/mar.f51bcfa6.png`,\n MASTERED_BADGE: `${PREFIX}static/mastered-badge.91d25e92.png`,\n MAY: `${PREFIX}static/may.7c542020.png`,\n NOV: `${PREFIX}static/nov.058343e7.png`,\n NO_INFO: `${PREFIX}static/no-info.f4bfe437.png`,\n OCT: `${PREFIX}static/oct.573ee19d.png`,\n OCTO: `${PREFIX}static/octo.3020bd93.png`,\n ORANGE_BELT: `${PREFIX}static/orange-belt.1fefcc8c.png`,\n PURPLE_BELT: `${PREFIX}static/purple-belt.e15611b4.png`,\n PUZZLE_CARD_EASY: `${PREFIX}static/puzzle_card_easy.7d9439b5.png`,\n PUZZLE_CARD_HARD: `${PREFIX}static/puzzle_card_hard.185a19c4.png`,\n PUZZLE_CARD_MEDIUM: `${PREFIX}static/puzzle_card_medium.17daef9c.png`,\n RED_BELT: `${PREFIX}static/red-belt.11f841d9.png`,\n SEP: `${PREFIX}static/sep.3ccb6468.png`,\n SHARED: `${PREFIX}static/shared.3af01b49.png`,\n SHEET_REFERENCE: `${PREFIX}static/sheet-reference.9da7a09f.png`,\n SPIRAL_PATTERN: `${PREFIX}static/spiral_pattern.9fd3e6e9.png`,\n TETRA: `${PREFIX}static/tetra.354ff2b9.png`,\n WHITE_BELT: `${PREFIX}static/white-belt.ea93103e.png`,\n WOW: `${PREFIX}static/wow.864fbb02.png`,\n YELLOW_BELT: `${PREFIX}static/yellow-belt.0c47b8cc.png`,\n ZODASA: `${PREFIX}static/zodasa.336c3bb0.png`,\n};\n\nexport { IMAGES };\n"],"names":["PREFIX","IMAGES"],"mappings":"AAAA,MAAMA,IAAS,OAAO,kBAAkB,OAAO,kBAAkB,KAG3DC,IAAS;AAAA,EACb,gBAAgB,GAAGD,CAAM;AAAA,EACzB,KAAK,GAAGA,CAAM;AAAA,EACd,OAAO,GAAGA,CAAM;AAAA,EAChB,KAAK,GAAGA,CAAM;AAAA,EACd,SAAS,GAAGA,CAAM;AAAA,EAClB,eAAe,GAAGA,CAAM;AAAA,EACxB,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,YAAY,GAAGA,CAAM;AAAA,EACrB,WAAW,GAAGA,CAAM;AAAA,EACpB,YAAY,GAAGA,CAAM;AAAA,EACrB,QAAQ,GAAGA,CAAM;AAAA,EACjB,UAAU,GAAGA,CAAM;AAAA,EACnB,MAAM,GAAGA,CAAM;AAAA,EACf,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,KAAK,GAAGA,CAAM;AAAA,EACd,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,MAAM,GAAGA,CAAM;AAAA,EACf,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,OAAO,GAAGA,CAAM;AAAA,EAChB,eAAe,GAAGA,CAAM;AAAA,EACxB,wBAAwB,GAAGA,CAAM;AAAA,EACjC,KAAK,GAAGA,CAAM;AAAA,EACd,gBAAgB,GAAGA,CAAM;AAAA,EACzB,KAAK,GAAGA,CAAM;AAAA,EACd,KAAK,GAAGA,CAAM;AAAA,EACd,SAAS,GAAGA,CAAM;AAAA,EAClB,KAAK,GAAGA,CAAM;AAAA,EACd,MAAM,GAAGA,CAAM;AAAA,EACf,aAAa,GAAGA,CAAM;AAAA,EACtB,aAAa,GAAGA,CAAM;AAAA,EACtB,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,kBAAkB,GAAGA,CAAM;AAAA,EAC3B,oBAAoB,GAAGA,CAAM;AAAA,EAC7B,UAAU,GAAGA,CAAM;AAAA,EACnB,KAAK,GAAGA,CAAM;AAAA,EACd,QAAQ,GAAGA,CAAM;AAAA,EACjB,iBAAiB,GAAGA,CAAM;AAAA,EAC1B,gBAAgB,GAAGA,CAAM;AAAA,EACzB,OAAO,GAAGA,CAAM;AAAA,EAChB,YAAY,GAAGA,CAAM;AAAA,EACrB,KAAK,GAAGA,CAAM;AAAA,EACd,aAAa,GAAGA,CAAM;AAAA,EACtB,QAAQ,GAAGA,CAAM;AACnB;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CircleSoundKey as c } from "./use-circle-sounds-enums.js";
|
|
2
|
-
const e = "https://cuemath-circle.s3.ap-southeast-1.amazonaws.com/assets/sounds/production", r = "https://static.cuemath.com/static/sounds",
|
|
2
|
+
const e = "https://cuemath-circle.s3.ap-southeast-1.amazonaws.com/assets/sounds/production", r = "https://static.cuemath.com/static/sounds", t = {
|
|
3
3
|
[c.BACKGROUND]: `${e}/bg-sound.mp3`,
|
|
4
4
|
[c.BACKGROUND_RUSHHOUR]: `${e}/circle-background-rushhour.mp3`,
|
|
5
5
|
[c.TUTORIAL]: `${e}/bg-sound-tutorials.mp3`,
|
|
@@ -28,14 +28,16 @@ const e = "https://cuemath-circle.s3.ap-southeast-1.amazonaws.com/assets/sounds/
|
|
|
28
28
|
[c.ALL_DONE]: `${e}/all-done.mp3`,
|
|
29
29
|
[c.DOING_GREAT]: `${e}/doing-great.mp3`,
|
|
30
30
|
[c.KEEP_IT_UP]: `${e}/keep-it-up.mp3`
|
|
31
|
-
},
|
|
31
|
+
}, i = [
|
|
32
32
|
c.SWIPE_04,
|
|
33
33
|
c.SWIPE_02,
|
|
34
34
|
c.SWIPE_03,
|
|
35
35
|
c.SWIPE_01
|
|
36
|
-
];
|
|
36
|
+
], _ = 100, s = 0.1;
|
|
37
37
|
export {
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
t as CircleSoundKeyMapper,
|
|
39
|
+
i as SWIPE_SOUND_ORDER,
|
|
40
|
+
_ as VOLUME_FADE_DURATION,
|
|
41
|
+
s as VOLUME_TO_CHANGE
|
|
40
42
|
};
|
|
41
43
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../src/features/circle-games/hooks/use-circle-sounds/constants.ts"],"sourcesContent":["import { CircleSoundKey } from './use-circle-sounds-enums';\n\nconst BASE_URL = 'https://cuemath-circle.s3.ap-southeast-1.amazonaws.com/assets/sounds/production';\n\nconst STATIC_BASE_URL = 'https://static.cuemath.com/static/sounds';\n\nexport const CircleSoundKeyMapper = {\n [CircleSoundKey.BACKGROUND]: `${BASE_URL}/bg-sound.mp3`,\n [CircleSoundKey.BACKGROUND_RUSHHOUR]: `${BASE_URL}/circle-background-rushhour.mp3`,\n [CircleSoundKey.TUTORIAL]: `${BASE_URL}/bg-sound-tutorials.mp3`,\n [CircleSoundKey.SWIPE_01]: `${BASE_URL}/circle-swipe-1.wav`,\n [CircleSoundKey.SWIPE_02]: `${BASE_URL}/circle-swipe-2.wav`,\n [CircleSoundKey.SWIPE_03]: `${BASE_URL}/circle-swipe-3.wav`,\n [CircleSoundKey.SWIPE_04]: `${BASE_URL}/circle-swipe-4.wav`,\n [CircleSoundKey.SWIPE_DOWN]: `${BASE_URL}/circle-swipe-down-1.wav`,\n [CircleSoundKey.TOGGLE]: `${BASE_URL}/circle-button-v3.wav`,\n [CircleSoundKey.POINTS_AWARDED]: `${BASE_URL}/circle-points-v1.wav`,\n [CircleSoundKey.POINTS_ADDED]: `${BASE_URL}/circle-points-add-v1.wav`,\n [CircleSoundKey.GAME_CARD_CLICK]: `${BASE_URL}/circle-gamecard-button-v1.wav`,\n [CircleSoundKey.CLOCK_IN]: `${BASE_URL}/circle-meter-v1.wav`,\n [CircleSoundKey.CLOCK_OUT]: `${BASE_URL}/circle-disappear-v1.wav`,\n [CircleSoundKey.ACCURACY_IN]: `${BASE_URL}/circle-meter-v1.wav`,\n [CircleSoundKey.ACCURACY_OUT]: `${BASE_URL}/circle-disappear-v1.wav`,\n [CircleSoundKey.STREAK_IN]: `${BASE_URL}/circle-streak-v1.wav`,\n [CircleSoundKey.STREAK_OUT]: `${BASE_URL}/circle-disappear-v1.wav`,\n [CircleSoundKey.ACCURACY_INTRO]: `${STATIC_BASE_URL}/accuracy-intro.mp3`,\n [CircleSoundKey.ACCURACY_TARGET]: `${STATIC_BASE_URL}/accuracy-target.mp3`,\n [CircleSoundKey.TIME_INTRO]: `${STATIC_BASE_URL}/timer-intro.mp3`,\n [CircleSoundKey.TIME_TARGET]: `${STATIC_BASE_URL}/timer-target.mp3`,\n [CircleSoundKey.METER_FILL]: `${STATIC_BASE_URL}/meter-fill.mp3`,\n [CircleSoundKey.YOUR_SCORE]: `${BASE_URL}/your-score.mp3`,\n [CircleSoundKey.HIGH_SCORE]: `${BASE_URL}/high-score.mp3`,\n [CircleSoundKey.ALL_DONE]: `${BASE_URL}/all-done.mp3`,\n [CircleSoundKey.DOING_GREAT]: `${BASE_URL}/doing-great.mp3`,\n [CircleSoundKey.KEEP_IT_UP]: `${BASE_URL}/keep-it-up.mp3`,\n};\n\nexport const SWIPE_SOUND_ORDER = [\n CircleSoundKey.SWIPE_04,\n CircleSoundKey.SWIPE_02,\n CircleSoundKey.SWIPE_03,\n CircleSoundKey.SWIPE_01,\n];\n\nexport const VOLUME_FADE_DURATION = 100; // in milliseconds\nexport const VOLUME_TO_CHANGE = 0.1; // volume change per fade step\n"],"names":["BASE_URL","STATIC_BASE_URL","CircleSoundKeyMapper","CircleSoundKey","SWIPE_SOUND_ORDER"],"mappings":";AAEA,MAAMA,IAAW,mFAEXC,IAAkB,4CAEXC,IAAuB;AAAA,EAClC,CAACC,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,mBAAmB,GAAG,GAAGH,CAAQ;AAAA,EACjD,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,MAAM,GAAG,GAAGH,CAAQ;AAAA,EACpC,CAACG,EAAe,cAAc,GAAG,GAAGH,CAAQ;AAAA,EAC5C,CAACG,EAAe,YAAY,GAAG,GAAGH,CAAQ;AAAA,EAC1C,CAACG,EAAe,eAAe,GAAG,GAAGH,CAAQ;AAAA,EAC7C,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,SAAS,GAAG,GAAGH,CAAQ;AAAA,EACvC,CAACG,EAAe,WAAW,GAAG,GAAGH,CAAQ;AAAA,EACzC,CAACG,EAAe,YAAY,GAAG,GAAGH,CAAQ;AAAA,EAC1C,CAACG,EAAe,SAAS,GAAG,GAAGH,CAAQ;AAAA,EACvC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,cAAc,GAAG,GAAGF,CAAe;AAAA,EACnD,CAACE,EAAe,eAAe,GAAG,GAAGF,CAAe;AAAA,EACpD,CAACE,EAAe,UAAU,GAAG,GAAGF,CAAe;AAAA,EAC/C,CAACE,EAAe,WAAW,GAAG,GAAGF,CAAe;AAAA,EAChD,CAACE,EAAe,UAAU,GAAG,GAAGF,CAAe;AAAA,EAC/C,CAACE,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,WAAW,GAAG,GAAGH,CAAQ;AAAA,EACzC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAC1C,GAEaI,IAAoB;AAAA,EAC/BD,EAAe;AAAA,EACfA,EAAe;AAAA,EACfA,EAAe;AAAA,EACfA,EAAe;AACjB;"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../src/features/circle-games/hooks/use-circle-sounds/constants.ts"],"sourcesContent":["import { CircleSoundKey } from './use-circle-sounds-enums';\n\nconst BASE_URL = 'https://cuemath-circle.s3.ap-southeast-1.amazonaws.com/assets/sounds/production';\n\nconst STATIC_BASE_URL = 'https://static.cuemath.com/static/sounds';\n\nexport const CircleSoundKeyMapper = {\n [CircleSoundKey.BACKGROUND]: `${BASE_URL}/bg-sound.mp3`,\n [CircleSoundKey.BACKGROUND_RUSHHOUR]: `${BASE_URL}/circle-background-rushhour.mp3`,\n [CircleSoundKey.TUTORIAL]: `${BASE_URL}/bg-sound-tutorials.mp3`,\n [CircleSoundKey.SWIPE_01]: `${BASE_URL}/circle-swipe-1.wav`,\n [CircleSoundKey.SWIPE_02]: `${BASE_URL}/circle-swipe-2.wav`,\n [CircleSoundKey.SWIPE_03]: `${BASE_URL}/circle-swipe-3.wav`,\n [CircleSoundKey.SWIPE_04]: `${BASE_URL}/circle-swipe-4.wav`,\n [CircleSoundKey.SWIPE_DOWN]: `${BASE_URL}/circle-swipe-down-1.wav`,\n [CircleSoundKey.TOGGLE]: `${BASE_URL}/circle-button-v3.wav`,\n [CircleSoundKey.POINTS_AWARDED]: `${BASE_URL}/circle-points-v1.wav`,\n [CircleSoundKey.POINTS_ADDED]: `${BASE_URL}/circle-points-add-v1.wav`,\n [CircleSoundKey.GAME_CARD_CLICK]: `${BASE_URL}/circle-gamecard-button-v1.wav`,\n [CircleSoundKey.CLOCK_IN]: `${BASE_URL}/circle-meter-v1.wav`,\n [CircleSoundKey.CLOCK_OUT]: `${BASE_URL}/circle-disappear-v1.wav`,\n [CircleSoundKey.ACCURACY_IN]: `${BASE_URL}/circle-meter-v1.wav`,\n [CircleSoundKey.ACCURACY_OUT]: `${BASE_URL}/circle-disappear-v1.wav`,\n [CircleSoundKey.STREAK_IN]: `${BASE_URL}/circle-streak-v1.wav`,\n [CircleSoundKey.STREAK_OUT]: `${BASE_URL}/circle-disappear-v1.wav`,\n [CircleSoundKey.ACCURACY_INTRO]: `${STATIC_BASE_URL}/accuracy-intro.mp3`,\n [CircleSoundKey.ACCURACY_TARGET]: `${STATIC_BASE_URL}/accuracy-target.mp3`,\n [CircleSoundKey.TIME_INTRO]: `${STATIC_BASE_URL}/timer-intro.mp3`,\n [CircleSoundKey.TIME_TARGET]: `${STATIC_BASE_URL}/timer-target.mp3`,\n [CircleSoundKey.METER_FILL]: `${STATIC_BASE_URL}/meter-fill.mp3`,\n [CircleSoundKey.YOUR_SCORE]: `${BASE_URL}/your-score.mp3`,\n [CircleSoundKey.HIGH_SCORE]: `${BASE_URL}/high-score.mp3`,\n [CircleSoundKey.ALL_DONE]: `${BASE_URL}/all-done.mp3`,\n [CircleSoundKey.DOING_GREAT]: `${BASE_URL}/doing-great.mp3`,\n [CircleSoundKey.KEEP_IT_UP]: `${BASE_URL}/keep-it-up.mp3`,\n};\n\nexport const SWIPE_SOUND_ORDER = [\n CircleSoundKey.SWIPE_04,\n CircleSoundKey.SWIPE_02,\n CircleSoundKey.SWIPE_03,\n CircleSoundKey.SWIPE_01,\n];\n\nexport const VOLUME_FADE_DURATION = 100; // in milliseconds\nexport const VOLUME_TO_CHANGE = 0.1; // volume change per fade step\n"],"names":["BASE_URL","STATIC_BASE_URL","CircleSoundKeyMapper","CircleSoundKey","SWIPE_SOUND_ORDER","VOLUME_FADE_DURATION","VOLUME_TO_CHANGE"],"mappings":";AAEA,MAAMA,IAAW,mFAEXC,IAAkB,4CAEXC,IAAuB;AAAA,EAClC,CAACC,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,mBAAmB,GAAG,GAAGH,CAAQ;AAAA,EACjD,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,MAAM,GAAG,GAAGH,CAAQ;AAAA,EACpC,CAACG,EAAe,cAAc,GAAG,GAAGH,CAAQ;AAAA,EAC5C,CAACG,EAAe,YAAY,GAAG,GAAGH,CAAQ;AAAA,EAC1C,CAACG,EAAe,eAAe,GAAG,GAAGH,CAAQ;AAAA,EAC7C,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,SAAS,GAAG,GAAGH,CAAQ;AAAA,EACvC,CAACG,EAAe,WAAW,GAAG,GAAGH,CAAQ;AAAA,EACzC,CAACG,EAAe,YAAY,GAAG,GAAGH,CAAQ;AAAA,EAC1C,CAACG,EAAe,SAAS,GAAG,GAAGH,CAAQ;AAAA,EACvC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,cAAc,GAAG,GAAGF,CAAe;AAAA,EACnD,CAACE,EAAe,eAAe,GAAG,GAAGF,CAAe;AAAA,EACpD,CAACE,EAAe,UAAU,GAAG,GAAGF,CAAe;AAAA,EAC/C,CAACE,EAAe,WAAW,GAAG,GAAGF,CAAe;AAAA,EAChD,CAACE,EAAe,UAAU,GAAG,GAAGF,CAAe;AAAA,EAC/C,CAACE,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAAA,EACxC,CAACG,EAAe,QAAQ,GAAG,GAAGH,CAAQ;AAAA,EACtC,CAACG,EAAe,WAAW,GAAG,GAAGH,CAAQ;AAAA,EACzC,CAACG,EAAe,UAAU,GAAG,GAAGH,CAAQ;AAC1C,GAEaI,IAAoB;AAAA,EAC/BD,EAAe;AAAA,EACfA,EAAe;AAAA,EACfA,EAAe;AAAA,EACfA,EAAe;AACjB,GAEaE,IAAuB,KACvBC,IAAmB;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { VOLUME_TO_CHANGE as r, VOLUME_FADE_DURATION as o } from "./constants.js";
|
|
2
|
+
const a = (e) => {
|
|
3
|
+
const l = setInterval(() => {
|
|
4
|
+
const t = e.volume || 0;
|
|
5
|
+
t < 1 ? e.volume = Math.min(t + r, 1) : clearInterval(l);
|
|
6
|
+
}, o);
|
|
7
|
+
return l;
|
|
8
|
+
}, m = (e) => {
|
|
9
|
+
let l = e.volume || 0;
|
|
10
|
+
const t = setInterval(() => {
|
|
11
|
+
l - r <= 0 ? (e.volume = 0, e.pause(), clearInterval(t)) : (l = l - r, e.volume = l);
|
|
12
|
+
}, o);
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
a as fadeInSound,
|
|
17
|
+
m as fadeOutSound
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sources":["../../../../../src/features/circle-games/hooks/use-circle-sounds/helper.ts"],"sourcesContent":["import { VOLUME_FADE_DURATION, VOLUME_TO_CHANGE } from './constants';\n\nexport const fadeInSound = (soundInstance: HTMLAudioElement) => {\n const intervalId = setInterval(() => {\n const vol = soundInstance.volume || 0;\n\n if (vol < 1) {\n soundInstance.volume = Math.min(vol + VOLUME_TO_CHANGE, 1);\n } else {\n clearInterval(intervalId);\n }\n }, VOLUME_FADE_DURATION);\n\n return intervalId;\n};\n\nexport const fadeOutSound = (soundInstance: HTMLAudioElement) => {\n let vol = soundInstance.volume || 0;\n const intervalId = setInterval(() => {\n if (vol - VOLUME_TO_CHANGE <= 0) {\n soundInstance.volume = 0;\n soundInstance.pause();\n clearInterval(intervalId);\n } else {\n vol = vol - VOLUME_TO_CHANGE;\n soundInstance.volume = vol;\n }\n }, VOLUME_FADE_DURATION);\n\n return intervalId;\n};\n"],"names":["fadeInSound","soundInstance","intervalId","vol","VOLUME_TO_CHANGE","VOLUME_FADE_DURATION","fadeOutSound"],"mappings":";AAEa,MAAAA,IAAc,CAACC,MAAoC;AACxD,QAAAC,IAAa,YAAY,MAAM;AAC7B,UAAAC,IAAMF,EAAc,UAAU;AAEpC,IAAIE,IAAM,IACRF,EAAc,SAAS,KAAK,IAAIE,IAAMC,GAAkB,CAAC,IAEzD,cAAcF,CAAU;AAAA,KAEzBG,CAAoB;AAEhB,SAAAH;AACT,GAEaI,IAAe,CAACL,MAAoC;AAC3D,MAAAE,IAAMF,EAAc,UAAU;AAC5B,QAAAC,IAAa,YAAY,MAAM;AAC/B,IAAAC,IAAMC,KAAoB,KAC5BH,EAAc,SAAS,GACvBA,EAAc,MAAM,GACpB,cAAcC,CAAU,MAExBC,IAAMA,IAAMC,GACZH,EAAc,SAASE;AAAA,KAExBE,CAAoB;AAEhB,SAAAH;AACT;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useAutoPlayPermission as
|
|
3
|
-
import { CircleSoundKeyMapper as
|
|
1
|
+
import { useCallback as s, useRef as R, useEffect as m } from "react";
|
|
2
|
+
import { useAutoPlayPermission as P } from "../../../hooks/use-auto-play-permission/use-auto-play-permission.js";
|
|
3
|
+
import { CircleSoundKeyMapper as U, SWIPE_SOUND_ORDER as O } from "./constants.js";
|
|
4
|
+
import { fadeInSound as p, fadeOutSound as D } from "./helper.js";
|
|
4
5
|
import { CircleSoundKey as n } from "./use-circle-sounds-enums.js";
|
|
5
|
-
let
|
|
6
|
-
const
|
|
6
|
+
let f = 0;
|
|
7
|
+
const c = {
|
|
7
8
|
[n.BACKGROUND]: null,
|
|
8
9
|
[n.BACKGROUND_RUSHHOUR]: null,
|
|
9
10
|
[n.TUTORIAL]: null,
|
|
@@ -32,83 +33,81 @@ const l = new (window.AudioContext || window.webkitAudioContext)(), C = {
|
|
|
32
33
|
[n.KEEP_IT_UP]: null,
|
|
33
34
|
[n.DOING_GREAT]: null,
|
|
34
35
|
[n.ALL_DONE]: null
|
|
35
|
-
},
|
|
36
|
-
const { canAutoPlayAudio:
|
|
37
|
-
if (!
|
|
38
|
-
const
|
|
39
|
-
|
|
36
|
+
}, S = {}, b = () => {
|
|
37
|
+
const { canAutoPlayAudio: _ } = P(), C = s((t) => {
|
|
38
|
+
if (!c[t]) {
|
|
39
|
+
const l = new Audio(U[t]);
|
|
40
|
+
c[t] = l;
|
|
40
41
|
}
|
|
41
|
-
}, []),
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
}, []), i = R(/* @__PURE__ */ new Set()), o = R({}), r = s(
|
|
43
|
+
(t, l = !0, e = !1) => {
|
|
44
|
+
C(t);
|
|
45
|
+
const u = c[t];
|
|
46
|
+
if (!u || !_) return;
|
|
47
|
+
if (e && (u.loop = e), o.current[t] && clearInterval(o.current[t]), !u.paused && u.currentTime > 0 && !u.ended) {
|
|
48
|
+
if (l)
|
|
49
|
+
u.volume = 1;
|
|
50
|
+
else {
|
|
51
|
+
const I = p(u);
|
|
52
|
+
o.current[t] = I;
|
|
53
|
+
}
|
|
54
|
+
return u;
|
|
47
55
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var t;
|
|
54
|
-
(t = r[u]) == null || t.source.stop(), delete r[u];
|
|
55
|
-
}, 500);
|
|
56
|
-
R.current[u] = o;
|
|
57
|
-
}, i = a(
|
|
58
|
-
async (e, u = !0, o = !1) => {
|
|
59
|
-
await E(), await _(e);
|
|
60
|
-
const t = C[e];
|
|
61
|
-
if (!t || !d) {
|
|
62
|
-
console.warn("Cannot play sound", e, { buffer: t, canPlayAudio: d });
|
|
63
|
-
return;
|
|
56
|
+
u.volume = l ? 1 : 0;
|
|
57
|
+
const A = u.play();
|
|
58
|
+
if (A && (S[t] = A), !l) {
|
|
59
|
+
const I = p(u);
|
|
60
|
+
o.current[t] = I;
|
|
64
61
|
}
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
return u;
|
|
63
|
+
},
|
|
64
|
+
[C, _]
|
|
65
|
+
), a = s((t, l) => {
|
|
66
|
+
const e = c[t];
|
|
67
|
+
if (!e) return;
|
|
68
|
+
if (o.current[t] && clearInterval(o.current[t]), l) {
|
|
69
|
+
e.pause();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const u = D(e);
|
|
73
|
+
o.current[t] = u;
|
|
74
|
+
}, []), d = s(
|
|
75
|
+
(t, l = !0) => {
|
|
76
|
+
var e;
|
|
77
|
+
if (S[t] !== void 0) {
|
|
78
|
+
(e = S[t]) == null || e.then(() => {
|
|
79
|
+
a(t, l);
|
|
80
|
+
}).catch((u) => {
|
|
81
|
+
console.log("sound not playing", u);
|
|
82
|
+
});
|
|
67
83
|
return;
|
|
68
84
|
}
|
|
69
|
-
|
|
70
|
-
s.buffer = t, s.loop = o, s.connect(c).connect(l.destination), u ? c.gain.setValueAtTime(1, l.currentTime) : I(c), s.start(), r[e] = { source: s, gainNode: c }, o || (s.onended = () => {
|
|
71
|
-
var S;
|
|
72
|
-
((S = r[e]) == null ? void 0 : S.source) === s && delete r[e];
|
|
73
|
-
});
|
|
85
|
+
a(t, l);
|
|
74
86
|
},
|
|
75
|
-
[
|
|
76
|
-
),
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
}, []),
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
i(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}, [i, A]);
|
|
91
|
-
return v(() => {
|
|
92
|
-
const e = ["pointerdown", "touchstart"], u = () => {
|
|
93
|
-
E();
|
|
94
|
-
};
|
|
95
|
-
document.addEventListener("visibilitychange", T), e.forEach((t) => {
|
|
96
|
-
window.addEventListener(t, u, { once: !0 });
|
|
97
|
-
});
|
|
98
|
-
const o = R.current;
|
|
87
|
+
[a]
|
|
88
|
+
), T = s(() => {
|
|
89
|
+
const t = O[f] || n.SWIPE_01;
|
|
90
|
+
f = (f + 1) % O.length, r(t);
|
|
91
|
+
}, [r]), v = s(() => r(n.TOGGLE), [r]), E = s(() => {
|
|
92
|
+
const t = document.visibilityState;
|
|
93
|
+
t === "hidden" && Object.entries(c).forEach(([l, e]) => {
|
|
94
|
+
e && !e.paused && (d(l, !0), i.current.add(l));
|
|
95
|
+
}), t === "visible" && (i.current.forEach((l) => {
|
|
96
|
+
r(l);
|
|
97
|
+
}), i.current.clear());
|
|
98
|
+
}, [r, d]);
|
|
99
|
+
return m(() => {
|
|
100
|
+
document.addEventListener("visibilitychange", E);
|
|
101
|
+
const t = o.current;
|
|
99
102
|
return () => {
|
|
100
|
-
document.removeEventListener("visibilitychange",
|
|
101
|
-
|
|
102
|
-
})
|
|
103
|
+
document.removeEventListener("visibilitychange", E), Object.values(t).forEach((l) => {
|
|
104
|
+
l && clearInterval(l);
|
|
105
|
+
});
|
|
103
106
|
};
|
|
104
|
-
}, [
|
|
105
|
-
playSwipeSound: P,
|
|
106
|
-
play: i,
|
|
107
|
-
stop: A,
|
|
108
|
-
playButtonSound: U
|
|
109
|
-
};
|
|
107
|
+
}, [E]), { playSwipeSound: T, play: r, stop: d, playButtonSound: v };
|
|
110
108
|
};
|
|
111
109
|
export {
|
|
112
|
-
|
|
110
|
+
c as soundMapper,
|
|
111
|
+
b as useCircleSounds
|
|
113
112
|
};
|
|
114
113
|
//# sourceMappingURL=use-circle-sounds.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-circle-sounds.js","sources":["../../../../../src/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { useAutoPlayPermission } from '../../../hooks/use-auto-play-permission/use-auto-play-permission';\nimport { CircleSoundKeyMapper, SWIPE_SOUND_ORDER } from './constants';\nimport type { TimeoutMap } from './use-circle-sound-types';\nimport { CircleSoundKey } from './use-circle-sounds-enums';\n\nlet swipeSoundIndex = 0;\nconst audioContext = new (window.AudioContext || window.webkitAudioContext)();\n\nconst bufferMapper: Record<CircleSoundKey, AudioBuffer | null> = {\n [CircleSoundKey.BACKGROUND]: null,\n [CircleSoundKey.BACKGROUND_RUSHHOUR]: null,\n [CircleSoundKey.TUTORIAL]: null,\n [CircleSoundKey.SWIPE_01]: null,\n [CircleSoundKey.SWIPE_02]: null,\n [CircleSoundKey.SWIPE_03]: null,\n [CircleSoundKey.SWIPE_04]: null,\n [CircleSoundKey.SWIPE_DOWN]: null,\n [CircleSoundKey.TOGGLE]: null,\n [CircleSoundKey.POINTS_AWARDED]: null,\n [CircleSoundKey.POINTS_ADDED]: null,\n [CircleSoundKey.GAME_CARD_CLICK]: null,\n [CircleSoundKey.CLOCK_IN]: null,\n [CircleSoundKey.CLOCK_OUT]: null,\n [CircleSoundKey.ACCURACY_IN]: null,\n [CircleSoundKey.ACCURACY_OUT]: null,\n [CircleSoundKey.STREAK_IN]: null,\n [CircleSoundKey.STREAK_OUT]: null,\n [CircleSoundKey.ACCURACY_INTRO]: null,\n [CircleSoundKey.ACCURACY_TARGET]: null,\n [CircleSoundKey.TIME_INTRO]: null,\n [CircleSoundKey.TIME_TARGET]: null,\n [CircleSoundKey.METER_FILL]: null,\n [CircleSoundKey.YOUR_SCORE]: null,\n [CircleSoundKey.HIGH_SCORE]: null,\n [CircleSoundKey.KEEP_IT_UP]: null,\n [CircleSoundKey.DOING_GREAT]: null,\n [CircleSoundKey.ALL_DONE]: null,\n};\n\ntype ActiveSound = {\n source: AudioBufferSourceNode;\n gainNode: GainNode;\n};\n\nconst activeSounds: Partial<Record<CircleSoundKey, ActiveSound>> = {};\n\nexport const useCircleSounds = () => {\n const { canAutoPlayAudio: canPlayAudio } = useAutoPlayPermission();\n\n const pausedSoundsRef = useRef<Set<CircleSoundKey>>(new Set());\n const timeoutRefs = useRef<TimeoutMap>({});\n\n const loadSound = useCallback(async (key: CircleSoundKey) => {\n if (!bufferMapper[key]) {\n const response = await fetch(CircleSoundKeyMapper[key]);\n const arrayBuffer = await response.arrayBuffer();\n const decoded = await audioContext.decodeAudioData(arrayBuffer);\n\n bufferMapper[key] = decoded;\n }\n }, []);\n\n const resumeAudioContext = async () => {\n if (audioContext.state === 'suspended') {\n try {\n await audioContext.resume();\n } catch (err) {\n // eslint-disable-next-line no-console\n console.warn('Failed to resume AudioContext:', err);\n }\n }\n };\n\n const fadeIn = (gainNode: GainNode) => {\n gainNode.gain.setValueAtTime(0, audioContext.currentTime);\n gainNode.gain.linearRampToValueAtTime(1, audioContext.currentTime + 0.5);\n };\n\n const fadeOut = (gainNode: GainNode, key: CircleSoundKey) => {\n gainNode.gain.setValueAtTime(gainNode.gain.value, audioContext.currentTime);\n gainNode.gain.linearRampToValueAtTime(0, audioContext.currentTime + 0.5);\n const timeout = setTimeout(() => {\n activeSounds[key]?.source.stop();\n delete activeSounds[key];\n }, 500);\n\n timeoutRefs.current[key] = timeout as unknown as number;\n };\n\n const play = useCallback(\n async (key: CircleSoundKey, immediately = true, loop = false) => {\n await resumeAudioContext();\n await loadSound(key);\n const buffer = bufferMapper[key];\n\n if (!buffer || !canPlayAudio) {\n // eslint-disable-next-line no-console\n console.warn('Cannot play sound', key, { buffer, canPlayAudio });\n\n return;\n }\n\n if (activeSounds[key] && loop) {\n // eslint-disable-next-line no-console\n console.log('Sound already playing:', key);\n\n return;\n }\n\n const source = audioContext.createBufferSource();\n const gainNode = audioContext.createGain();\n\n source.buffer = buffer;\n source.loop = loop;\n source.connect(gainNode).connect(audioContext.destination);\n\n if (immediately) {\n gainNode.gain.setValueAtTime(1, audioContext.currentTime);\n } else {\n fadeIn(gainNode);\n }\n\n source.start();\n activeSounds[key] = { source, gainNode };\n\n if (!loop) {\n source.onended = () => {\n if (activeSounds[key]?.source === source) {\n delete activeSounds[key];\n }\n };\n }\n },\n [canPlayAudio, loadSound],\n );\n\n const stop = useCallback(async (key: CircleSoundKey, immediately = true) => {\n const sound = activeSounds[key];\n\n if (!sound) return;\n\n if (immediately) {\n sound.source.stop();\n delete activeSounds[key];\n } else {\n fadeOut(sound.gainNode, key);\n }\n }, []);\n\n const playSwipeSound = useCallback(() => {\n const key = SWIPE_SOUND_ORDER[swipeSoundIndex] || CircleSoundKey.SWIPE_01;\n\n swipeSoundIndex = (swipeSoundIndex + 1) % SWIPE_SOUND_ORDER.length;\n play(key);\n }, [play]);\n\n const playButtonSound = useCallback(() => {\n play(CircleSoundKey.TOGGLE);\n }, [play]);\n\n const handleVisibilityChange = useCallback(async () => {\n if (document.visibilityState === 'visible') {\n await resumeAudioContext();\n pausedSoundsRef.current.forEach(key => {\n play(key);\n });\n pausedSoundsRef.current.clear();\n } else {\n Object.keys(activeSounds).forEach(key => {\n stop(key as CircleSoundKey, true);\n pausedSoundsRef.current.add(key as CircleSoundKey);\n });\n }\n }, [play, stop]);\n\n useEffect(() => {\n const interactionEvents = ['pointerdown', 'touchstart'];\n const tryResume = () => {\n resumeAudioContext();\n };\n\n document.addEventListener('visibilitychange', handleVisibilityChange);\n interactionEvents.forEach(event => {\n window.addEventListener(event, tryResume, { once: true });\n });\n\n const timeouts = timeoutRefs.current;\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n interactionEvents.forEach(event => {\n window.removeEventListener(event, tryResume);\n });\n Object.values(timeouts).forEach(id => clearTimeout(id));\n };\n }, [handleVisibilityChange]);\n\n return {\n playSwipeSound,\n play,\n stop,\n playButtonSound,\n };\n};\n"],"names":["swipeSoundIndex","audioContext","bufferMapper","CircleSoundKey","activeSounds","useCircleSounds","canPlayAudio","useAutoPlayPermission","pausedSoundsRef","useRef","timeoutRefs","loadSound","useCallback","key","arrayBuffer","CircleSoundKeyMapper","decoded","resumeAudioContext","err","fadeIn","gainNode","fadeOut","timeout","_a","play","immediately","loop","buffer","source","stop","sound","playSwipeSound","SWIPE_SOUND_ORDER","playButtonSound","handleVisibilityChange","useEffect","interactionEvents","tryResume","event","timeouts","id"],"mappings":";;;;AAOA,IAAIA,IAAkB;AACtB,MAAMC,IAAe,KAAK,OAAO,gBAAgB,OAAO,oBAAoB,GAEtEC,IAA2D;AAAA,EAC/D,CAACC,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,mBAAmB,GAAG;AAAA,EACtC,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,MAAM,GAAG;AAAA,EACzB,CAACA,EAAe,cAAc,GAAG;AAAA,EACjC,CAACA,EAAe,YAAY,GAAG;AAAA,EAC/B,CAACA,EAAe,eAAe,GAAG;AAAA,EAClC,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,SAAS,GAAG;AAAA,EAC5B,CAACA,EAAe,WAAW,GAAG;AAAA,EAC9B,CAACA,EAAe,YAAY,GAAG;AAAA,EAC/B,CAACA,EAAe,SAAS,GAAG;AAAA,EAC5B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,cAAc,GAAG;AAAA,EACjC,CAACA,EAAe,eAAe,GAAG;AAAA,EAClC,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,WAAW,GAAG;AAAA,EAC9B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,WAAW,GAAG;AAAA,EAC9B,CAACA,EAAe,QAAQ,GAAG;AAC7B,GAOMC,IAA6D,CAAA,GAEtDC,IAAkB,MAAM;AACnC,QAAM,EAAE,kBAAkBC,EAAa,IAAIC,EAAsB,GAE3DC,IAAkBC,EAAgC,oBAAA,IAAK,CAAA,GACvDC,IAAcD,EAAmB,CAAA,CAAE,GAEnCE,IAAYC,EAAY,OAAOC,MAAwB;AACvD,QAAA,CAACX,EAAaW,CAAG,GAAG;AAEhB,YAAAC,IAAc,OADH,MAAM,MAAMC,EAAqBF,CAAG,CAAC,GACnB,eAC7BG,IAAU,MAAMf,EAAa,gBAAgBa,CAAW;AAE9D,MAAAZ,EAAaW,CAAG,IAAIG;AAAA,IACtB;AAAA,EACF,GAAG,CAAE,CAAA,GAECC,IAAqB,YAAY;AACjC,QAAAhB,EAAa,UAAU;AACrB,UAAA;AACF,cAAMA,EAAa;eACZiB,GAAK;AAEJ,gBAAA,KAAK,kCAAkCA,CAAG;AAAA,MACpD;AAAA,EACF,GAGIC,IAAS,CAACC,MAAuB;AACrC,IAAAA,EAAS,KAAK,eAAe,GAAGnB,EAAa,WAAW,GACxDmB,EAAS,KAAK,wBAAwB,GAAGnB,EAAa,cAAc,GAAG;AAAA,EAAA,GAGnEoB,IAAU,CAACD,GAAoBP,MAAwB;AAC3D,IAAAO,EAAS,KAAK,eAAeA,EAAS,KAAK,OAAOnB,EAAa,WAAW,GAC1EmB,EAAS,KAAK,wBAAwB,GAAGnB,EAAa,cAAc,GAAG;AACjE,UAAAqB,IAAU,WAAW,MAAM;;AAClB,OAAAC,IAAAnB,EAAAS,CAAG,MAAH,QAAAU,EAAM,OAAO,QAC1B,OAAOnB,EAAaS,CAAG;AAAA,OACtB,GAAG;AAEM,IAAAH,EAAA,QAAQG,CAAG,IAAIS;AAAA,EAAA,GAGvBE,IAAOZ;AAAA,IACX,OAAOC,GAAqBY,IAAc,IAAMC,IAAO,OAAU;AAC/D,YAAMT,EAAmB,GACzB,MAAMN,EAAUE,CAAG;AACb,YAAAc,IAASzB,EAAaW,CAAG;AAE3B,UAAA,CAACc,KAAU,CAACrB,GAAc;AAE5B,gBAAQ,KAAK,qBAAqBO,GAAK,EAAE,QAAAc,GAAQ,cAAArB,GAAc;AAE/D;AAAA,MACF;AAEI,UAAAF,EAAaS,CAAG,KAAKa,GAAM;AAErB,gBAAA,IAAI,0BAA0Bb,CAAG;AAEzC;AAAA,MACF;AAEM,YAAAe,IAAS3B,EAAa,sBACtBmB,IAAWnB,EAAa;AAE9B,MAAA2B,EAAO,SAASD,GAChBC,EAAO,OAAOF,GACdE,EAAO,QAAQR,CAAQ,EAAE,QAAQnB,EAAa,WAAW,GAErDwB,IACFL,EAAS,KAAK,eAAe,GAAGnB,EAAa,WAAW,IAExDkB,EAAOC,CAAQ,GAGjBQ,EAAO,MAAM,GACbxB,EAAaS,CAAG,IAAI,EAAE,QAAAe,GAAQ,UAAAR,EAAS,GAElCM,MACHE,EAAO,UAAU,MAAM;;AACrB,UAAIL,IAAAnB,EAAaS,CAAG,MAAhB,gBAAAU,EAAmB,YAAWK,KAChC,OAAOxB,EAAaS,CAAG;AAAA,MACzB;AAAA,IAGN;AAAA,IACA,CAACP,GAAcK,CAAS;AAAA,EAAA,GAGpBkB,IAAOjB,EAAY,OAAOC,GAAqBY,IAAc,OAAS;AACpE,UAAAK,IAAQ1B,EAAaS,CAAG;AAE9B,IAAKiB,MAEDL,KACFK,EAAM,OAAO,QACb,OAAO1B,EAAaS,CAAG,KAEfQ,EAAAS,EAAM,UAAUjB,CAAG;AAAA,EAE/B,GAAG,CAAE,CAAA,GAECkB,IAAiBnB,EAAY,MAAM;AACvC,UAAMC,IAAMmB,EAAkBhC,CAAe,KAAKG,EAAe;AAE9C,IAAAH,KAAAA,IAAkB,KAAKgC,EAAkB,QAC5DR,EAAKX,CAAG;AAAA,EAAA,GACP,CAACW,CAAI,CAAC,GAEHS,IAAkBrB,EAAY,MAAM;AACxC,IAAAY,EAAKrB,EAAe,MAAM;AAAA,EAAA,GACzB,CAACqB,CAAI,CAAC,GAEHU,IAAyBtB,EAAY,YAAY;AACjD,IAAA,SAAS,oBAAoB,aAC/B,MAAMK,EAAmB,GACTT,EAAA,QAAQ,QAAQ,CAAOK,MAAA;AACrC,MAAAW,EAAKX,CAAG;AAAA,IAAA,CACT,GACDL,EAAgB,QAAQ,WAExB,OAAO,KAAKJ,CAAY,EAAE,QAAQ,CAAOS,MAAA;AACvC,MAAAgB,EAAKhB,GAAuB,EAAI,GAChBL,EAAA,QAAQ,IAAIK,CAAqB;AAAA,IAAA,CAClD;AAAA,EACH,GACC,CAACW,GAAMK,CAAI,CAAC;AAEf,SAAAM,EAAU,MAAM;AACR,UAAAC,IAAoB,CAAC,eAAe,YAAY,GAChDC,IAAY,MAAM;AACH,MAAApB;IAAA;AAGZ,aAAA,iBAAiB,oBAAoBiB,CAAsB,GACpEE,EAAkB,QAAQ,CAASE,MAAA;AACjC,aAAO,iBAAiBA,GAAOD,GAAW,EAAE,MAAM,IAAM;AAAA,IAAA,CACzD;AAED,UAAME,IAAW7B,EAAY;AAE7B,WAAO,MAAM;AACF,eAAA,oBAAoB,oBAAoBwB,CAAsB,GACvEE,EAAkB,QAAQ,CAASE,MAAA;AAC1B,eAAA,oBAAoBA,GAAOD,CAAS;AAAA,MAAA,CAC5C,GACD,OAAO,OAAOE,CAAQ,EAAE,QAAQ,CAAMC,MAAA,aAAaA,CAAE,CAAC;AAAA,IAAA;AAAA,EACxD,GACC,CAACN,CAAsB,CAAC,GAEpB;AAAA,IACL,gBAAAH;AAAA,IACA,MAAAP;AAAA,IACA,MAAAK;AAAA,IACA,iBAAAI;AAAA,EAAA;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"use-circle-sounds.js","sources":["../../../../../src/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { useAutoPlayPermission } from '../../../hooks/use-auto-play-permission/use-auto-play-permission';\nimport { CircleSoundKeyMapper, SWIPE_SOUND_ORDER } from './constants';\nimport { fadeInSound, fadeOutSound } from './helper';\nimport type { TimeoutMap } from './use-circle-sound-types';\nimport { CircleSoundKey } from './use-circle-sounds-enums';\n\nlet swipeSoundIndex = 0;\n\nexport const soundMapper: Record<keyof typeof CircleSoundKeyMapper, null | HTMLAudioElement> = {\n [CircleSoundKey.BACKGROUND]: null,\n [CircleSoundKey.BACKGROUND_RUSHHOUR]: null,\n [CircleSoundKey.TUTORIAL]: null,\n [CircleSoundKey.SWIPE_01]: null,\n [CircleSoundKey.SWIPE_02]: null,\n [CircleSoundKey.SWIPE_03]: null,\n [CircleSoundKey.SWIPE_04]: null,\n [CircleSoundKey.SWIPE_DOWN]: null,\n [CircleSoundKey.TOGGLE]: null,\n [CircleSoundKey.POINTS_AWARDED]: null,\n [CircleSoundKey.POINTS_ADDED]: null,\n [CircleSoundKey.GAME_CARD_CLICK]: null,\n [CircleSoundKey.CLOCK_IN]: null,\n [CircleSoundKey.CLOCK_OUT]: null,\n [CircleSoundKey.ACCURACY_IN]: null,\n [CircleSoundKey.ACCURACY_OUT]: null,\n [CircleSoundKey.STREAK_IN]: null,\n [CircleSoundKey.STREAK_OUT]: null,\n [CircleSoundKey.ACCURACY_INTRO]: null,\n [CircleSoundKey.ACCURACY_TARGET]: null,\n [CircleSoundKey.TIME_INTRO]: null,\n [CircleSoundKey.TIME_TARGET]: null,\n [CircleSoundKey.METER_FILL]: null,\n [CircleSoundKey.YOUR_SCORE]: null,\n [CircleSoundKey.HIGH_SCORE]: null,\n [CircleSoundKey.KEEP_IT_UP]: null,\n [CircleSoundKey.DOING_GREAT]: null,\n [CircleSoundKey.ALL_DONE]: null,\n};\n\nconst soundInstancePromise: Partial<Record<keyof typeof CircleSoundKeyMapper, Promise<void>>> = {};\n\nexport const useCircleSounds = () => {\n const { canAutoPlayAudio: canPlayAudio } = useAutoPlayPermission();\n\n const loadSound = useCallback((key: CircleSoundKey) => {\n if (!soundMapper[key]) {\n const loadedSound = new Audio(CircleSoundKeyMapper[key]);\n\n soundMapper[key] = loadedSound;\n }\n }, []);\n\n const pausedSoundsRef = useRef<Set<CircleSoundKey>>(new Set());\n const timeoutRefs = useRef<TimeoutMap>({});\n\n const play = useCallback(\n (key: CircleSoundKey, immediately: boolean = true, loop = false) => {\n loadSound(key);\n const soundInstance = soundMapper[key];\n\n if (!soundInstance || !canPlayAudio) return;\n\n // this makes sure that it keeps the default loop value at the time it was requested to be loaded\n // helps in visibility change where we only want to resume\n if (loop) {\n soundInstance.loop = loop;\n }\n\n if (timeoutRefs.current[key]) {\n clearInterval(timeoutRefs.current[key]);\n }\n\n // resume sound\n if (!soundInstance.paused && soundInstance.currentTime > 0 && !soundInstance.ended) {\n if (!immediately) {\n const intervalId = fadeInSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n } else {\n soundInstance.volume = 1;\n }\n\n return soundInstance;\n }\n\n // play sound\n soundInstance.volume = immediately ? 1 : 0;\n const promise = soundInstance.play();\n\n if (promise) {\n soundInstancePromise[key] = promise;\n }\n\n if (!immediately) {\n const intervalId = fadeInSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n }\n\n return soundInstance;\n },\n [loadSound, canPlayAudio],\n );\n\n const handleSoundStop = useCallback((key: CircleSoundKey, immediately: boolean) => {\n const soundInstance = soundMapper[key];\n\n if (!soundInstance) return;\n\n if (timeoutRefs.current[key]) {\n clearInterval(timeoutRefs.current[key]);\n }\n\n if (immediately) {\n soundInstance.pause();\n\n return;\n }\n\n const intervalId = fadeOutSound(soundInstance);\n\n timeoutRefs.current[key] = intervalId;\n }, []);\n\n const stop = useCallback(\n (key: CircleSoundKey, immediately: boolean = true) => {\n // if play returned a promise\n if (soundInstancePromise[key] !== undefined) {\n soundInstancePromise[key]\n ?.then(() => {\n handleSoundStop(key, immediately);\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.log('sound not playing', err);\n });\n\n return;\n }\n\n handleSoundStop(key, immediately);\n },\n [handleSoundStop],\n );\n\n const playSwipeSound = useCallback(() => {\n const key = SWIPE_SOUND_ORDER[swipeSoundIndex] || CircleSoundKey.SWIPE_01;\n\n swipeSoundIndex = (swipeSoundIndex + 1) % SWIPE_SOUND_ORDER.length;\n\n play(key);\n }, [play]);\n\n const playButtonSound = useCallback(() => {\n const sound = play(CircleSoundKey.TOGGLE);\n\n return sound;\n }, [play]);\n\n const handleVisibilityChange = useCallback(() => {\n const visibilityState = document.visibilityState;\n\n if (visibilityState === 'hidden') {\n Object.entries(soundMapper).forEach(([key, sound]) => {\n if (sound && !sound.paused) {\n stop(key as CircleSoundKey, true);\n pausedSoundsRef.current.add(key as CircleSoundKey);\n }\n });\n }\n\n if (visibilityState === 'visible') {\n pausedSoundsRef.current.forEach(key => {\n play(key);\n });\n pausedSoundsRef.current.clear();\n }\n }, [play, stop]);\n\n useEffect(() => {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n const timeouts = timeoutRefs.current;\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n Object.values(timeouts).forEach(id => {\n if (id) {\n clearInterval(id);\n }\n });\n };\n }, [handleVisibilityChange]);\n\n return { playSwipeSound, play, stop, playButtonSound };\n};\n"],"names":["swipeSoundIndex","soundMapper","CircleSoundKey","soundInstancePromise","useCircleSounds","canPlayAudio","useAutoPlayPermission","loadSound","useCallback","key","loadedSound","CircleSoundKeyMapper","pausedSoundsRef","useRef","timeoutRefs","play","immediately","loop","soundInstance","intervalId","fadeInSound","promise","handleSoundStop","fadeOutSound","stop","_a","err","playSwipeSound","SWIPE_SOUND_ORDER","playButtonSound","handleVisibilityChange","visibilityState","sound","useEffect","timeouts","id"],"mappings":";;;;;AAQA,IAAIA,IAAkB;AAEf,MAAMC,IAAkF;AAAA,EAC7F,CAACC,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,mBAAmB,GAAG;AAAA,EACtC,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,MAAM,GAAG;AAAA,EACzB,CAACA,EAAe,cAAc,GAAG;AAAA,EACjC,CAACA,EAAe,YAAY,GAAG;AAAA,EAC/B,CAACA,EAAe,eAAe,GAAG;AAAA,EAClC,CAACA,EAAe,QAAQ,GAAG;AAAA,EAC3B,CAACA,EAAe,SAAS,GAAG;AAAA,EAC5B,CAACA,EAAe,WAAW,GAAG;AAAA,EAC9B,CAACA,EAAe,YAAY,GAAG;AAAA,EAC/B,CAACA,EAAe,SAAS,GAAG;AAAA,EAC5B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,cAAc,GAAG;AAAA,EACjC,CAACA,EAAe,eAAe,GAAG;AAAA,EAClC,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,WAAW,GAAG;AAAA,EAC9B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,UAAU,GAAG;AAAA,EAC7B,CAACA,EAAe,WAAW,GAAG;AAAA,EAC9B,CAACA,EAAe,QAAQ,GAAG;AAC7B,GAEMC,IAA0F,CAAA,GAEnFC,IAAkB,MAAM;AACnC,QAAM,EAAE,kBAAkBC,EAAa,IAAIC,EAAsB,GAE3DC,IAAYC,EAAY,CAACC,MAAwB;AACjD,QAAA,CAACR,EAAYQ,CAAG,GAAG;AACrB,YAAMC,IAAc,IAAI,MAAMC,EAAqBF,CAAG,CAAC;AAEvD,MAAAR,EAAYQ,CAAG,IAAIC;AAAA,IACrB;AAAA,EACF,GAAG,CAAE,CAAA,GAECE,IAAkBC,EAAgC,oBAAA,IAAK,CAAA,GACvDC,IAAcD,EAAmB,CAAA,CAAE,GAEnCE,IAAOP;AAAA,IACX,CAACC,GAAqBO,IAAuB,IAAMC,IAAO,OAAU;AAClE,MAAAV,EAAUE,CAAG;AACP,YAAAS,IAAgBjB,EAAYQ,CAAG;AAEjC,UAAA,CAACS,KAAiB,CAACb,EAAc;AAajC,UATAY,MACFC,EAAc,OAAOD,IAGnBH,EAAY,QAAQL,CAAG,KACX,cAAAK,EAAY,QAAQL,CAAG,CAAC,GAIpC,CAACS,EAAc,UAAUA,EAAc,cAAc,KAAK,CAACA,EAAc,OAAO;AAClF,YAAKF;AAKH,UAAAE,EAAc,SAAS;AAAA,aALP;AACV,gBAAAC,IAAaC,EAAYF,CAAa;AAEhC,UAAAJ,EAAA,QAAQL,CAAG,IAAIU;AAAA,QAAA;AAKtB,eAAAD;AAAA,MACT;AAGc,MAAAA,EAAA,SAASF,IAAc,IAAI;AACnC,YAAAK,IAAUH,EAAc;AAM9B,UAJIG,MACFlB,EAAqBM,CAAG,IAAIY,IAG1B,CAACL,GAAa;AACV,cAAAG,IAAaC,EAAYF,CAAa;AAEhC,QAAAJ,EAAA,QAAQL,CAAG,IAAIU;AAAA,MAC7B;AAEO,aAAAD;AAAA,IACT;AAAA,IACA,CAACX,GAAWF,CAAY;AAAA,EAAA,GAGpBiB,IAAkBd,EAAY,CAACC,GAAqBO,MAAyB;AAC3E,UAAAE,IAAgBjB,EAAYQ,CAAG;AAErC,QAAI,CAACS,EAAe;AAMpB,QAJIJ,EAAY,QAAQL,CAAG,KACX,cAAAK,EAAY,QAAQL,CAAG,CAAC,GAGpCO,GAAa;AACf,MAAAE,EAAc,MAAM;AAEpB;AAAA,IACF;AAEM,UAAAC,IAAaI,EAAaL,CAAa;AAEjC,IAAAJ,EAAA,QAAQL,CAAG,IAAIU;AAAA,EAC7B,GAAG,CAAE,CAAA,GAECK,IAAOhB;AAAA,IACX,CAACC,GAAqBO,IAAuB,OAAS;;AAEhD,UAAAb,EAAqBM,CAAG,MAAM,QAAW;AACtB,SAAAgB,IAAAtB,EAAAM,CAAG,MAAH,QAAAgB,EACjB,KAAK,MAAM;AACX,UAAAH,EAAgBb,GAAKO,CAAW;AAAA,QAAA,GAEjC,MAAM,CAAOU,MAAA;AAEJ,kBAAA,IAAI,qBAAqBA,CAAG;AAAA,QAAA;AAGxC;AAAA,MACF;AAEA,MAAAJ,EAAgBb,GAAKO,CAAW;AAAA,IAClC;AAAA,IACA,CAACM,CAAe;AAAA,EAAA,GAGZK,IAAiBnB,EAAY,MAAM;AACvC,UAAMC,IAAMmB,EAAkB5B,CAAe,KAAKE,EAAe;AAE9C,IAAAF,KAAAA,IAAkB,KAAK4B,EAAkB,QAE5Db,EAAKN,CAAG;AAAA,EAAA,GACP,CAACM,CAAI,CAAC,GAEHc,IAAkBrB,EAAY,MACpBO,EAAKb,EAAe,MAAM,GAGvC,CAACa,CAAI,CAAC,GAEHe,IAAyBtB,EAAY,MAAM;AAC/C,UAAMuB,IAAkB,SAAS;AAEjC,IAAIA,MAAoB,YACf,OAAA,QAAQ9B,CAAW,EAAE,QAAQ,CAAC,CAACQ,GAAKuB,CAAK,MAAM;AAChD,MAAAA,KAAS,CAACA,EAAM,WAClBR,EAAKf,GAAuB,EAAI,GAChBG,EAAA,QAAQ,IAAIH,CAAqB;AAAA,IACnD,CACD,GAGCsB,MAAoB,cACNnB,EAAA,QAAQ,QAAQ,CAAOH,MAAA;AACrC,MAAAM,EAAKN,CAAG;AAAA,IAAA,CACT,GACDG,EAAgB,QAAQ;EAC1B,GACC,CAACG,GAAMS,CAAI,CAAC;AAEf,SAAAS,EAAU,MAAM;AACL,aAAA,iBAAiB,oBAAoBH,CAAsB;AACpE,UAAMI,IAAWpB,EAAY;AAE7B,WAAO,MAAM;AACF,eAAA,oBAAoB,oBAAoBgB,CAAsB,GACvE,OAAO,OAAOI,CAAQ,EAAE,QAAQ,CAAMC,MAAA;AACpC,QAAIA,KACF,cAAcA,CAAE;AAAA,MAClB,CACD;AAAA,IAAA;AAAA,EACH,GACC,CAACL,CAAsB,CAAC,GAEpB,EAAE,gBAAAH,GAAgB,MAAAZ,GAAM,MAAAS,GAAM,iBAAAK,EAAgB;AACvD;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createGetAPI as r } from "@cuemath/rest-api";
|
|
2
|
+
import { BASE_URL_V3 as i } from "../../../constants/api.js";
|
|
3
|
+
import { stringify as m } from "../../../helpers/query-string.js";
|
|
4
|
+
const { useGet: f } = r({
|
|
5
|
+
getURL: (e, t) => `${i}/user-timeline/${e}?${m(t)}`
|
|
6
|
+
});
|
|
7
|
+
export {
|
|
8
|
+
f as useDailyTimelineGet
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=use-daily-timeline-get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-daily-timeline-get.js","sources":["../../../../src/features/timeline/api/use-daily-timeline-get.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../constants/api';\nimport { stringify } from '../../../helpers/query-string';\nimport type { TCourseStream } from '../../milestone/create/milestone-create-types';\nimport { type CARD_TYPE, type NODE_STATE } from '../daily-timeline-types';\n\nexport interface ITimeLineItem {\n accuracy: number | null;\n block_type: string | null;\n card_type?: string;\n chapter_name: string | null;\n feedback_comments: string | null;\n image_hue: string | null;\n is_timed: boolean;\n items: { ref: string }[] | null;\n label: string;\n learnosity_activity_ref: string | null;\n max_score: number | null;\n node_id: string;\n node_type: string;\n points: number | null;\n state: NODE_STATE;\n subtext: string | null;\n task_type: string | null;\n time_taken: number | null;\n tip: string | null;\n title: string;\n total_questions: number | null;\n total_score: number | null;\n user_block_id: string | null;\n user_id?: string;\n user_node_id: string;\n}\n\nexport interface ITimeLineEntry {\n cards: ITimeLineItem[];\n course_stream: TCourseStream | 'CIRCLE' | null;\n summary: string | null;\n type: CARD_TYPE;\n}\n\nexport interface ITimelineData {\n daily_logs: ITimeLineEntry[];\n from_date: string;\n to_date: string;\n}\n\nexport interface ITimelineResponse {\n curr_page: number | null;\n next_page: number | null;\n total_pages: number | null;\n user_logs: ITimelineData[];\n}\n\ninterface IGetUserTimelineParams {\n course_stream?: TCourseStream[];\n page?: number;\n timezone: string;\n}\n\nconst { useGet: useDailyTimelineGet } = createGetAPI<ITimelineResponse, IGetUserTimelineParams>({\n getURL: (studentId: string, queryParams) => {\n return `${BASE_URL_V3}/user-timeline/${studentId}?${stringify(queryParams)}`;\n },\n});\n\nexport { useDailyTimelineGet };\n"],"names":["useDailyTimelineGet","createGetAPI","studentId","queryParams","BASE_URL_V3","stringify"],"mappings":";;;AA6DA,MAAM,EAAE,QAAQA,EAAoB,IAAIC,EAAwD;AAAA,EAC9F,QAAQ,CAACC,GAAmBC,MACnB,GAAGC,CAAW,kBAAkBF,CAAS,IAAIG,EAAUF,CAAW,CAAC;AAE9E,CAAC;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsxs as r, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { memo as B, useMemo as L, useCallback as $ } from "react";
|
|
3
|
+
import C from "../../../ui/buttons/text-button/text-button.js";
|
|
4
|
+
import t from "../../../ui/layout/flex-view.js";
|
|
5
|
+
import d from "../../../ui/text/text.js";
|
|
6
|
+
import { getStateConf as S } from "../utils.js";
|
|
7
|
+
import { BLOCK_TYPE as D } from "../../../chapters-v2/constants/block-constants.js";
|
|
8
|
+
import { CODING_ACTIVITY_NODE_TYPES as K } from "../constants.js";
|
|
9
|
+
import { NODE_STATE as R, CARD_TYPE as z, USER_TYPE as p } from "../../daily-timeline-types.js";
|
|
10
|
+
const N = B(
|
|
11
|
+
({ type: m, userType: n, card: E, onPuzzleClick: c, onReviewClick: s }) => {
|
|
12
|
+
const {
|
|
13
|
+
label: a,
|
|
14
|
+
title: b,
|
|
15
|
+
state: f,
|
|
16
|
+
subtext: u,
|
|
17
|
+
user_node_id: e,
|
|
18
|
+
block_type: A,
|
|
19
|
+
user_block_id: _,
|
|
20
|
+
node_type: T
|
|
21
|
+
} = E, i = A === D.SAT_MOCK_TEST, x = a === "PUZZLE", [h, w] = S(f), l = f === R.COMPLETED, I = L(() => m === z.CIRCLE ? !1 : n === p.TEACHER ? !i || l : n === p.STUDENT ? l && !K.includes(
|
|
22
|
+
T
|
|
23
|
+
) : !1, [n, m, i, l, T]), g = $(() => {
|
|
24
|
+
e && c && c(e);
|
|
25
|
+
}, [c, e]), k = $(() => {
|
|
26
|
+
s && e && s(e, i, _);
|
|
27
|
+
}, [i, s, _, e]);
|
|
28
|
+
return /* @__PURE__ */ r(t, { $flexDirection: "row", $flexGapX: 1.5, children: [
|
|
29
|
+
/* @__PURE__ */ o(t, { $justifyContent: "flex-end", $height: 18, $background: "WHITE", children: /* @__PURE__ */ o(t, { $background: w, $borderRadiusX: 0.5, $width: 16, $height: 16, children: h && /* @__PURE__ */ o(h, { width: 16, height: 16 }) }) }),
|
|
30
|
+
/* @__PURE__ */ r(t, { $flexRowGapX: 0.25, children: [
|
|
31
|
+
/* @__PURE__ */ r(d, { $renderAs: "ub2", $color: "BLACK_1", children: [
|
|
32
|
+
/* @__PURE__ */ r(d, { $renderAs: "ub2-bold", $inline: !0, $color: "BLACK_1", children: [
|
|
33
|
+
a,
|
|
34
|
+
":"
|
|
35
|
+
] }),
|
|
36
|
+
" ",
|
|
37
|
+
b
|
|
38
|
+
] }),
|
|
39
|
+
x ? /* @__PURE__ */ o(
|
|
40
|
+
C,
|
|
41
|
+
{
|
|
42
|
+
label: l ? "View reviewed puzzle" : "View assigned puzzle",
|
|
43
|
+
size: "small",
|
|
44
|
+
color: "BLACK_T_60",
|
|
45
|
+
onClick: g
|
|
46
|
+
}
|
|
47
|
+
) : /* @__PURE__ */ r(t, { $flexDirection: "row", $flexGapX: 0.75, $alignItems: "center", children: [
|
|
48
|
+
u && /* @__PURE__ */ o(d, { $renderAs: "ub3", $color: "BLACK_T_60", children: u }),
|
|
49
|
+
I && /* @__PURE__ */ o(
|
|
50
|
+
C,
|
|
51
|
+
{
|
|
52
|
+
label: "Review",
|
|
53
|
+
size: "small",
|
|
54
|
+
color: "BLACK_T_60",
|
|
55
|
+
onClick: k
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
] })
|
|
59
|
+
] })
|
|
60
|
+
] });
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
N.displayName = "AccordionItem";
|
|
64
|
+
export {
|
|
65
|
+
N as default
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=accordion-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-item.js","sources":["../../../../../src/features/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 { CODING_ACTIVITY_NODE_TYPES } from '../constants';\nimport { CARD_TYPE, NODE_STATE, USER_TYPE } from '../../daily-timeline-types';\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 isPuzzle = label === 'PUZZLE';\n const [Icon, bgColor] = getStateConf(state) as [FC<React.SVGProps<SVGSVGElement>>, TColorNames];\n const isCompleted = state === NODE_STATE.COMPLETED;\n const shouldShowReview = useMemo(() => {\n if (type === CARD_TYPE.CIRCLE) return false;\n\n if (userType === USER_TYPE.TEACHER) return !isSatMockTestBlock || isCompleted;\n\n if (userType === USER_TYPE.STUDENT)\n return (\n isCompleted &&\n !CODING_ACTIVITY_NODE_TYPES.includes(\n nodeType as (typeof CODING_ACTIVITY_NODE_TYPES)[number],\n )\n );\n\n return false;\n }, [userType, type, isSatMockTestBlock, isCompleted, nodeType]);\n\n const handlePuzzleClick = useCallback(() => {\n if (userNodeId && onPuzzleClick) {\n onPuzzleClick(userNodeId);\n }\n }, [onPuzzleClick, userNodeId]);\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} $borderRadiusX={0.5} $width={16} $height={16}>\n {Icon && <Icon width={16} height={16} />}\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 {isPuzzle ? (\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 <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","isPuzzle","Icon","bgColor","getStateConf","isCompleted","NODE_STATE","shouldShowReview","useMemo","CARD_TYPE","USER_TYPE","CODING_ACTIVITY_NODE_TYPES","handlePuzzleClick","useCallback","handleReviewClick","jsxs","FlexView","jsx","Text","TextButton"],"mappings":";;;;;;;;;AAYA,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,IAAWV,MAAU,UACrB,CAACW,GAAMC,CAAO,IAAIC,EAAaX,CAAK,GACpCY,IAAcZ,MAAUa,EAAW,WACnCC,IAAmBC,EAAQ,MAC3BtB,MAASuB,EAAU,SAAe,KAElCtB,MAAauB,EAAU,UAAgB,CAACX,KAAsBM,IAE9DlB,MAAauB,EAAU,UAEvBL,KACA,CAACM,EAA2B;AAAA,MAC1Bb;AAAA,IAAA,IAIC,IACN,CAACX,GAAUD,GAAMa,GAAoBM,GAAaP,CAAQ,CAAC,GAExDc,IAAoBC,EAAY,MAAM;AAC1C,MAAIlB,KAAcN,KAChBA,EAAcM,CAAU;AAAA,IAC1B,GACC,CAACN,GAAeM,CAAU,CAAC,GAExBmB,IAAoBD,EAAY,MAAM;AAC1C,MAAIvB,KAAiBK,KACLL,EAAAK,GAAYI,GAAoBF,CAAW;AAAA,OAE1D,CAACE,GAAoBT,GAAeO,GAAaF,CAAU,CAAC;AAE/D,WACG,gBAAAoB,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,aAAab,GAAS,gBAAgB,KAAK,QAAQ,IAAI,SAAS,IACvE,UAAQD,KAAA,gBAAAe,EAACf,GAAK,EAAA,OAAO,IAAI,QAAQ,GAAI,CAAA,EACxC,CAAA,GACF;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,YAAA3B;AAAA,YAAM;AAAA,UAAA,GACT;AAAA,UAAQ;AAAA,UACPC;AAAA,QAAA,GACH;AAAA,QACCS,IACC,gBAAAgB;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,OAAOd,IAAc,yBAAyB;AAAA,YAC9C,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASO;AAAA,UAAA;AAAA,QAAA,sBAGVI,GAAS,EAAA,gBAAe,OAAM,WAAW,MAAM,aAAY,UACzD,UAAA;AAAA,UAAAtB,uBACEwB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHxB,GAAA;AAAA,UAEDa,KACC,gBAAAU;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;AAEA9B,EAAc,cAAc;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IMAGES as e } from "../../../assets/images/images.js";
|
|
2
|
+
import { NODE_TYPE as _ } from "../../sheets/constants/sheet.js";
|
|
3
|
+
const E = 1, o = {
|
|
4
|
+
"01": e.JAN,
|
|
5
|
+
"02": e.FEB,
|
|
6
|
+
"03": e.MAR,
|
|
7
|
+
"04": e.APR,
|
|
8
|
+
"05": e.MAY,
|
|
9
|
+
"06": e.JUN,
|
|
10
|
+
"07": e.JUL,
|
|
11
|
+
"08": e.AUG,
|
|
12
|
+
"09": e.SEP,
|
|
13
|
+
10: e.OCT,
|
|
14
|
+
11: e.NOV,
|
|
15
|
+
12: e.DEC
|
|
16
|
+
}, m = [
|
|
17
|
+
_.TURING_BASIC,
|
|
18
|
+
_.TURING_LINK,
|
|
19
|
+
_.TURING_SHARE,
|
|
20
|
+
_.PYTHON_BASIC,
|
|
21
|
+
_.PYTHON_VISUAL
|
|
22
|
+
];
|
|
23
|
+
var i = /* @__PURE__ */ ((I) => (I.TIMELINE_VIEWED = "timeline_viewed", I.TIMELINE_CLOSED = "timeline_closed", I.TIMELINE_SCROLLED = "timeline_scrolled", I.TIMELINE_VIEW_EXPANDED = "timeline_view_expanded", I.TIMELINE_VIEW_COLLAPSED = "timeline_view_collapsed", I))(i || {});
|
|
24
|
+
export {
|
|
25
|
+
m as CODING_ACTIVITY_NODE_TYPES,
|
|
26
|
+
E as INITIAL_PAGE,
|
|
27
|
+
i as TIMELINE_EVENTS,
|
|
28
|
+
o as monthImageMap
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=constants.js.map
|