interface Module { name: string; icon: string; color: "yellow" | "green" | "teal" | "cyan"; tagline: string; capabilities: string[]; } interface FeatureGridData { title: string; subtitle: string; audience: "manufacturers" | "retailers"; modules: Module[]; } const COLOR_MAP = { yellow: { accent: "#C7D92F", bg: "#C7D92F15" }, green: { accent: "#8FD15E", bg: "#8FD15E15" }, teal: { accent: "#47C3A6", bg: "#47C3A615" }, cyan: { accent: "#14B7CC", bg: "#14B7CC15" }, }; export default function FeatureGrid({ data }: { data: FeatureGridData }) { return (
{/* Header */}

{data.title}

{data.subtitle}

{data.audience}
{/* Module grid */}
{data.modules.map((mod) => { const { accent, bg } = COLOR_MAP[mod.color]; return (

{mod.name}

{mod.tagline}

    {mod.capabilities.map((cap) => (
  • {cap}
  • ))}
); })}
); } function ModuleIcon({ name, color }: { name: string; color: string }) { const props = { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", stroke: color, strokeWidth: 1.5, strokeLinecap: "round" as const }; switch (name) { case "negotiations": return ; case "promotions": return ; case "assortment": return ; case "finances": return ; case "collaborative": return ; case "tenders": return ; default: return ; } }