fix(applicant-feedback): correct dashboard card scale + visible criterion bars
All checks were successful
Build and Push Docker Image / build (push) Successful in 7m39s

- Dashboard summary card: globalScore is /10 (was /100) and DELIBERATION
  rounds skip the avg-score row (rank, not score)
- Per-criterion progress bars on full evaluations page: bg-brand-dark is
  not a defined class and rendered invisible; switched to bg-brand-blue

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt
2026-05-07 12:34:45 +02:00
parent b7a4eac2b1
commit a9116b5833
2 changed files with 4 additions and 3 deletions

View File

@@ -93,7 +93,7 @@ function CriterionBar({ value, max }: { value: number; max: number }) {
return ( return (
<div className="h-1.5 w-full overflow-hidden rounded-full bg-muted"> <div className="h-1.5 w-full overflow-hidden rounded-full bg-muted">
<div <div
className="h-full rounded-full bg-brand-dark transition-all" className="h-full rounded-full bg-brand-blue transition-all"
style={{ width: `${pct}%` }} style={{ width: `${pct}%` }}
/> />
</div> </div>

View File

@@ -439,13 +439,14 @@ export default function ApplicantDashboardPage() {
</CardHeader> </CardHeader>
<CardContent className="space-y-3"> <CardContent className="space-y-3">
{evaluations?.map((round) => { {evaluations?.map((round) => {
const showScore = round.roundType !== 'DELIBERATION'
const scores = round.evaluations const scores = round.evaluations
.map((ev) => ev.globalScore) .map((ev) => ev.globalScore)
.filter((s): s is number => s !== null) .filter((s): s is number => s !== null)
const avgScore = scores.length > 0 const avgScore = showScore && scores.length > 0
? scores.reduce((a, b) => a + b, 0) / scores.length ? scores.reduce((a, b) => a + b, 0) / scores.length
: null : null
const maxScore = round.roundType === 'LIVE_FINAL' ? 10 : 100 const maxScore = 10
const pct = avgScore !== null ? (avgScore / maxScore) * 100 : 0 const pct = avgScore !== null ? (avgScore / maxScore) * 100 : 0
const roundIcon = round.roundType === 'LIVE_FINAL' const roundIcon = round.roundType === 'LIVE_FINAL'
? <Trophy className="h-3.5 w-3.5 text-amber-500" /> ? <Trophy className="h-3.5 w-3.5 text-amber-500" />