From 4a8382a46fa8b1a8321205f3876675198ef30887 Mon Sep 17 00:00:00 2001 From: bartosz-lipinski <264380+bartosz-lipinski@users.noreply.github.com> Date: Tue, 13 Apr 2021 23:39:14 -0500 Subject: [PATCH] fix: confetti --- .../metavinci/src/views/artCreate/index.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/metavinci/src/views/artCreate/index.tsx b/packages/metavinci/src/views/artCreate/index.tsx index 618019c..8a2512b 100644 --- a/packages/metavinci/src/views/artCreate/index.tsx +++ b/packages/metavinci/src/views/artCreate/index.tsx @@ -619,7 +619,7 @@ const Congrats = () => { - + } @@ -632,7 +632,7 @@ interface Particle { size: number, } -const Conffeti = () => { +const Confetti = () => { const [particles, setParticles] = useState>(Array.from({ length: 30 }).map(_ => ({ top: -Math.random() * 100, left: Math.random() * 100, @@ -643,13 +643,23 @@ const Conffeti = () => { }))) useEffect(() => { - setInterval(() => { + const interval = setInterval(() => { setParticles(parts => parts.map(part => ({ ...part, top: (part.top > 130 ? -30 : part.top + part.speed), angle: (part.angle > 360 ? 0 : part.angle + part.angle_speed), }))) - }, 40) + }, 70); + + const timeout = setTimeout(() => { + setParticles([]); + clearInterval(interval); + }, 5000); + + return () => { + clearInterval(interval); + clearTimeout(timeout); + }; }, []) const getStyle = (particle: Particle) => ({