import Link from "next/link"; import { VitrineImage } from "@/components/VitrineImage"; import { memberPath } from "@/lib/seo"; export type MemberCardData = { id: number; name: string; description: string | null; city: string | null; address: string | null; coverUrl: string | null; logoUrl: string | null; categoryLabel: string | null; accent: string | null; hasPromo?: boolean; promoBadge?: string | null; }; const STRIPE_WARM = "repeating-linear-gradient(45deg,#efe9da,#efe9da 12px,#e6ddc9 12px,#e6ddc9 24px)"; const STRIPE_COOL = "repeating-linear-gradient(45deg,#eef0ec,#eef0ec 12px,#e2e8e6 12px,#e2e8e6 24px)"; /** * Carte d'un adhérent dans une grille (annuaire, page métier). Composant sans * état : il se rend aussi bien côté serveur que dans le filtre client. */ export function MemberCard({ m, index = 0 }: { m: MemberCardData; index?: number }) { return ( {m.categoryLabel && ( {m.categoryLabel} )} {m.hasPromo && m.promoBadge && ( {m.promoBadge} )}

{m.name}

{m.description}

{[m.address, m.city].filter(Boolean).join(" · ")}
); }