// Status pill helper + instance card
function StatusPill({ status }) {
const map = {
active: { cls: "active", label: "Active" },
provisioning: { cls: "provisioning", label: "Provisioning" },
error: { cls: "error", label: "Degraded" },
paused: { cls: "paused", label: "Paused" },
trial: { cls: "trial", label: "Trial" },
archived: { cls: "archived", label: "Archived" },
};
const m = map[status] || { cls: "", label: status };
return (
{m.label}
);
}
function InstanceLogo({ inst, size = 34 }) {
return (
{inst.initials}
);
}
function fmtNum(n) {
if (n >= 1_000_000) return (n / 1_000_000).toFixed(2) + "M";
if (n >= 1_000) return (n / 1_000).toFixed(1) + "k";
return n.toString();
}
function fmtEur(n) {
return "€" + n.toFixed(2);
}
function InstanceCard({ inst, onOpen }) {
return (
onOpen(inst.id)}>
{inst.industry} · {inst.plan}
Tokens
{fmtNum(inst.tokensIn + inst.tokensOut)}
Messages
{fmtNum(inst.messages)}
);
}
window.StatusPill = StatusPill;
window.InstanceLogo = InstanceLogo;
window.InstanceCard = InstanceCard;
window.fmtNum = fmtNum;
window.fmtEur = fmtEur;