diff --git a/src/components/sections/hero/HeroBillboard.tsx b/src/components/sections/hero/HeroBillboard.tsx index f968edc..07d635b 100644 --- a/src/components/sections/hero/HeroBillboard.tsx +++ b/src/components/sections/hero/HeroBillboard.tsx @@ -6,6 +6,7 @@ import HeroBackgrounds, { type HeroBackgroundVariantProps } from "@/components/b import LogoMarquee, { type MarqueeItem } from "@/components/shared/LogoMarquee"; import { cls } from "@/lib/utils"; import { useButtonAnimation } from "@/components/hooks/useButtonAnimation"; +import { useState } from "react"; import type { LucideIcon } from "lucide-react"; import type { ButtonConfig, ButtonAnimationType } from "@/types/button"; import type { Avatar } from "@/components/shared/AvatarGroup"; @@ -70,45 +71,46 @@ interface HeroBillboardProps { } const HeroBillboard = ({ - title, - description, - background, - tag, - tagIcon, - tagAnimation, - buttons, - buttonAnimation, - avatars, - avatarText, - imageSrc, - videoSrc, - imageAlt = "", - videoAriaLabel = "Hero video", - mediaAnimation = "none", - marqueeItems, - marqueeSpeed = 30, - showMarqueeCard = true, - ariaLabel = "Hero section", - className = "", - containerClassName = "", - textBoxClassName = "", - titleClassName = "", - descriptionClassName = "", - tagClassName = "", - avatarGroupClassName = "", - buttonContainerClassName = "", - buttonClassName = "", - buttonTextClassName = "", - mediaWrapperClassName = "", - imageClassName = "", - marqueeClassName = "", - marqueeItemClassName = "", - marqueeCardClassName = "", - marqueeImageClassName = "", - marqueeTextClassName = "", - marqueeIconClassName = "", + title, + description, + background, + tag, + tagIcon, + tagAnimation, + buttons, + buttonAnimation, + avatars, + avatarText, + imageSrc, + videoSrc, + imageAlt = "", + videoAriaLabel = "Hero video", + mediaAnimation = "none", + marqueeItems, + marqueeSpeed = 30, + showMarqueeCard = true, + ariaLabel = "Hero section", + className = "", + containerClassName = "", + textBoxClassName = "", + titleClassName = "", + descriptionClassName = "", + tagClassName = "", + avatarGroupClassName = "", + buttonContainerClassName = "", + buttonClassName = "", + buttonTextClassName = "", + mediaWrapperClassName = "", + imageClassName = "", + marqueeClassName = "", + marqueeItemClassName = "", + marqueeCardClassName = "", + marqueeImageClassName = "", + marqueeTextClassName = "", + marqueeIconClassName = "", }: HeroBillboardProps) => { - const { containerRef: mediaContainerRef } = useButtonAnimation({ animationType: mediaAnimation }); + const { containerRef: mediaContainerRef } = useButtonAnimation({ animationType: mediaAnimation }); + const [isHovering, setIsHovering] = useState(false); return (
-
- -
- -
-
+
setIsHovering(true)} + onMouseLeave={() => setIsHovering(false)} + > + +
+ +
+
{marqueeItems && marqueeItems.length > 0 && (