From 533d8cb8e5ab0d16e925040951aeaab42896d5d1 Mon Sep 17 00:00:00 2001 From: Matt Date: Sat, 21 Feb 2026 00:26:04 +0100 Subject: [PATCH] Replace generic stat cards with clean horizontal stats strip Co-Authored-By: Claude Opus 4.6 --- .../observer/observer-dashboard-content.tsx | 91 ++++--------------- 1 file changed, 20 insertions(+), 71 deletions(-) diff --git a/src/components/observer/observer-dashboard-content.tsx b/src/components/observer/observer-dashboard-content.tsx index a7a240e..3b7273b 100644 --- a/src/components/observer/observer-dashboard-content.tsx +++ b/src/components/observer/observer-dashboard-content.tsx @@ -30,7 +30,6 @@ import { ClipboardList, BarChart3, TrendingUp, - CheckCircle2, Users, Globe, ChevronRight, @@ -201,79 +200,29 @@ export function ObserverDashboardContent({ userName }: { userName?: string }) {

Welcome, {userName || 'Observer'}

- {/* Six Stat Tiles */} + {/* Stats Strip */} {statsLoading ? ( -
- {[...Array(6)].map((_, i) => ( - - - - - - ))} -
+ + + ) : stats ? ( -
- - -
- + +
+ {[ + { value: stats.projectCount, label: 'Projects' }, + { value: stats.activeRoundCount, label: 'Active Rounds' }, + { value: avgScore, label: 'Avg Score' }, + { value: `${stats.completionRate}%`, label: 'Completion' }, + { value: stats.jurorCount, label: 'Jurors' }, + { value: countryCount, label: 'Countries' }, + ].map((stat) => ( +
+

{stat.value}

+

{stat.label}

-

{stats.projectCount}

-

Total Projects

- - - - - -
- -
-

{stats.activeRoundCount}

-

Active Rounds

-
-
- - - -
- -
-

{avgScore}

-

Avg Score

-
-
- - - -
- -
-

{stats.completionRate}%

-

Completion

-
-
- - - -
- -
-

{stats.jurorCount}

-

Active Jurors

-
-
- - - -
- -
-

{countryCount}

-

Countries

-
-
-
+ ))} +
+
) : null} {/* Pipeline */}