import { Button } from '@/components/ui/button'; import { CheckCircle2, AlertCircle, RefreshCw } from 'lucide-react'; import { cn } from '@/lib/utils'; import type { CliStatus } from '../shared/types'; interface CliStatusCardProps { title: string; description: string; status: CliStatus | null; isChecking: boolean; onRefresh: () => void; refreshTestId: string; icon: React.ComponentType<{ className?: string }>; fallbackRecommendation: string; } export function CliStatusCard({ title, description, status, isChecking, onRefresh, refreshTestId, icon: Icon, fallbackRecommendation, }: CliStatusCardProps) { if (!status) return null; return (
{description}
{title} Installed
Method: {status.method}
)} {status.version && (Version: {status.version}
)} {status.path && (Path: {status.path}
)}{status.recommendation}
)}{title} Not Detected
{status.recommendation || fallbackRecommendation}
Installation Commands:
npm
{status.installCommands.npm}
macOS/Linux
{status.installCommands.macos}
Windows (PowerShell)
{status.installCommands.windows}