"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
)}
);
}