From dc9fbc395e39344354cdb586b4fb0653fa11009b Mon Sep 17 00:00:00 2001 From: Danny Ricciotti Date: Thu, 11 Dec 2025 16:20:39 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20glitchy=20kangaroo=20bounc?= =?UTF-8?q?e=20animation=20on=20welcome=20screen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The kangaroo logo on the welcome screen had a visual glitch where it would instantly jump to the top position when hovering, instead of smoothly starting the bounce from its resting position. Changes: - Added custom smooth-bounce keyframe animation in index.css that explicitly starts from translateY(0) - Updated RooHero component to use hover state tracking with the new animation - Removed Tailwind's animate-bounce class which was causing the glitch The animation now smoothly bounces from the resting position without any jarring visual jumps. --- webview-ui/src/components/welcome/RooHero.tsx | 9 ++++++-- webview-ui/src/index.css | 23 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/webview-ui/src/components/welcome/RooHero.tsx b/webview-ui/src/components/welcome/RooHero.tsx index 4a8fd179584..5e6ef9899a0 100644 --- a/webview-ui/src/components/welcome/RooHero.tsx +++ b/webview-ui/src/components/welcome/RooHero.tsx @@ -5,9 +5,13 @@ const RooHero = () => { const w = window as any return w.IMAGES_BASE_URI || "" }) + const [isHovered, setIsHovered] = useState(false) return ( -
+
setIsHovered(true)} + onMouseLeave={() => setIsHovered(false)}>
{ maskImage: `url('${imagesBaseUri}/roo-logo.svg')`, maskRepeat: "no-repeat", maskSize: "contain", + animation: isHovered ? "smooth-bounce 1s ease-in-out infinite" : "none", }} - className="z-5 mr-auto group-hover:animate-bounce translate-y-0 transition-transform duration-500"> + className="z-5 mr-auto translate-y-0 transition-transform duration-500"> Roo logo