AUXteam's picture
Upload folder using huggingface_hub
6a7089a verified
import { Badge } from "../atoms";
import type { Agent } from "../../types";
interface Props {
agent: Agent;
selected: boolean;
onClick: () => void;
}
function timeAgo(date: string): string {
const diff = Date.now() - new Date(date).getTime();
const secs = Math.floor(diff / 1000);
if (secs < 5) return "just now";
if (secs < 60) return `${secs}s ago`;
if (secs < 3600) return `${Math.floor(secs / 60)}m ago`;
return `${Math.floor(secs / 3600)}h ago`;
}
export default function AgentItem({ agent, selected, onClick }: Props) {
return (
<button
className={`flex w-full items-center gap-3 px-3 py-3 text-left ${
selected
? "dashboard-panel dashboard-panel-selected border-primary"
: "dashboard-panel dashboard-panel-hover"
}`}
onClick={onClick}
>
<div className="flex h-10 w-10 items-center justify-center rounded-full border border-border-subtle bg-primary/10 text-lg shadow-[0_0_20px_rgb(var(--brand-accent-rgb)/0.08)]">
🤖
</div>
<div className="min-w-0 flex-1">
<div className="truncate font-medium text-text-primary">
{agent.name || agent.id}
</div>
<div className="dashboard-mono text-xs text-text-muted">
{timeAgo(agent.lastActivity || agent.connectedAt)}
</div>
</div>
<Badge>{agent.requestCount}</Badge>
</button>
);
}