|
@@ -5,9 +5,13 @@ const RooHero = () => {
|
|
|
const w = window as any
|
|
const w = window as any
|
|
|
return w.IMAGES_BASE_URI || ""
|
|
return w.IMAGES_BASE_URI || ""
|
|
|
})
|
|
})
|
|
|
|
|
+ const [isHovered, setIsHovered] = useState(false)
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
- <div className="mb-4 relative forced-color-adjust-none group flex flex-col items-center w-30 pt-4 overflow-clip">
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ className="mb-4 relative forced-color-adjust-none group flex flex-col items-center w-30 pt-4 overflow-clip"
|
|
|
|
|
+ onMouseEnter={() => setIsHovered(true)}
|
|
|
|
|
+ onMouseLeave={() => setIsHovered(false)}>
|
|
|
<div
|
|
<div
|
|
|
style={{
|
|
style={{
|
|
|
backgroundColor: "var(--vscode-foreground)",
|
|
backgroundColor: "var(--vscode-foreground)",
|
|
@@ -17,8 +21,9 @@ const RooHero = () => {
|
|
|
maskImage: `url('${imagesBaseUri}/roo-logo.svg')`,
|
|
maskImage: `url('${imagesBaseUri}/roo-logo.svg')`,
|
|
|
maskRepeat: "no-repeat",
|
|
maskRepeat: "no-repeat",
|
|
|
maskSize: "contain",
|
|
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">
|
|
|
<img src={imagesBaseUri + "/roo-logo.svg"} alt="Roo logo" className="h-8 opacity-0" />
|
|
<img src={imagesBaseUri + "/roo-logo.svg"} alt="Roo logo" className="h-8 opacity-0" />
|
|
|
</div>
|
|
</div>
|
|
|
<div
|
|
<div
|