import { ArrowUpRight } from "lucide-react"; import Link from "next/link"; import { PortfolioCover } from "@/components/site/portfolio-cover"; import { Badge } from "@/components/ui/badge"; import { cn } from "@/lib/utils"; import { SectionHeading } from "./section-heading"; import type { ProjectCardCopy, ProjectsSectionCopy } from "./types"; type ProjectsSectionProps = { copy: ProjectsSectionCopy; items: ProjectCardCopy[]; }; export function ProjectsSection({ copy, items }: ProjectsSectionProps) { return (
{items.map((item, index) => { const featured = Boolean(item.featured); return (
{item.meta.map((metaItem) => ( {metaItem} ))}

{item.title}

{item.summary}

{item.stack.length > 0 ? (
{item.stack.map((stackItem) => ( {stackItem} ))}
) : null} {item.cta}
); })}
); }