'use client'; import { useRouter } from 'next/navigation'; import { Wrench, LayoutGrid, GitFork, Star, BadgeCheck } from 'lucide-react'; import type { MarketplaceTemplate } from '@mcpengine/ai-pipeline/types'; const CATEGORY_COLORS: Record = { CRM: 'bg-blue-600', eCommerce: 'bg-emerald-600', HR: 'bg-violet-600', Finance: 'bg-amber-600', Marketing: 'bg-pink-600', Support: 'bg-teal-600', ProjectMgmt: 'bg-orange-600', Scheduling: 'bg-cyan-600', Analytics: 'bg-rose-600', DevTools: 'bg-lime-600', Social: 'bg-fuchsia-600', Communication: 'bg-sky-600', Storage: 'bg-indigo-600', 'AI/ML': 'bg-purple-600', }; function getCategoryColor(category?: string): string { return (category && CATEGORY_COLORS[category]) || 'bg-gray-600'; } interface TemplateCardProps { template: MarketplaceTemplate; } export function TemplateCard({ template }: TemplateCardProps) { const router = useRouter(); return (
router.push(`/marketplace/${template.id}`)} className=" group relative flex flex-col rounded-xl border border-gray-800 bg-gray-900/80 p-5 cursor-pointer transition-all duration-200 hover:scale-[1.02] hover:border-gray-600 hover:shadow-xl hover:shadow-indigo-900/10 " > {/* Official badge */} {template.isOfficial && (
Official
)} {/* Icon + name */}
{template.name.charAt(0).toUpperCase()}

{template.name}

{template.category}
{/* Description */}

{template.description || 'No description provided.'}

{/* Star rating placeholder */}
{[1, 2, 3, 4, 5].map((i) => ( ))} 4.0
{/* Bottom stats row */}
{template.toolCount} tools {template.appCount} apps {template.forkCount}
); }