"use client"; import React, { memo } from "react"; import MediaContent from "@/components/shared/MediaContent"; import SvgTextLogo from "@/components/shared/SvgTextLogo/SvgTextLogo"; import TextAnimation from "@/components/text/TextAnimation"; import { cls } from "@/lib/utils"; import { Plus } from "lucide-react"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; interface HeroLogoBillboardProps { logoText: string; description: string; imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string; frameStyle?: "card" | "browser"; ariaLabel?: string; className?: string; containerClassName?: string; logoContainerClassName?: string; logoClassName?: string; descriptionClassName?: string; mediaWrapperClassName?: string; imageClassName?: string; browserBarClassName?: string; addressBarClassName?: string; } const HeroLogoBillboard = ({ logoText, description, imageSrc, videoSrc, imageAlt = "", videoAriaLabel = "Hero video", frameStyle = "card", ariaLabel = "Hero section", className = "", containerClassName = "", logoContainerClassName = "", logoClassName = "", descriptionClassName = "", mediaWrapperClassName = "", imageClassName = "", browserBarClassName = "", addressBarClassName = "", }: HeroLogoBillboardProps) => { const theme = useTheme(); const [isMobile, setIsMobile] = React.useState(false); React.useEffect(() => { const checkMobile = () => setIsMobile(window.innerWidth < 768); checkMobile(); window.addEventListener('resize', checkMobile); return () => window.removeEventListener('resize', checkMobile); }, []); const adjustHeightFactor = isMobile ? 1.1 : 0.8; return (
{frameStyle === "browser" ? (
) : (
)}
); }; HeroLogoBillboard.displayName = "HeroLogoBillboard"; export default memo(HeroLogoBillboard);