feat: show agent/env counts in vendor tenant list
All checks were successful
CI / build (push) Successful in 1m20s
CI / docker (push) Successful in 48s

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-10 22:02:46 +02:00
parent d7ce0aaf8c
commit 8eef7e170b
2 changed files with 25 additions and 0 deletions

View File

@@ -24,6 +24,10 @@ function statusColor(status: string): 'success' | 'error' | 'warning' | 'auto' {
}
}
function formatUsage(used: number, limit: number): string {
return limit < 0 ? `${used} / ∞` : `${used} / ${limit}`;
}
const columns: Column<VendorTenantSummary>[] = [
{
key: 'name',
@@ -52,6 +56,24 @@ const columns: Column<VendorTenantSummary>[] = [
header: 'Server',
render: (_v, row) => <ServerStatusBadge state={row.serverState} />,
},
{
key: 'agentCount',
header: 'Agents',
render: (_v, row) => (
<span style={{ fontFamily: 'monospace', fontSize: '0.875rem' }}>
{formatUsage(row.agentCount, row.agentLimit)}
</span>
),
},
{
key: 'environmentCount',
header: 'Envs',
render: (_v, row) => (
<span style={{ fontFamily: 'monospace', fontSize: '0.875rem' }}>
{row.environmentCount}
</span>
),
},
{
key: 'licenseExpiry',
header: 'License',

View File

@@ -41,6 +41,9 @@ export interface VendorTenantSummary {
serverState: string;
licenseExpiry: string | null;
provisionError: string | null;
agentCount: number;
environmentCount: number;
agentLimit: number;
}
export interface VendorTenantDetail {