feat: add juror progress dashboard with evaluation.getMyProgress query
- Add getMyProgress juryProcedure query to evaluationRouter: fetches all assignments for the current juror in a round, tallies completed/total, advance yes/no counts, per-project numeric scores and averages - Create JurorProgressDashboard client component with progress bar, advance badge summary, and collapsible per-submission score table - Wire dashboard into jury round page, gated by configJson.showJurorProgressDashboard Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@ import { Button } from '@/components/ui/button'
|
||||
import { Skeleton } from '@/components/ui/skeleton'
|
||||
import { ArrowLeft, CheckCircle2, Clock, Circle } from 'lucide-react'
|
||||
import { toast } from 'sonner'
|
||||
import { JurorProgressDashboard } from '@/components/jury/juror-progress-dashboard'
|
||||
|
||||
export default function JuryRoundDetailPage() {
|
||||
const params = useParams()
|
||||
@@ -53,6 +54,14 @@ export default function JuryRoundDetailPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{(() => {
|
||||
const config = (round?.configJson as Record<string, unknown>) ?? {}
|
||||
if (config.showJurorProgressDashboard) {
|
||||
return <JurorProgressDashboard roundId={roundId} />
|
||||
}
|
||||
return null
|
||||
})()}
|
||||
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Assigned Projects</CardTitle>
|
||||
|
||||
Reference in New Issue
Block a user