Fix observer reports: charts, filtering, project preview, dashboard stats
All checks were successful
Build and Push Docker Image / build (push) Successful in 9m32s
All checks were successful
Build and Push Docker Image / build (push) Successful in 9m32s
- Rewrite diversity metrics: horizontal bar charts for ocean issues and geographic distribution (replaces unreadable vertical/donut charts) - Rewrite juror score heatmap: expandable table with score distribution - Rewrite juror consistency: horizontal bar visual with juror names - Merge filtering tabs into single screening view with per-project AI reasoning and expandable rows - Add project preview dialog for juror performance table - Fix status breakdown for evaluation rounds (Fully/Partially/Not Reviewed) - Show active round name instead of count on observer dashboard - Move Global tab to last position, default to first round-specific tab - Add 4-card stats layout for evaluation with reviews/project ratio - Fix oceanIssue field (singular) and remove non-existent aiSummary Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -210,14 +210,16 @@ export function ObserverDashboardContent({ userName }: { userName?: string }) {
|
||||
<div className="grid grid-cols-3 md:grid-cols-6 divide-x divide-border">
|
||||
{[
|
||||
{ value: stats.projectCount, label: 'Projects' },
|
||||
{ value: stats.activeRoundCount, label: 'Active Rounds' },
|
||||
{ value: stats.activeRoundName ?? `${stats.activeRoundCount} Active`, label: 'Active Round', isText: !!stats.activeRoundName },
|
||||
{ value: avgScore, label: 'Avg Score' },
|
||||
{ value: `${stats.completionRate}%`, label: 'Completion' },
|
||||
{ value: stats.jurorCount, label: 'Jurors' },
|
||||
{ value: countryCount, label: 'Countries' },
|
||||
].map((stat) => (
|
||||
<div key={stat.label} className="px-4 py-3.5 text-center">
|
||||
<p className="text-xl font-semibold tabular-nums leading-tight">{stat.value}</p>
|
||||
<p className={`font-semibold leading-tight ${
|
||||
'isText' in stat && stat.isText ? 'text-sm truncate' : 'text-xl tabular-nums'
|
||||
}`}>{stat.value}</p>
|
||||
<p className="text-[11px] text-muted-foreground mt-0.5">{stat.label}</p>
|
||||
</div>
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user