Fix evaluation criteria, jury preferences, assignment config, and dashboard stats
All checks were successful
Build and Push Docker Image / build (push) Successful in 9m5s
All checks were successful
Build and Push Docker Image / build (push) Successful in 9m5s
- Fix criteria not showing for jurors: fetch active form independently via
getStageForm query instead of relying on existing evaluation record
- Fix scoringMode default from 'global' to 'criteria' (matching schema)
- Parse scale string format ("1-10") into minScore/maxScore for criteria display
- Fix COI dialog dismissal: prevent outside click on evaluate page Dialog
- Fix requiredReviews hardcoded to 3: read from round configJson in 4 locations
- Add jury preferences banner for unconfirmed caps on jury dashboard
- Add updateJuryPreferences tRPC procedure for self-service cap/ratio
- Simplify onboarding: always show jury step, allow cap up to 50
- Add role/ratio/availability fields to jury member invite dialog
- Simplify jury group settings (keep only defaultMaxAssignments)
- Enforce deliberation showCollectiveRankings flag for non-admin users
- Redesign dashboard stat cards: editorial data strip on mobile,
clean grid layout on desktop (no more generic card pattern)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -22,12 +22,14 @@ interface AssignmentPreviewSheetProps {
|
||||
roundId: string
|
||||
open: boolean
|
||||
onOpenChange: (open: boolean) => void
|
||||
requiredReviews?: number
|
||||
}
|
||||
|
||||
export function AssignmentPreviewSheet({
|
||||
roundId,
|
||||
open,
|
||||
onOpenChange,
|
||||
requiredReviews = 3,
|
||||
}: AssignmentPreviewSheetProps) {
|
||||
const utils = trpc.useUtils()
|
||||
|
||||
@@ -36,7 +38,7 @@ export function AssignmentPreviewSheet({
|
||||
isLoading,
|
||||
refetch,
|
||||
} = trpc.roundAssignment.preview.useQuery(
|
||||
{ roundId, honorIntents: true, requiredReviews: 3 },
|
||||
{ roundId, honorIntents: true, requiredReviews },
|
||||
{ enabled: open }
|
||||
)
|
||||
|
||||
|
||||
@@ -7,11 +7,12 @@ import { AlertCircle, CheckCircle2, Users } from 'lucide-react'
|
||||
|
||||
interface CoverageReportProps {
|
||||
roundId: string
|
||||
requiredReviews?: number
|
||||
}
|
||||
|
||||
export function CoverageReport({ roundId }: CoverageReportProps) {
|
||||
export function CoverageReport({ roundId, requiredReviews = 3 }: CoverageReportProps) {
|
||||
const { data: coverage, isLoading } = trpc.roundAssignment.coverageReport.useQuery(
|
||||
{ roundId, requiredReviews: 3 },
|
||||
{ roundId, requiredReviews },
|
||||
{ refetchInterval: 15_000 },
|
||||
)
|
||||
|
||||
@@ -71,7 +72,7 @@ export function CoverageReport({ roundId }: CoverageReportProps) {
|
||||
<CardContent>
|
||||
<div className="text-2xl font-bold">{unassignedCount}</div>
|
||||
<p className="text-xs text-muted-foreground">
|
||||
Projects below 3 reviews
|
||||
Projects below {requiredReviews} reviews
|
||||
</p>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
Reference in New Issue
Block a user