diff --git a/packages/ui/src/components/multica-icon.tsx b/packages/ui/src/components/multica-icon.tsx index c5d87e30..7c376175 100644 --- a/packages/ui/src/components/multica-icon.tsx +++ b/packages/ui/src/components/multica-icon.tsx @@ -1,8 +1,9 @@ +import { useState, useEffect } from "react"; import { cn } from "@multica/ui/lib/utils"; interface MulticaIconProps extends React.ComponentProps<"span"> { /** - * If true, play a one-time entrance spin animation (2 seconds). + * If true, play a one-time entrance spin animation. */ animate?: boolean; } @@ -17,11 +18,20 @@ export function MulticaIcon({ animate = false, ...props }: MulticaIconProps) { + const [entranceDone, setEntranceDone] = useState(!animate); + + useEffect(() => { + if (!animate) return; + const timer = setTimeout(() => setEntranceDone(true), 600); + return () => clearTimeout(timer); + }, [animate]); + return (