From 1ac665ad8812b7ba0364154e939e016612e110ee Mon Sep 17 00:00:00 2001 From: "DESKTOP-I1T6TF3\\Q" <2291969160@qq.com> Date: Thu, 4 Jun 2026 14:58:57 +0800 Subject: [PATCH] feat(loading): delay teaser slow-pulse animation by 1s after typewriter ends --- components/PlayCanvas.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/components/PlayCanvas.tsx b/components/PlayCanvas.tsx index 9ebee2f..7127a17 100644 --- a/components/PlayCanvas.tsx +++ b/components/PlayCanvas.tsx @@ -213,6 +213,19 @@ export function PlayCanvas({ waitForAudio: false, }); + const [pulseActive, setPulseActive] = useState(false); + + useEffect(() => { + if (teaserDone) { + const timer = setTimeout(() => { + setPulseActive(true); + }, 1000); + return () => clearTimeout(timer); + } else { + setPulseActive(false); + } + }, [teaserDone]); + // ── Audio source change ────────────────────────────────────────────── // Reset duration when audio source changes; if loading takes too long, // unblock the typewriter via timeout so text doesn't stall. @@ -505,7 +518,7 @@ export function PlayCanvas({ ✦ 故 · 事 · 预 · 告 ✦ -

+

{typedTeaser}