From c874fbc4f208b79e74f650e1dd531436915ded3a Mon Sep 17 00:00:00 2001 From: Christopher Tso Date: Tue, 7 Jul 2026 10:48:17 +0200 Subject: [PATCH 1/2] style(dashboard): sharpen dark results command center --- apps/dashboard/src/components/EvalDetail.tsx | 62 ++++++++++++------- apps/dashboard/src/components/ResultTable.tsx | 48 +++++++++----- apps/dashboard/src/components/RunDetail.tsx | 8 +-- apps/dashboard/src/components/ScoreBar.tsx | 19 ++++-- apps/dashboard/src/components/StatsCards.tsx | 12 ++-- apps/dashboard/src/styles/globals.css | 5 ++ 6 files changed, 103 insertions(+), 51 deletions(-) diff --git a/apps/dashboard/src/components/EvalDetail.tsx b/apps/dashboard/src/components/EvalDetail.tsx index 8c886a8ab..ed1066e5b 100644 --- a/apps/dashboard/src/components/EvalDetail.tsx +++ b/apps/dashboard/src/components/EvalDetail.tsx @@ -331,7 +331,7 @@ function SourceTab({ result }: { result: EvalResult }) { const traceability: SourceTraceability | undefined = result.source_traceability; if (!traceability || traceability.status !== 'captured') { return ( -
+

Source metadata

{traceability?.message ?? 'Source metadata was not captured for this run.'} @@ -493,7 +493,7 @@ function ChecksTab({ result, projectId }: { result: EvalResult; projectId?: stri return (

{/* Overall score */} -
+
Overall score
@@ -567,9 +567,9 @@ function ChecksTab({ result, projectId }: { result: EvalResult; projectId?: stri function RunMetricRow({ label, value }: { label: string; value: string | undefined }) { return ( -
+
{label}
-
{value ?? '-'}
+
{value ?? '-'}
); } @@ -784,9 +784,15 @@ function gradingVerdictLabel(pass: boolean | undefined): string { } function gradingVerdictClass(pass: boolean | undefined): string { - if (pass === true) return 'border-emerald-900/50 bg-emerald-950/20 text-emerald-300'; - if (pass === false) return 'border-red-900/50 bg-red-950/20 text-red-300'; - return 'border-gray-800 bg-gray-950/50 text-gray-300'; + if (pass === true) return 'border-emerald-800/60 bg-emerald-950/30 text-emerald-200'; + if (pass === false) return 'border-red-700/70 bg-red-950/40 text-red-200'; + return 'border-gray-700 bg-gray-950/70 text-gray-300'; +} + +function gradingPanelClass(pass: boolean | undefined): string { + if (pass === true) return 'border-emerald-900/50 bg-emerald-950/15'; + if (pass === false) return 'border-red-900/60 bg-red-950/15'; + return 'border-gray-800 bg-gray-900/70'; } function assertionLabel( @@ -815,9 +821,19 @@ function NamedScoresGrid({ scores }: { scores: Record | undefine if (!scores || Object.keys(scores).length === 0) return null; return (
- {Object.entries(scores).map(([name, value]) => ( - - ))} + {Object.entries(scores).map(([name, value]) => { + const tone = + value >= 0.8 ? 'text-emerald-300' : value >= 0.5 ? 'text-amber-300' : 'text-red-300'; + return ( +
+
{name}
+
{formatPercent(value)}
+
+ ); + })}
); } @@ -825,7 +841,7 @@ function NamedScoresGrid({ scores }: { scores: Record | undefine function MetadataBlock({ metadata }: { metadata: GradingJsonObject | undefined }) { if (!metadata || Object.keys(metadata).length === 0) return null; return ( -
+
Metadata
         {JSON.stringify(metadata, null, 2)}
@@ -838,15 +854,19 @@ function OptionalScoreBar({ score }: { score: number | undefined }) {
   if (score == null) {
     return 
; } - return ; + return ; } function GradingAggregateSummary({ result }: { result: GradingComponentResult }) { return ( -
+
@@ -855,12 +875,12 @@ function GradingAggregateSummary({ result }: { result: GradingComponentResult })
Aggregate score - {formatPercent(result.score)} + {formatPercent(result.score)}
- {result.reason ?

{result.reason}

: null} + {result.reason ?

{result.reason}

: null}
@@ -917,7 +937,7 @@ function GradingComponentNode({
- {label.title} + {label.title}
-
+
{formatPercent(component.score)}
- {component.reason ?

{component.reason}

: null} + {component.reason ?

{component.reason}

: null}
); return (
0 ? `${Math.min(depth, 4) * 1}rem` : undefined }} > @@ -1030,7 +1050,7 @@ function ArtifactGradingTab({ diff --git a/apps/dashboard/src/components/ResultTable.tsx b/apps/dashboard/src/components/ResultTable.tsx index c1968d866..4a1a57de4 100644 --- a/apps/dashboard/src/components/ResultTable.tsx +++ b/apps/dashboard/src/components/ResultTable.tsx @@ -317,7 +317,7 @@ export function ResultTable({

-
+
{RESULT_TABLE_VIEW_PRESETS.map((preset) => (