import { CheckCircle2, Circle, Loader2, MessageCircle } from 'lucide-react' import type { Feature, ActiveAgent } from '../lib/types' import { DependencyBadge } from './DependencyBadge' import { AgentAvatar } from './AgentAvatar' interface FeatureCardProps { feature: Feature onClick: () => void isInProgress?: boolean allFeatures?: Feature[] activeAgent?: ActiveAgent // Agent working on this feature } // Generate consistent color for category using CSS variable references // These map to the --color-neo-category-* variables defined in globals.css function getCategoryColor(category: string): string { const colors = [ 'var(--color-neo-category-pink)', 'var(--color-neo-category-cyan)', 'var(--color-neo-category-green)', 'var(--color-neo-category-yellow)', 'var(--color-neo-category-orange)', 'var(--color-neo-category-purple)', 'var(--color-neo-category-blue)', ] let hash = 0 for (let i = 0; i < category.length; i++) { hash = category.charCodeAt(i) + ((hash << 5) - hash) } return colors[Math.abs(hash) % colors.length] } export function FeatureCard({ feature, onClick, isInProgress, allFeatures = [], activeAgent }: FeatureCardProps) { const categoryColor = getCategoryColor(feature.category) const isBlocked = feature.blocked || (feature.blocking_dependencies && feature.blocking_dependencies.length > 0) const hasActiveAgent = !!activeAgent return ( ) }