/** * RegistryPluginCard - Card display for a plugin from the registry (browse tab). * @see specs/prd-web.md Section M13 */ import { cn } from '@/lib/utils' import type { RegistryPlugin } from '@/lib/api/types' const SOURCE_STYLES: Record = { core: 'bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-400', official: 'bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400', community: 'bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400', experimental: 'bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-400', } interface RegistryPluginCardProps { plugin: RegistryPlugin isInstalled: boolean onInstall: (plugin: RegistryPlugin) => void installing: boolean } export function RegistryPluginCard({ plugin, isInstalled, onInstall, installing, }: RegistryPluginCardProps) { return (

{plugin.displayName}

v{plugin.version} {plugin.source} {plugin.approved && ( verified )}

{plugin.description}

By {plugin.author.name} · {plugin.license} · {plugin.category}

{isInstalled ? ( Installed ) : ( )}
) }