Handle demo usage data safely without enterprise license

This commit is contained in:
Anthony Stirling 2025-12-12 23:16:51 +00:00
parent 0764cb8368
commit 747d4d92e8
2 changed files with 13 additions and 3 deletions

View File

@ -5918,6 +5918,7 @@ endpoint = "Endpoint"
visits = "Visits"
percentage = "Percentage"
noData = "No data available"
unknownEndpoint = "Unknown endpoint"
[backendHealth]
checking = "Checking backend status..."

View File

@ -156,12 +156,21 @@ const AdminUsageSection: React.FC = () => {
);
}
const endpoints = data?.endpoints ?? [];
const endpoints = (data?.endpoints ?? []).map((endpoint) => ({
endpoint: endpoint.endpoint ?? t('usage.table.unknownEndpoint', 'Unknown endpoint'),
visits: Number.isFinite(endpoint.visits) ? endpoint.visits : 0,
percentage: Number.isFinite(endpoint.percentage) ? endpoint.percentage : 0,
}));
const chartData = endpoints.map((e) => ({ label: e.endpoint, value: e.visits }));
const displayedVisits = endpoints.reduce((sum, e) => sum + e.visits, 0);
const totalVisits = data?.totalVisits ?? displayedVisits ?? 0;
const totalEndpoints = data?.totalEndpoints ?? endpoints.length ?? 0;
const totalVisits = Number.isFinite(data?.totalVisits)
? (data?.totalVisits as number)
: displayedVisits;
const totalEndpoints = Number.isFinite(data?.totalEndpoints)
? (data?.totalEndpoints as number)
: endpoints.length;
const displayedPercentage = totalVisits > 0
? ((displayedVisits / (totalVisits || 1)) * 100).toFixed(1)