"use client"; import { Cpu, CircuitBoard, Info } from "lucide-react"; import type { ModelInfo } from "@/lib/models"; import { useState } from "react"; export function ModelCard({ model }: { model: ModelInfo }) { const [hover, setHover] = useState(false); const isGpu = model.device === "GPU"; return (
setHover(true)} onMouseLeave={() => setHover(false)} onFocus={() => setHover(true)} onBlur={() => setHover(false)} className="group relative rounded-lg border border-[var(--border)] bg-[var(--background)] p-4 shadow-sm transition-all hover:shadow-md focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--accent)]" >

{model.name}

{isGpu ? ( ) : ( )} {model.device}
{model.quantization} {model.sizeGB} GB
{hover && (
Detalhes (estimativa)
Uso de CPU {model.estCpuUsagePct ?? "—"}%
Uso de VRAM {model.estVramGB ?? 0} GB
)}
); }