Filtering UX: overview results, auto-clear on re-run, config save fix
All checks were successful
Build and Push Docker Image / build (push) Successful in 8m25s
All checks were successful
Build and Push Docker Image / build (push) Successful in 8m25s
- Add filtering results summary card on round Overview tab with pass/fail/flag counts and color-coded progress bar (polls every 5s) - Auto-delete previous filtering results when re-running so new ones stream in - Rename BUSINESS_CONCEPT to "Concept" in filtering results to prevent overflow - Fix config save race condition where toggling switches (aiParseFiles, advance counts) would revert: pendingSaveRef cleared before refetch completed Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -774,7 +774,7 @@ export function FilteringDashboard({ competitionId, roundId }: FilteringDashboar
|
||||
</div>
|
||||
<div>
|
||||
<Badge variant="outline" className="text-xs">
|
||||
{result.project?.competitionCategory || '\u2014'}
|
||||
{formatCategory(result.project?.competitionCategory) || '\u2014'}
|
||||
</Badge>
|
||||
</div>
|
||||
<div>
|
||||
@@ -1092,6 +1092,18 @@ export function FilteringDashboard({ competitionId, roundId }: FilteringDashboar
|
||||
)
|
||||
}
|
||||
|
||||
// -- Helpers --
|
||||
|
||||
const categoryLabels: Record<string, string> = {
|
||||
BUSINESS_CONCEPT: 'Concept',
|
||||
STARTUP: 'Startup',
|
||||
}
|
||||
|
||||
function formatCategory(cat: string | null | undefined): string {
|
||||
if (!cat) return ''
|
||||
return categoryLabels[cat] ?? cat.charAt(0) + cat.slice(1).toLowerCase().replace(/_/g, ' ')
|
||||
}
|
||||
|
||||
// -- Sub-components --
|
||||
|
||||
function OutcomeBadge({ outcome, overridden }: { outcome: string; overridden: boolean }) {
|
||||
|
||||
Reference in New Issue
Block a user