import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import type { ShowcaseProject } from "@/data/showcase"; function initials(name: string) { const parts = name.trim().split(/\s+/); const [a, b] = [parts[0] || "", parts[1] || ""]; return (a[0] || "").concat(b[0] || "").toUpperCase() || "A"; } export default function ShowcaseCard({ p }: { p: ShowcaseProject }) { return ( {p.image && (
{p.title}
)}
{p.orgUnit && ( {p.orgUnit} )} {p.timeframe && ( {p.timeframe} )}
{p.title} {p.description}
{p.tags && p.tags.length > 0 && (
{p.tags.map((t) => ( {t} ))}
)} {p.contributors && p.contributors.length > 0 && (
{p.contributors.slice(0, 5).map((c) => ( {initials(c.name)} ))}
{p.role || "AeThex"}
)} {p.links && p.links.length > 0 && (
{p.links.map((l) => ( ))}
)}
); }