"use client"; import { memo } from "react"; import MediaContent from "@/components/shared/MediaContent"; import Button from "@/components/button/Button"; import { cls, shouldUseInvertedText } from "@/lib/utils"; import { getButtonProps } from "@/lib/buttonUtils"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; import type { ButtonConfig } from "@/types/button"; interface MediaSplitAboutProps { title: string; description: string; imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string; buttons?: ButtonConfig[]; imagePosition?: "left" | "right"; useInvertedBackground: "noInvert" | "invertDefault" | "invertCard"; ariaLabel?: string; className?: string; containerClassName?: string; contentCardClassName?: string; titleClassName?: string; descriptionClassName?: string; buttonContainerClassName?: string; buttonClassName?: string; buttonTextClassName?: string; mediaCardClassName?: string; mediaClassName?: string; } const MediaSplitAbout = ({ title, description, imageSrc, videoSrc, imageAlt, videoAriaLabel, buttons, imagePosition = "right", useInvertedBackground, ariaLabel = "About section", className = "", containerClassName = "", contentCardClassName = "", titleClassName = "", descriptionClassName = "", buttonContainerClassName = "", buttonClassName = "", buttonTextClassName = "", mediaCardClassName = "", mediaClassName = "", }: MediaSplitAboutProps) => { const theme = useTheme(); const shouldUseLightText = shouldUseInvertedText(useInvertedBackground, theme.cardStyle); const contentCard = (

{title}

{description}

{buttons && buttons.length > 0 && (
{buttons.slice(0, 2).map((button, index) => (
)}
); const mediaCard = (
); return (
{imagePosition === "left" ? ( <> {mediaCard} {contentCard} ) : ( <> {contentCard} {mediaCard} )}
); }; MediaSplitAbout.displayName = "MediaSplitAbout"; export default memo(MediaSplitAbout);