"use client"; import { memo, useState } from "react"; import MediaContent from "@/components/shared/MediaContent"; import AnimationContainer from "@/components/sections/AnimationContainer"; import { cls, shouldUseInvertedText } from "@/lib/utils"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; interface TabOption { id: string; label: string; description: string; } interface MediaSplitTabsAboutProps { title: string; description?: string; tabs: TabOption[]; imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string; imagePosition?: "left" | "right"; useInvertedBackground: "noInvert" | "invertDefault" | "invertCard"; ariaLabel?: string; className?: string; containerClassName?: string; contentCardClassName?: string; titleClassName?: string; titleDescriptionClassName?: string; tabsContainerClassName?: string; tabClassName?: string; activeTabClassName?: string; tabIndicatorClassName?: string; descriptionClassName?: string; mediaCardClassName?: string; mediaClassName?: string; } const MediaSplitTabsAbout = ({ title, description, tabs, imageSrc, videoSrc, imageAlt, videoAriaLabel, imagePosition = "right", useInvertedBackground, ariaLabel = "About section", className = "", containerClassName = "", contentCardClassName = "", titleClassName = "", titleDescriptionClassName = "", tabsContainerClassName = "", tabClassName = "", activeTabClassName = "", tabIndicatorClassName = "", descriptionClassName = "", mediaCardClassName = "", mediaClassName = "", }: MediaSplitTabsAboutProps) => { const theme = useTheme(); const shouldUseLightText = shouldUseInvertedText(useInvertedBackground, theme.cardStyle); const [activeTab, setActiveTab] = useState(tabs[0]?.id || ""); const activeTabData = tabs.find((tab) => tab.id === activeTab); const contentCard = (

{title}

{description && (

{description}

)}
{tabs.map((tab) => ( ))}

{activeTabData?.description}

); const mediaCard = (
); return (
{imagePosition === "left" ? ( <>
{mediaCard}
{contentCard}
) : ( <>
{contentCard}
{mediaCard}
)}
); }; MediaSplitTabsAbout.displayName = "MediaSplitTabsAbout"; export default memo(MediaSplitTabsAbout);