@cuemath/leap 2.8.25-link.0 → 2.8.25-link.1
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/lotties/circle/100pts.json.js +7957 -0
- package/dist/assets/lotties/circle/100pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/10pts.json.js +7753 -0
- package/dist/assets/lotties/circle/10pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/15pts.json.js +7879 -0
- package/dist/assets/lotties/circle/15pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/1pts.json.js +7257 -0
- package/dist/assets/lotties/circle/1pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/20pts.json.js +7845 -0
- package/dist/assets/lotties/circle/20pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/25pts.json.js +7971 -0
- package/dist/assets/lotties/circle/25pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/30pts.json.js +7941 -0
- package/dist/assets/lotties/circle/30pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/35pts.json.js +7881 -0
- package/dist/assets/lotties/circle/35pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/40pts.json.js +7725 -0
- package/dist/assets/lotties/circle/40pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/45pts.json.js +7851 -0
- package/dist/assets/lotties/circle/45pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/50pts.json.js +7707 -0
- package/dist/assets/lotties/circle/50pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/5pts.json.js +7420 -0
- package/dist/assets/lotties/circle/5pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/60pts.json.js +7701 -0
- package/dist/assets/lotties/circle/60pts.json.js.map +1 -0
- package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js +6811 -0
- package/dist/assets/lotties/circle/accuracy-meter-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js +1503 -0
- package/dist/assets/lotties/circle/accuracy-needle-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/circular-loader.json.js +635 -0
- package/dist/assets/lotties/circle/circular-loader.json.js.map +1 -0
- package/dist/assets/lotties/circle/elite-circle-lottie.json.js +12079 -0
- package/dist/assets/lotties/circle/elite-circle-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/levelup-rings-lottie.json.js +1412 -0
- package/dist/assets/lotties/circle/levelup-rings-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js +2632 -0
- package/dist/assets/lotties/circle/sleepy-boi-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/spinner-white.json.js +316 -0
- package/dist/assets/lotties/circle/spinner-white.json.js.map +1 -0
- package/dist/assets/lotties/circle/splash-screen.json.js +5864 -0
- package/dist/assets/lotties/circle/splash-screen.json.js.map +1 -0
- package/dist/assets/lotties/circle/total-streak-lottie.json.js +2103 -0
- package/dist/assets/lotties/circle/total-streak-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/total-time-lottie.json.js +33016 -0
- package/dist/assets/lotties/circle/total-time-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/total-time-spent-lottie.json.js +260 -0
- package/dist/assets/lotties/circle/total-time-spent-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js +1563 -0
- package/dist/assets/lotties/circle/tournament-ripple-lottie.json.js.map +1 -0
- package/dist/assets/lotties/common/nudge-tap.json.js +3597 -0
- package/dist/assets/lotties/common/nudge-tap.json.js.map +1 -0
- package/dist/assets/lotties/error-lottie.json.js +12755 -0
- package/dist/assets/lotties/error-lottie.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/bronze-1.json.js +10871 -0
- package/dist/assets/lotties/perfect-hits/bronze-1.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/bronze-2.json.js +11389 -0
- package/dist/assets/lotties/perfect-hits/bronze-2.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/bronze-3.json.js +12169 -0
- package/dist/assets/lotties/perfect-hits/bronze-3.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/color-1.json.js +12348 -0
- package/dist/assets/lotties/perfect-hits/color-1.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/color-2.json.js +12941 -0
- package/dist/assets/lotties/perfect-hits/color-2.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/color-3.json.js +14034 -0
- package/dist/assets/lotties/perfect-hits/color-3.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/gold-1.json.js +10871 -0
- package/dist/assets/lotties/perfect-hits/gold-1.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/gold-2.json.js +11389 -0
- package/dist/assets/lotties/perfect-hits/gold-2.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/gold-3.json.js +12169 -0
- package/dist/assets/lotties/perfect-hits/gold-3.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/silver-1.json.js +10871 -0
- package/dist/assets/lotties/perfect-hits/silver-1.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/silver-2.json.js +11389 -0
- package/dist/assets/lotties/perfect-hits/silver-2.json.js.map +1 -0
- package/dist/assets/lotties/perfect-hits/silver-3.json.js +12169 -0
- package/dist/assets/lotties/perfect-hits/silver-3.json.js.map +1 -0
- package/dist/assets/lotties/teacher-validation.json.js +649 -0
- package/dist/assets/lotties/teacher-validation.json.js.map +1 -0
- package/dist/assets/lotties/tests-creation/clock_30_min.json.js +2857 -0
- package/dist/assets/lotties/tests-creation/clock_30_min.json.js.map +1 -0
- package/dist/assets/lotties/tests-creation/clock_45_min.json.js +2857 -0
- package/dist/assets/lotties/tests-creation/clock_45_min.json.js.map +1 -0
- package/dist/assets/lotties/tests-creation/clock_60_min.json.js +2857 -0
- package/dist/assets/lotties/tests-creation/clock_60_min.json.js.map +1 -0
- package/dist/assets/lotties/tests-creation/clock_90_min.json.js +3345 -0
- package/dist/assets/lotties/tests-creation/clock_90_min.json.js.map +1 -0
- package/dist/assets/lotties/tests-creation/difficult.json.js +6713 -0
- package/dist/assets/lotties/tests-creation/difficult.json.js.map +1 -0
- package/dist/assets/lotties/tests-creation/easy.json.js +6525 -0
- package/dist/assets/lotties/tests-creation/easy.json.js.map +1 -0
- package/dist/assets/lotties/tests-creation/medium.json.js +5603 -0
- package/dist/assets/lotties/tests-creation/medium.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/15min-clock.json.js +2037 -0
- package/dist/assets/lotties/trial-v3/15min-clock.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/5min-clock.json.js +2062 -0
- package/dist/assets/lotties/trial-v3/5min-clock.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js +8517 -0
- package/dist/assets/lotties/trial-v3/insight/beginner1x.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js +7396 -0
- package/dist/assets/lotties/trial-v3/insight/familiar1x.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js +8559 -0
- package/dist/assets/lotties/trial-v3/insight/proficient1x.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js +23284 -0
- package/dist/assets/lotties/trial-v3/parent-app/easy-rescheduling-lottie.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js +9090 -0
- package/dist/assets/lotties/trial-v3/parent-app/stay-connected-lottie.json.js.map +1 -0
- package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js +8675 -0
- package/dist/assets/lotties/trial-v3/parent-app/track-progress-lottie.json.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js +13 -0
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/fetch-lottie.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +79 -81
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher-styled.js +10 -0
- package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/game-launcher.js +65 -61
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/banner/banner.js +53 -35
- package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
- package/dist/features/circle-games/leaderboard/leaderboard.js +55 -56
- package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js +41 -40
- package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js +8 -4
- package/dist/features/circle-games/sign-up/comp/spinner/spinner-styled.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/spinner/spinner.js +23 -6
- package/dist/features/circle-games/sign-up/comp/spinner/spinner.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js +35 -40
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +2 -2
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js +23 -8
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js +11 -11
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js +43 -37
- package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy.js +34 -38
- package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock.js +39 -43
- package/dist/features/post-game-stats/clock/clock.js.map +1 -1
- package/dist/features/post-game-stats/points/points-styled.js +10 -0
- package/dist/features/post-game-stats/points/points-styled.js.map +1 -0
- package/dist/features/post-game-stats/points/points.js +44 -43
- package/dist/features/post-game-stats/points/points.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak.js +28 -30
- package/dist/features/post-game-stats/streak/streak.js.map +1 -1
- package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js +54 -56
- package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
- package/dist/features/trial-session/comps/parent-app/parent-app.js +20 -25
- package/dist/features/trial-session/comps/parent-app/parent-app.js.map +1 -1
- package/dist/features/trial-session/comps/render-lottie/index.js +26 -0
- package/dist/features/trial-session/comps/render-lottie/index.js.map +1 -0
- package/dist/features/trial-session/comps/session-insights/session-insights.js +39 -40
- package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js +85 -75
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/ui/loader/circular-loader/circular-loader-styled.js +17 -0
- package/dist/features/ui/loader/circular-loader/circular-loader-styled.js.map +1 -0
- package/dist/features/ui/loader/circular-loader/circular-loader.js +20 -16
- package/dist/features/ui/loader/circular-loader/circular-loader.js.map +1 -1
- package/dist/features/ui/nudge/nudge-styled.js +8 -4
- package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
- package/dist/features/ui/nudge/nudge.js +30 -13
- package/dist/features/ui/nudge/nudge.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +20 -22
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js +48 -25
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js +26 -12
- package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
- package/dist/index.d.ts +0 -58
- package/dist/index.js +464 -466
- package/dist/index.js.map +1 -1
- package/package.json +2 -3
- package/dist/assets/lottie/lottie.js +0 -61
- package/dist/assets/lottie/lottie.js.map +0 -1
- package/dist/features/ui/lottie-animation/helper.js +0 -13
- package/dist/features/ui/lottie-animation/helper.js.map +0 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js +0 -37
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +0 -1
- package/dist/static/accuracy-meter.99585cba.json +0 -4218
- package/dist/static/accuracy-needle.cd6e63ac.json +0 -618
- package/dist/static/beginner1x.489908a7.json +0 -3508
- package/dist/static/bronze-1.da4e4b5f.json +0 -4176
- package/dist/static/bronze-2.97f9c639.json +0 -4433
- package/dist/static/bronze-3.6a433ebd.json +0 -4786
- package/dist/static/circular-loader.a5a1a0a6.json +0 -238
- package/dist/static/clock-30min.eae818b8.json +0 -1197
- package/dist/static/clock-45min.df8adf51.json +0 -1197
- package/dist/static/clock-60min.2b48d875.json +0 -1197
- package/dist/static/clock-90min.3e557ed7.json +0 -1407
- package/dist/static/color-1.45101b9a.json +0 -4545
- package/dist/static/color-2.ccdc7d0a.json +0 -4828
- package/dist/static/color-3.5e8e1422.json +0 -5273
- package/dist/static/difficult.6846c064.json +0 -2755
- package/dist/static/easy-rescheduling-lottie.28026af9.json +0 -9301
- package/dist/static/easy.68242ddd.json +0 -2658
- package/dist/static/elite-circle.3df58972.json +0 -6876
- package/dist/static/error-lottie.b3507a4b.json +0 -5255
- package/dist/static/familiar1x.7c9c7f15.json +0 -3046
- package/dist/static/fifteen-min-clock.0af4e303.json +0 -715
- package/dist/static/five-min-clock.6be5cc41.json +0 -721
- package/dist/static/gold-1.ab2489fe.json +0 -4176
- package/dist/static/gold-2.34045826.json +0 -4441
- package/dist/static/gold-3.d704698b.json +0 -4810
- package/dist/static/levelup-rings.b1055283.json +0 -549
- package/dist/static/medium.94c3829b.json +0 -2289
- package/dist/static/nudge-tap.5cb30093.json +0 -1057
- package/dist/static/point1.b53831de.json +0 -2942
- package/dist/static/point10.7b5e536d.json +0 -3179
- package/dist/static/point100.1df16f82.json +0 -3196
- package/dist/static/point15.fea00c32.json +0 -3179
- package/dist/static/point20.c88d776d.json +0 -3178
- package/dist/static/point25.a18c346a.json +0 -3178
- package/dist/static/point30.c5224b0b.json +0 -3202
- package/dist/static/point35.fad343dd.json +0 -3058
- package/dist/static/point40.10a16f72.json +0 -3082
- package/dist/static/point45.2ad7561f.json +0 -3082
- package/dist/static/point5.da40ed1f.json +0 -2948
- package/dist/static/point50.5718cb3d.json +0 -3046
- package/dist/static/point60.17380d9f.json +0 -3076
- package/dist/static/proficient1x.fa6e7b80.json +0 -3430
- package/dist/static/silver-1.0396328a.json +0 -4168
- package/dist/static/silver-2.bf50615f.json +0 -4433
- package/dist/static/silver-3.13d66b84.json +0 -4810
- package/dist/static/sleepy-boi.031a1165.json +0 -1008
- package/dist/static/spinner-white.639e0d87.json +0 -122
- package/dist/static/splash-screen.bbf567ce.json +0 -2411
- package/dist/static/stay-connected-lottie.111439b3.json +0 -3547
- package/dist/static/teacher-validation.7577ecdc.json +0 -245
- package/dist/static/total-streak.d5ce7669.json +0 -842
- package/dist/static/total-time-spent.434005d3.json +0 -200
- package/dist/static/total-time.d979cbb9.json +0 -24383
- package/dist/static/tournament-ripple.e5c239a5.json +0 -1047
- package/dist/static/track-progress-lottie.422108cf.json +0 -2972
@@ -1,75 +1,71 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import
|
3
|
-
import { memo as
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
|
11
|
-
const
|
12
|
-
const { play: c } = x(), [L, F] = h(!1), m = o(!1), l = o(0), d = o(null), E = o(null), a = o(), n = o(), _ = T(() => {
|
1
|
+
import { jsxs as N, jsx as u } from "react/jsx-runtime";
|
2
|
+
import k from "lottie-web";
|
3
|
+
import { memo as v, useState as K, useRef as o, useCallback as f, useEffect as M } from "react";
|
4
|
+
import { useCircleSounds as g } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
|
5
|
+
import { CircleSoundKey as I } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
|
6
|
+
import { delay as R } from "../../utils/utils.js";
|
7
|
+
import { Clock as x, ClockLottie as U, ClockTimeSpentLottie as $, TextWrapper as h } from "./clock-styled.js";
|
8
|
+
import { getClockTimeSpentFramesToPlay as X } from "./clock-util.js";
|
9
|
+
import { CLOCK_TIME_SPENT_FPS as Y, CLOCK as D, CLOCK_INFRAME_LOTTIE_TO_PLAY as j, TIME_LOTTIE_TO_PLAY_IN as w, TEXT_DISAPPEAR_DURATION as H, TEXT_APPEAR_DURATION as W, TIME_SHOWN_HOLD_TIME as b, TEXT_DISAPPEAR_DELAY as q } from "./constants.js";
|
10
|
+
const z = () => import("../../../assets/lotties/circle/total-time-lottie.json.js"), B = () => import("../../../assets/lotties/circle/total-time-spent-lottie.json.js"), ot = v(({ show: s, onComplete: i, timeInMs: T, helperText: p }) => {
|
11
|
+
const { play: c } = g(), [d, F] = K(!1), l = o(!1), m = o(0), L = o(null), S = o(null), a = o(), n = o(), E = f(() => {
|
13
12
|
var t, e;
|
14
|
-
const r =
|
15
|
-
r && (
|
16
|
-
}, [
|
13
|
+
const r = X(T);
|
14
|
+
r && (m.current = r, (t = n.current) == null || t.setSpeed(r / Y), (e = n.current) == null || e.playSegments([0, r], !0), l.current = !0);
|
15
|
+
}, [T]), _ = f(async () => {
|
17
16
|
var r, t;
|
18
|
-
await
|
17
|
+
await R(b), (r = n.current) == null || r.playSegments([m.current, 0], !0), await R(q), F(!0), l.current && ((t = n.current) == null || t.addEventListener("complete", () => {
|
19
18
|
var e;
|
20
|
-
c(
|
19
|
+
c(I.CLOCK_OUT), (e = a.current) == null || e.playSegments(D.OUT_FRAMES, !0);
|
21
20
|
}));
|
22
|
-
}, [
|
21
|
+
}, [m, c]), A = f(() => {
|
23
22
|
i == null || i();
|
24
23
|
}, [i]);
|
25
|
-
return
|
24
|
+
return M(() => {
|
26
25
|
if (s)
|
27
26
|
return (async () => {
|
28
|
-
var
|
27
|
+
var C, y, O;
|
29
28
|
const [t, e] = await Promise.all([
|
30
|
-
|
31
|
-
|
32
|
-
]), [M, v] = await Promise.all([
|
33
|
-
t.json(),
|
34
|
-
e.json()
|
29
|
+
z(),
|
30
|
+
B()
|
35
31
|
]);
|
36
|
-
a.current =
|
37
|
-
container:
|
38
|
-
animationData:
|
32
|
+
a.current = k.loadAnimation({
|
33
|
+
container: L.current,
|
34
|
+
animationData: t.default,
|
39
35
|
autoplay: !1,
|
40
36
|
loop: !1,
|
41
37
|
renderer: "canvas"
|
42
|
-
}), n.current =
|
43
|
-
container:
|
44
|
-
animationData:
|
38
|
+
}), n.current = k.loadAnimation({
|
39
|
+
container: S.current,
|
40
|
+
animationData: e.default,
|
45
41
|
autoplay: !1,
|
46
42
|
loop: !1,
|
47
43
|
renderer: "canvas"
|
48
|
-
}), c(
|
49
|
-
|
50
|
-
}), (
|
44
|
+
}), c(I.CLOCK_IN), (C = a.current) == null || C.playSegments(D.IN_FRAMES, !0), (y = a.current) == null || y.addEventListener("complete", () => {
|
45
|
+
l.current ? A() : E();
|
46
|
+
}), (O = n.current) == null || O.addEventListener("complete", () => {
|
51
47
|
var P;
|
52
|
-
(P = n.current) == null || P.removeEventListener("complete"),
|
48
|
+
(P = n.current) == null || P.removeEventListener("complete"), _();
|
53
49
|
});
|
54
50
|
})(), () => {
|
55
51
|
var t, e;
|
56
52
|
(t = a.current) == null || t.destroy(), (e = n.current) == null || e.destroy();
|
57
53
|
};
|
58
|
-
}, [s,
|
59
|
-
/* @__PURE__ */ u(
|
60
|
-
/* @__PURE__ */ u(
|
54
|
+
}, [s, E, A, _, c]), s ? /* @__PURE__ */ N(x, { children: [
|
55
|
+
/* @__PURE__ */ u(U, { ref: L }),
|
56
|
+
/* @__PURE__ */ u($, { ref: S }),
|
61
57
|
p && /* @__PURE__ */ u(
|
62
|
-
|
58
|
+
h,
|
63
59
|
{
|
64
|
-
$delay:
|
65
|
-
$animationType:
|
66
|
-
$duration:
|
60
|
+
$delay: j + w,
|
61
|
+
$animationType: d ? "fadeout" : "fadein",
|
62
|
+
$duration: d ? H : W,
|
67
63
|
children: p
|
68
64
|
}
|
69
65
|
)
|
70
66
|
] }) : null;
|
71
67
|
});
|
72
68
|
export {
|
73
|
-
|
69
|
+
ot as Clock
|
74
70
|
};
|
75
71
|
//# sourceMappingURL=clock.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"clock.js","sources":["../../../../src/features/post-game-stats/clock/clock.tsx"],"sourcesContent":["import type { IClockProps } from './clock-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport {
|
1
|
+
{"version":3,"file":"clock.js","sources":["../../../../src/features/post-game-stats/clock/clock.tsx"],"sourcesContent":["import type { IClockProps } from './clock-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { delay } from '../../utils/utils';\nimport * as Styled from './clock-styled';\nimport { getClockTimeSpentFramesToPlay } from './clock-util';\nimport {\n CLOCK,\n CLOCK_TIME_SPENT_FPS,\n TIME_SHOWN_HOLD_TIME,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n CLOCK_INFRAME_LOTTIE_TO_PLAY,\n TIME_LOTTIE_TO_PLAY_IN,\n} from './constants';\n\nconst totalTimeLottie = () => import('../../../assets/lotties/circle/total-time-lottie.json');\nconst totalTimeSpentLottie = () =>\n import('../../../assets/lotties/circle/total-time-spent-lottie.json');\n\nexport const Clock: FC<IClockProps> = memo(({ show, onComplete, timeInMs, helperText }) => {\n const { play } = useCircleSounds();\n const [fadeOut, setFadeOut] = useState(false);\n const isClockTimeSpentShown = useRef(false);\n const framesToPlay = useRef(0);\n\n const clockLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockTimeSpentLottieContainerRef = useRef<HTMLDivElement>(null);\n const clockLottieAnimationRef = useRef<AnimationItem>();\n const clockTimeSpentLottieAnimationRef = useRef<AnimationItem>();\n\n const setClockTimeSpentFrames = useCallback(() => {\n const frames = getClockTimeSpentFramesToPlay(timeInMs);\n\n if (frames) {\n framesToPlay.current = frames;\n // Speed adjustment\n clockTimeSpentLottieAnimationRef.current?.setSpeed(frames / CLOCK_TIME_SPENT_FPS);\n clockTimeSpentLottieAnimationRef.current?.playSegments([0, frames], true);\n isClockTimeSpentShown.current = true;\n }\n }, [timeInMs]);\n\n const onClockTimeSpentExitAnimationFinished = useCallback(async () => {\n await delay(TIME_SHOWN_HOLD_TIME);\n\n // Reverse play time spent animation\n clockTimeSpentLottieAnimationRef.current?.playSegments([framesToPlay.current, 0], true);\n\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeOut(true);\n\n if (isClockTimeSpentShown.current) {\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n play(CircleSoundKey.CLOCK_OUT);\n clockLottieAnimationRef.current?.playSegments(CLOCK.OUT_FRAMES, true);\n });\n }\n }, [framesToPlay, play]);\n\n const onAnimationEnd = useCallback(() => {\n onComplete?.();\n }, [onComplete]);\n\n // Play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimations = async () => {\n const [timeLottiePath, timeSpentLottiePath] = await Promise.all([\n totalTimeLottie(),\n totalTimeSpentLottie(),\n ]);\n\n // Clock Lottie\n clockLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockLottieContainerRef.current as Element,\n animationData: timeLottiePath.default,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Clock Time Spent Lottie\n clockTimeSpentLottieAnimationRef.current = Lottie.loadAnimation({\n container: clockTimeSpentLottieContainerRef.current as Element,\n animationData: timeSpentLottiePath.default,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n // Play clock in animation sounds and lottie\n play(CircleSoundKey.CLOCK_IN);\n clockLottieAnimationRef.current?.playSegments(CLOCK.IN_FRAMES, true);\n\n clockLottieAnimationRef.current?.addEventListener('complete', () => {\n if (!isClockTimeSpentShown.current) {\n setClockTimeSpentFrames();\n } else {\n onAnimationEnd();\n }\n });\n\n // Setup event listener for time spent animation\n clockTimeSpentLottieAnimationRef.current?.addEventListener('complete', () => {\n clockTimeSpentLottieAnimationRef.current?.removeEventListener('complete');\n onClockTimeSpentExitAnimationFinished();\n });\n };\n\n loadAnimations();\n\n return () => {\n clockLottieAnimationRef.current?.destroy();\n clockTimeSpentLottieAnimationRef.current?.destroy();\n };\n }\n }, [show, setClockTimeSpentFrames, onAnimationEnd, onClockTimeSpentExitAnimationFinished, play]);\n\n if (show) {\n return (\n <Styled.Clock>\n <Styled.ClockLottie ref={clockLottieContainerRef} />\n <Styled.ClockTimeSpentLottie ref={clockTimeSpentLottieContainerRef} />\n {helperText && (\n <Styled.TextWrapper\n $delay={CLOCK_INFRAME_LOTTIE_TO_PLAY + TIME_LOTTIE_TO_PLAY_IN}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Clock>\n );\n }\n\n return null;\n});\n"],"names":["totalTimeLottie","totalTimeSpentLottie","Clock","memo","show","onComplete","timeInMs","helperText","play","useCircleSounds","fadeOut","setFadeOut","useState","isClockTimeSpentShown","useRef","framesToPlay","clockLottieContainerRef","clockTimeSpentLottieContainerRef","clockLottieAnimationRef","clockTimeSpentLottieAnimationRef","setClockTimeSpentFrames","useCallback","frames","getClockTimeSpentFramesToPlay","_a","CLOCK_TIME_SPENT_FPS","_b","onClockTimeSpentExitAnimationFinished","delay","TIME_SHOWN_HOLD_TIME","TEXT_DISAPPEAR_DELAY","CircleSoundKey","CLOCK","onAnimationEnd","useEffect","timeLottiePath","timeSpentLottiePath","Lottie","_c","jsxs","Styled.Clock","jsx","Styled.ClockLottie","Styled.ClockTimeSpentLottie","Styled.TextWrapper","CLOCK_INFRAME_LOTTIE_TO_PLAY","TIME_LOTTIE_TO_PLAY_IN","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":"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"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import A from "styled-components";
|
2
|
+
import { GAME_LAUNCHER_SIZE as E, GAME_LAUNCHER_ASSET_PADDING as _, GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH as t } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
|
3
|
+
const r = A.div`
|
4
|
+
height: ${E + _ - t}px;
|
5
|
+
width: ${E + _ - t}px;
|
6
|
+
`;
|
7
|
+
export {
|
8
|
+
r as PointsWrapper
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=points-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"points-styled.js","sources":["../../../../src/features/post-game-stats/points/points-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport {\n GAME_LAUNCHER_SIZE,\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nexport const PointsWrapper = styled.div`\n height: ${GAME_LAUNCHER_SIZE +\n GAME_LAUNCHER_ASSET_PADDING -\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH}px;\n width: ${GAME_LAUNCHER_SIZE +\n GAME_LAUNCHER_ASSET_PADDING -\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH}px;\n`;\n"],"names":["PointsWrapper","styled","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH"],"mappings":";;AAQO,MAAMA,IAAgBC,EAAO;AAAA,YACxBC,IACVC,IACAC,CAAwC;AAAA,WAC/BF,IACTC,IACAC,CAAwC;AAAA;"}
|
@@ -1,48 +1,49 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
eventListener: I,
|
41
|
-
onRender: () => s(f.POINTS_AWARDED)
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
2
|
+
import c from "lottie-web";
|
3
|
+
import { memo as f, useRef as u, useEffect as d } from "react";
|
4
|
+
import { useCircleSounds as A } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
|
5
|
+
import { CircleSoundKey as P } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
|
6
|
+
import { PointsWrapper as y } from "./points-styled.js";
|
7
|
+
const E = {
|
8
|
+
point1: () => import("../../../assets/lotties/circle/1pts.json.js"),
|
9
|
+
point5: () => import("../../../assets/lotties/circle/5pts.json.js"),
|
10
|
+
point10: () => import("../../../assets/lotties/circle/10pts.json.js"),
|
11
|
+
point15: () => import("../../../assets/lotties/circle/15pts.json.js"),
|
12
|
+
point20: () => import("../../../assets/lotties/circle/20pts.json.js"),
|
13
|
+
point25: () => import("../../../assets/lotties/circle/25pts.json.js"),
|
14
|
+
point30: () => import("../../../assets/lotties/circle/30pts.json.js"),
|
15
|
+
point35: () => import("../../../assets/lotties/circle/35pts.json.js"),
|
16
|
+
point40: () => import("../../../assets/lotties/circle/40pts.json.js"),
|
17
|
+
point45: () => import("../../../assets/lotties/circle/45pts.json.js"),
|
18
|
+
point50: () => import("../../../assets/lotties/circle/50pts.json.js"),
|
19
|
+
point60: () => import("../../../assets/lotties/circle/60pts.json.js"),
|
20
|
+
point100: () => import("../../../assets/lotties/circle/100pts.json.js")
|
21
|
+
}, x = f((s) => {
|
22
|
+
const { point: o = 0, onReveal: i, onComplete: r, show: n } = s, p = u(null), { play: e } = A();
|
23
|
+
return d(() => {
|
24
|
+
let t = null;
|
25
|
+
if (n && o) {
|
26
|
+
const m = E[`point${o}`];
|
27
|
+
(async () => {
|
28
|
+
if (m) {
|
29
|
+
const l = await m();
|
30
|
+
t = c.loadAnimation({
|
31
|
+
animationData: l.default,
|
32
|
+
container: p.current,
|
33
|
+
loop: !1,
|
34
|
+
autoplay: !0,
|
35
|
+
renderer: "canvas"
|
36
|
+
}), e(P.POINTS_AWARDED), t.addEventListener("complete", r);
|
37
|
+
} else
|
38
|
+
r();
|
39
|
+
})(), i == null || i();
|
42
40
|
}
|
43
|
-
|
41
|
+
return () => {
|
42
|
+
t == null || t.removeEventListener("complete", r), t == null || t.destroy();
|
43
|
+
};
|
44
|
+
}, [n, o, r, e, i]), n && o ? /* @__PURE__ */ a(y, { ref: p }) : null;
|
44
45
|
});
|
45
46
|
export {
|
46
|
-
|
47
|
+
x as Points
|
47
48
|
};
|
48
49
|
//# sourceMappingURL=points.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type {
|
1
|
+
{"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef } from 'react';\n\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport * as Styled from './points-styled';\n\n// lazy load points lotties\nconst POINTS_MAP: Record<string, () => Promise<{ default: Record<string, unknown> }>> = {\n point1: () => import('../../../assets/lotties/circle/1pts.json'),\n point5: () => import('../../../assets/lotties/circle/5pts.json'),\n point10: () => import('../../../assets/lotties/circle/10pts.json'),\n point15: () => import('../../../assets/lotties/circle/15pts.json'),\n point20: () => import('../../../assets/lotties/circle/20pts.json'),\n point25: () => import('../../../assets/lotties/circle/25pts.json'),\n point30: () => import('../../../assets/lotties/circle/30pts.json'),\n point35: () => import('../../../assets/lotties/circle/35pts.json'),\n point40: () => import('../../../assets/lotties/circle/40pts.json'),\n point45: () => import('../../../assets/lotties/circle/45pts.json'),\n point50: () => import('../../../assets/lotties/circle/50pts.json'),\n point60: () => import('../../../assets/lotties/circle/60pts.json'),\n point100: () => import('../../../assets/lotties/circle/100pts.json'),\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n const pointsLottieRef = useRef<HTMLDivElement>(null);\n const { play } = useCircleSounds();\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n\n if (show && point) {\n const lottiePath = POINTS_MAP[`point${point}`];\n\n const loadAnimation = async () => {\n if (lottiePath) {\n const data = await lottiePath();\n\n animation = Lottie.loadAnimation({\n animationData: data.default,\n container: pointsLottieRef.current as Element,\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n });\n\n play(CircleSoundKey.POINTS_AWARDED);\n animation.addEventListener('complete', onComplete);\n } else {\n onComplete(); // safe check if point is not found\n }\n };\n\n loadAnimation();\n onReveal?.();\n }\n\n return () => {\n animation?.removeEventListener('complete', onComplete);\n animation?.destroy();\n };\n }, [show, point, onComplete, play, onReveal]);\n\n if (show && point) {\n return <Styled.PointsWrapper ref={pointsLottieRef} />;\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","Points","memo","props","point","onReveal","onComplete","show","pointsLottieRef","useRef","play","useCircleSounds","useEffect","animation","lottiePath","data","Lottie","CircleSoundKey","jsx","Styled.PointsWrapper"],"mappings":";;;;;;AAYA,MAAMA,IAAkF;AAAA,EACtF,QAAQ,MAAM,OAAO,6CAA0C;AAAA,EAC/D,QAAQ,MAAM,OAAO,6CAA0C;AAAA,EAC/D,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,SAAS,MAAM,OAAO,8CAA2C;AAAA,EACjE,UAAU,MAAM,OAAO,+CAA4C;AACrE,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAC5CK,IAAkBC,EAAuB,IAAI,GAC7C,EAAE,MAAAC,MAASC;AAqCjB,SAnCAC,EAAU,MAAM;AACd,QAAIC,IAAkC;AAEtC,QAAIN,KAAQH,GAAO;AACjB,YAAMU,IAAad,EAAW,QAAQI,CAAK,EAAE;AAqB/B,OAnBQ,YAAY;AAChC,YAAIU,GAAY;AACR,gBAAAC,IAAO,MAAMD;AAEnB,UAAAD,IAAYG,EAAO,cAAc;AAAA,YAC/B,eAAeD,EAAK;AAAA,YACpB,WAAWP,EAAgB;AAAA,YAC3B,MAAM;AAAA,YACN,UAAU;AAAA,YACV,UAAU;AAAA,UAAA,CACX,GAEDE,EAAKO,EAAe,cAAc,GACxBJ,EAAA,iBAAiB,YAAYP,CAAU;AAAA,QAAA;AAEtC,UAAAA;MACb,MAISD,KAAA,QAAAA;AAAA,IACb;AAEA,WAAO,MAAM;AACA,MAAAQ,KAAA,QAAAA,EAAA,oBAAoB,YAAYP,IAC3CO,KAAA,QAAAA,EAAW;AAAA,IAAQ;AAAA,EACrB,GACC,CAACN,GAAMH,GAAOE,GAAYI,GAAML,CAAQ,CAAC,GAExCE,KAAQH,IACF,gBAAAc,EAAAC,GAAA,EAAqB,KAAKX,EAAiB,CAAA,IAG9C;AACT,CAAC;"}
|
@@ -1,36 +1,34 @@
|
|
1
1
|
import { jsxs as f, jsx as e } from "react/jsx-runtime";
|
2
2
|
import k from "lottie-web";
|
3
|
-
import { memo as
|
4
|
-
import {
|
5
|
-
import { useCircleSounds as U } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
|
3
|
+
import { memo as $, useState as p, useRef as E, useCallback as L, useEffect as U } from "react";
|
4
|
+
import { useCircleSounds as K } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
|
6
5
|
import { CircleSoundKey as I } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
|
7
|
-
import { fetchLottie as x } from "../../ui/lottie-animation/helper.js";
|
8
6
|
import { delay as l } from "../../utils/utils.js";
|
9
|
-
import { TEXT_DISAPPEAR_DELAY as
|
10
|
-
import { Streak as
|
11
|
-
const
|
12
|
-
const { currStreak:
|
13
|
-
var
|
7
|
+
import { TEXT_DISAPPEAR_DELAY as x, OUT_FRAMES as c, STREAK_DISAPPEAR_ANIMATION_DURATION as C, STREAK_APPEAR_ANIMATION_DURATION as b, STREAK_SCROLL_ANIMATION_DURATION as _, STREAK_WAIT_DURATION as R, TEXT_DISAPPEAR_DURATION as w, TEXT_APPEAR_DURATION as F, IN_FRAMES as M } from "./constants.js";
|
8
|
+
import { Streak as V, SVGImgContainer as W, StreakLottieView as g, StreakValueWrapper as X, StreakValueContainer as j, StreakValue as y, TextWrapper as H } from "./streak-styled.js";
|
9
|
+
const G = () => import("../../../assets/lotties/circle/total-streak-lottie.json.js"), tt = $((O) => {
|
10
|
+
const { currStreak: T, show: s, onReveal: r, onComplete: a, helperText: u } = O, { play: o } = K(), [D, N] = p(0), m = E(null), n = E(), [i, P] = p(!1), S = L(async () => {
|
11
|
+
var A;
|
14
12
|
try {
|
15
|
-
await l(
|
16
|
-
(
|
13
|
+
await l(x), P(!0), o(I.STREAK_OUT), (A = n.current) == null || A.playSegments(c, !0), await l(
|
14
|
+
(c[1] - c[0]) * 1e3 / 30
|
17
15
|
), a == null || a();
|
18
16
|
} catch (t) {
|
19
17
|
console.log(t);
|
20
18
|
}
|
21
19
|
}, [a, o]);
|
22
|
-
return
|
23
|
-
if (
|
20
|
+
return U(() => {
|
21
|
+
if (s)
|
24
22
|
return (async () => {
|
25
23
|
var d;
|
26
|
-
const
|
24
|
+
const h = (await G()).default;
|
27
25
|
n.current = k.loadAnimation({
|
28
|
-
container:
|
29
|
-
animationData:
|
26
|
+
container: m.current,
|
27
|
+
animationData: h,
|
30
28
|
autoplay: !1,
|
31
29
|
loop: !1,
|
32
30
|
renderer: "canvas"
|
33
|
-
}), o(I.STREAK_IN), (d = n.current) == null || d.playSegments(
|
31
|
+
}), o(I.STREAK_IN), (d = n.current) == null || d.playSegments(M, !0), r == null || r(), l(R).then(() => {
|
34
32
|
N(1), l(_).then(() => {
|
35
33
|
S();
|
36
34
|
});
|
@@ -39,39 +37,39 @@ const rt = P((y) => {
|
|
39
37
|
var t;
|
40
38
|
(t = n.current) == null || t.destroy();
|
41
39
|
};
|
42
|
-
}, [
|
43
|
-
/* @__PURE__ */ e(
|
44
|
-
/* @__PURE__ */ e(
|
40
|
+
}, [s, S, o, r]), s ? /* @__PURE__ */ f(V, { children: [
|
41
|
+
/* @__PURE__ */ e(W, {}),
|
42
|
+
/* @__PURE__ */ e(g, { ref: m }),
|
45
43
|
/* @__PURE__ */ e(
|
46
|
-
|
44
|
+
X,
|
47
45
|
{
|
48
46
|
$animationType: i ? "fadeout" : "fadein",
|
49
|
-
$duration: i ?
|
47
|
+
$duration: i ? C : b,
|
50
48
|
children: /* @__PURE__ */ f(
|
51
|
-
|
49
|
+
j,
|
52
50
|
{
|
53
51
|
$translate: D > 0,
|
54
52
|
$translateDuration: _,
|
55
53
|
children: [
|
56
|
-
/* @__PURE__ */ e(
|
57
|
-
/* @__PURE__ */ e(
|
54
|
+
/* @__PURE__ */ e(y, { $color: "WHITE", $renderAs: "ab1-bold", children: T }),
|
55
|
+
/* @__PURE__ */ e(y, { $color: "WHITE", $renderAs: "ab1-bold", children: T + 1 })
|
58
56
|
]
|
59
57
|
}
|
60
58
|
)
|
61
59
|
}
|
62
60
|
),
|
63
|
-
|
64
|
-
|
61
|
+
u && /* @__PURE__ */ e(
|
62
|
+
H,
|
65
63
|
{
|
66
64
|
$delay: R,
|
67
65
|
$animationType: i ? "fadeout" : "fadein",
|
68
|
-
$duration: i ?
|
69
|
-
children:
|
66
|
+
$duration: i ? w : F,
|
67
|
+
children: u
|
70
68
|
}
|
71
69
|
)
|
72
70
|
] }) : null;
|
73
71
|
});
|
74
72
|
export {
|
75
|
-
|
73
|
+
tt as Streak
|
76
74
|
};
|
77
75
|
//# sourceMappingURL=streak.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"streak.js","sources":["../../../../src/features/post-game-stats/streak/streak.tsx"],"sourcesContent":["import type { IStreakProps } from './streak-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport {
|
1
|
+
{"version":3,"file":"streak.js","sources":["../../../../src/features/post-game-stats/streak/streak.tsx"],"sourcesContent":["import type { IStreakProps } from './streak-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport { delay } from '../../utils/utils';\nimport {\n IN_FRAMES,\n OUT_FRAMES,\n STREAK_APPEAR_ANIMATION_DURATION,\n STREAK_DISAPPEAR_ANIMATION_DURATION,\n STREAK_SCROLL_ANIMATION_DURATION,\n STREAK_WAIT_DURATION,\n TEXT_APPEAR_DURATION,\n TEXT_DISAPPEAR_DELAY,\n TEXT_DISAPPEAR_DURATION,\n} from './constants';\nimport * as Styled from './streak-styled';\n\nconst streakLottie = () => import('../../../assets/lotties/circle/total-streak-lottie.json');\n\nexport const Streak: FC<IStreakProps> = memo(props => {\n const { currStreak, show, onReveal, onComplete, helperText } = props;\n const { play } = useCircleSounds();\n const [displayStreak, setDisplayStreak] = useState(0);\n const lottieContainerRef = useRef<HTMLDivElement>(null);\n const lottieAnimationRef = useRef<AnimationItem>();\n const [fadeOut, setFadeout] = useState(false);\n\n const playExitAnimation = useCallback(async () => {\n try {\n await delay(TEXT_DISAPPEAR_DELAY);\n setFadeout(true);\n play(CircleSoundKey.STREAK_OUT);\n lottieAnimationRef.current?.playSegments(OUT_FRAMES, true);\n const LOTTIE_FPS = 30;\n\n await delay(\n (((OUT_FRAMES[1] as unknown as number) - (OUT_FRAMES[0] as unknown as number)) * 1000) /\n LOTTIE_FPS,\n );\n onComplete?.();\n } catch (err) {\n /* eslint-disable no-console */\n console.log(err);\n }\n }, [onComplete, play]);\n\n // play entry animation\n useEffect(() => {\n if (show) {\n const loadAnimation = async () => {\n const lottiePath = await streakLottie();\n\n const streakLottieAnimationData = lottiePath.default;\n\n lottieAnimationRef.current = Lottie.loadAnimation({\n container: lottieContainerRef.current as Element,\n animationData: streakLottieAnimationData,\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n });\n\n play(CircleSoundKey.STREAK_IN);\n lottieAnimationRef.current?.playSegments(IN_FRAMES, true);\n onReveal?.();\n\n delay(STREAK_WAIT_DURATION).then(() => {\n setDisplayStreak(1);\n delay(STREAK_SCROLL_ANIMATION_DURATION).then(() => {\n playExitAnimation();\n });\n });\n };\n\n loadAnimation();\n\n return () => {\n lottieAnimationRef.current?.destroy();\n };\n }\n }, [show, playExitAnimation, play, onReveal]);\n\n if (show) {\n return (\n <Styled.Streak>\n <Styled.SVGImgContainer />\n <Styled.StreakLottieView ref={lottieContainerRef} />\n\n <Styled.StreakValueWrapper\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={\n fadeOut ? STREAK_DISAPPEAR_ANIMATION_DURATION : STREAK_APPEAR_ANIMATION_DURATION\n }\n >\n <Styled.StreakValueContainer\n $translate={displayStreak > 0}\n $translateDuration={STREAK_SCROLL_ANIMATION_DURATION}\n >\n <Styled.StreakValue $color=\"WHITE\" $renderAs=\"ab1-bold\">\n {currStreak}\n </Styled.StreakValue>\n <Styled.StreakValue $color=\"WHITE\" $renderAs=\"ab1-bold\">\n {currStreak + 1}\n </Styled.StreakValue>\n </Styled.StreakValueContainer>\n </Styled.StreakValueWrapper>\n\n {helperText && (\n <Styled.TextWrapper\n $delay={STREAK_WAIT_DURATION}\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? TEXT_DISAPPEAR_DURATION : TEXT_APPEAR_DURATION}\n >\n {helperText}\n </Styled.TextWrapper>\n )}\n </Styled.Streak>\n );\n }\n\n return null;\n});\n"],"names":["streakLottie","Streak","memo","props","currStreak","show","onReveal","onComplete","helperText","play","useCircleSounds","displayStreak","setDisplayStreak","useState","lottieContainerRef","useRef","lottieAnimationRef","fadeOut","setFadeout","playExitAnimation","useCallback","delay","TEXT_DISAPPEAR_DELAY","CircleSoundKey","_a","OUT_FRAMES","err","useEffect","streakLottieAnimationData","Lottie","IN_FRAMES","STREAK_WAIT_DURATION","STREAK_SCROLL_ANIMATION_DURATION","jsxs","Styled.Streak","jsx","Styled.SVGImgContainer","Styled.StreakLottieView","Styled.StreakValueWrapper","STREAK_DISAPPEAR_ANIMATION_DURATION","STREAK_APPEAR_ANIMATION_DURATION","Styled.StreakValueContainer","Styled.StreakValue","Styled.TextWrapper","TEXT_DISAPPEAR_DURATION","TEXT_APPEAR_DURATION"],"mappings":";;;;;;;;AAuBA,MAAMA,IAAe,MAAM,OAAO,4DAAyD,GAE9EC,KAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,YAAAC,GAAY,MAAAC,GAAM,UAAAC,GAAU,YAAAC,GAAY,YAAAC,EAAe,IAAAL,GACzD,EAAE,MAAAM,MAASC,KACX,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAC9CC,IAAqBC,EAAuB,IAAI,GAChDC,IAAqBD,KACrB,CAACE,GAASC,CAAU,IAAIL,EAAS,EAAK,GAEtCM,IAAoBC,EAAY,YAAY;;AAC5C,QAAA;AACF,YAAMC,EAAMC,CAAoB,GAChCJ,EAAW,EAAI,GACfT,EAAKc,EAAe,UAAU,IACXC,IAAAR,EAAA,YAAA,QAAAQ,EAAS,aAAaC,GAAY,KAG/C,MAAAJ;AAAA,SACDI,EAAW,CAAC,IAA2BA,EAAW,CAAC,KAA2B,MAHhE;AAAA,MAIf,GAESlB,KAAA,QAAAA;AAAA,aACNmB,GAAK;AAEZ,cAAQ,IAAIA,CAAG;AAAA,IACjB;AAAA,EAAA,GACC,CAACnB,GAAYE,CAAI,CAAC;AAsCrB,SAnCAkB,EAAU,MAAM;AACd,QAAItB;AA0BY,cAzBQ,YAAY;;AAGhC,cAAMuB,KAFa,MAAM5B,KAEoB;AAE1B,QAAAgB,EAAA,UAAUa,EAAO,cAAc;AAAA,UAChD,WAAWf,EAAmB;AAAA,UAC9B,eAAec;AAAA,UACf,UAAU;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,QAAA,CACX,GAEDnB,EAAKc,EAAe,SAAS,IACVC,IAAAR,EAAA,YAAA,QAAAQ,EAAS,aAAaM,GAAW,KACzCxB,KAAA,QAAAA,KAELe,EAAAU,CAAoB,EAAE,KAAK,MAAM;AACrC,UAAAnB,EAAiB,CAAC,GACZS,EAAAW,CAAgC,EAAE,KAAK,MAAM;AAC/B,YAAAb;UAAA,CACnB;AAAA,QAAA,CACF;AAAA,MAAA,MAKI,MAAM;;AACX,SAAAK,IAAAR,EAAmB,YAAnB,QAAAQ,EAA4B;AAAA,MAAQ;AAAA,KAGvC,CAACnB,GAAMc,GAAmBV,GAAMH,CAAQ,CAAC,GAExCD,IAEA,gBAAA4B,EAACC,GAAA,EACC,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAuB;AAAA,IACvB,gBAAAD,EAAAE,GAAA,EAAwB,KAAKvB,EAAoB,CAAA;AAAA,IAElD,gBAAAqB;AAAA,MAACG;AAAAA,MAAA;AAAA,QACC,gBAAgBrB,IAAU,YAAY;AAAA,QACtC,WACEA,IAAUsB,IAAsCC;AAAA,QAGlD,UAAA,gBAAAP;AAAA,UAACQ;AAAAA,UAAA;AAAA,YACC,YAAY9B,IAAgB;AAAA,YAC5B,oBAAoBqB;AAAA,YAEpB,UAAA;AAAA,cAAA,gBAAAG,EAACO,GAAA,EAAmB,QAAO,SAAQ,WAAU,YAC1C,UACHtC,GAAA;AAAA,cACA,gBAAA+B,EAACO,GAAA,EAAmB,QAAO,SAAQ,WAAU,YAC1C,UAAAtC,IAAa,GAChB;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,IAECI,KACC,gBAAA2B;AAAA,MAACQ;AAAAA,MAAA;AAAA,QACC,QAAQZ;AAAA,QACR,gBAAgBd,IAAU,YAAY;AAAA,QACtC,WAAWA,IAAU2B,IAA0BC;AAAA,QAE9C,UAAArC;AAAA,MAAA;AAAA,IACH;AAAA,EAEJ,EAAA,CAAA,IAIG;AACT,CAAC;"}
|