import type { LucideIcon } from "lucide-react"; import Button from "@/components/ui/Button"; import TextAnimation from "@/components/ui/TextAnimation"; import ImageOrVideo from "@/components/ui/ImageOrVideo"; import GridOrCarousel from "@/components/ui/GridOrCarousel"; import ScrollReveal from "@/components/ui/ScrollReveal"; import { resolveIcon } from "@/utils/resolve-icon"; type SocialLink = { icon: string | LucideIcon; url: string; }; type TeamMember = { name: string; role: string; description: string; socialLinks: SocialLink[]; } & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never }); const TeamDetailedCards = ({ tag, title, description, primaryButton, secondaryButton, members, }: { tag: string; title: string; description: string; primaryButton?: { text: string; href: string }; secondaryButton?: { text: string; href: string }; members: TeamMember[]; }) => (

{tag}

{(primaryButton || secondaryButton) && (
{primaryButton &&
)}
{members.map((member) => (
{member.name}

{member.role}

{member.description}

{member.socialLinks.map((link, index) => { const IconComponent = resolveIcon(link.icon); return ( ); })}
))}
); export default TeamDetailedCards;