"use client"; import MediaContent from "@/components/shared/MediaContent"; import FillWidthText from "@/components/shared/FillWidthText/FillWidthText"; import TextAnimation from "@/components/text/TextAnimation"; import Button from "@/components/button/Button"; import HeroBackgrounds, { type HeroBackgroundVariantProps } from "@/components/background/HeroBackgrounds"; import { cls } from "@/lib/utils"; import { getButtonProps } from "@/lib/buttonUtils"; import { Plus } from "lucide-react"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; import type { ButtonConfig } from "@/types/button"; type HeroLogoBillboardSplitBackgroundProps = Extract< HeroBackgroundVariantProps, | { variant: "plain" } | { variant: "animated-grid" } | { variant: "canvas-reveal" } | { variant: "cell-wave" } | { variant: "downward-rays-animated" } | { variant: "downward-rays-animated-grid" } | { variant: "downward-rays-static" } | { variant: "downward-rays-static-grid" } | { variant: "glowing-orb" } | { variant: "gradient-bars" } | { variant: "radial-gradient" } | { variant: "rotated-rays-animated" } | { variant: "rotated-rays-animated-grid" } | { variant: "rotated-rays-static" } | { variant: "rotated-rays-static-grid" } | { variant: "sparkles-gradient" } >; interface HeroLogoBillboardSplitProps { logoText: string; description: string; background: HeroLogoBillboardSplitBackgroundProps; buttons: ButtonConfig[]; layoutOrder: "default" | "reverse"; imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string; frameStyle?: "card" | "browser"; ariaLabel?: string; className?: string; containerClassName?: string; logoContainerClassName?: string; descriptionClassName?: string; buttonContainerClassName?: string; buttonClassName?: string; buttonTextClassName?: string; logoClassName?: string; mediaWrapperClassName?: string; imageClassName?: string; browserBarClassName?: string; addressBarClassName?: string; } const HeroLogoBillboardSplit = ({ logoText, description, background, buttons, layoutOrder, imageSrc, videoSrc, imageAlt = "", videoAriaLabel = "Hero video", frameStyle = "card", ariaLabel = "Hero section", className = "", containerClassName = "", logoContainerClassName = "", descriptionClassName = "", buttonContainerClassName = "", buttonClassName = "", buttonTextClassName = "", logoClassName = "", mediaWrapperClassName = "", imageClassName = "", browserBarClassName = "", addressBarClassName = "", }: HeroLogoBillboardSplitProps) => { const theme = useTheme(); return (
{logoText}
{frameStyle === "browser" ? (
) : (
)}
); }; HeroLogoBillboardSplit.displayName = "HeroLogoBillboardSplit"; export default HeroLogoBillboardSplit;