diff --git a/web/default/src/features/dashboard/components/models/performance-overview.tsx b/web/default/src/features/dashboard/components/models/performance-overview.tsx index 5e67bb8a..f5f424ad 100644 --- a/web/default/src/features/dashboard/components/models/performance-overview.tsx +++ b/web/default/src/features/dashboard/components/models/performance-overview.tsx @@ -27,6 +27,8 @@ import { formatLatency, formatThroughput, formatUptimePct, + getSuccessRateDotClass, + getSuccessRateTextClass, } from '@/features/performance-metrics/lib/format' import type { PerfModelSummary } from '@/features/performance-metrics/types' @@ -79,20 +81,6 @@ function buildPerformanceSummary(rows: PerfModelSummary[]): PerformanceSummary { } } -function successRateClassName(successRate: number): string { - if (!Number.isFinite(successRate)) return 'text-muted-foreground' - if (successRate >= 99.9) return 'text-success' - if (successRate >= 99) return 'text-warning' - return 'text-destructive' -} - -function successDotClassName(successRate: number): string { - if (!Number.isFinite(successRate)) return 'bg-muted-foreground' - if (successRate >= 99.9) return 'bg-success' - if (successRate >= 99) return 'bg-warning' - return 'bg-destructive' -} - export function PerformanceOverview() { const { t } = useTranslation() const metricsQuery = useQuery({ @@ -152,7 +140,7 @@ export function PerformanceOverview() { icon={HeartPulse} label={t('Success rate')} value={formatUptimePct(summary.successRate)} - valueClassName={successRateClassName(summary.successRate)} + valueClassName={getSuccessRateTextClass(summary.successRate)} />