fix(applicant-feedback): correct scales, hide jury-internal criteria, declutter UI
All checks were successful
Build and Push Docker Image / build (push) Successful in 8m11s
All checks were successful
Build and Push Docker Image / build (push) Successful in 8m11s
- globalScore is /10 (was hardcoded /100); use real round.name (was 'Round N') - Render criteria by type: numeric uses parsed scale (1-10/0-10/1-5), text shows as quoted block, boolean/advance hidden as jury-internal - Drop redundant cross-round stat strip and per-round Score Comparison - Plain language: 'Lowest/Highest' instead of 'Range', 'reviews' not 'evaluations' - Settings toggles update optimistically (was waiting for refresh) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1949,7 +1949,7 @@ export const applicantRouter = router({
|
||||
|
||||
results.push({
|
||||
roundId: round.id,
|
||||
roundName: `Evaluation Round ${i + 1}`,
|
||||
roundName: round.name,
|
||||
roundType: 'EVALUATION',
|
||||
evaluationCount: evaluations.length,
|
||||
evaluations: evaluations.map((ev) => ({
|
||||
@@ -1997,13 +1997,8 @@ export const applicantRouter = router({
|
||||
orderBy: { sortOrder: 'asc' },
|
||||
})
|
||||
|
||||
let evalCounter = 0
|
||||
let liveFinalCounter = 0
|
||||
let deliberationCounter = 0
|
||||
|
||||
for (const round of rounds) {
|
||||
if (round.roundType === 'EVALUATION') {
|
||||
evalCounter++
|
||||
const evaluations = await ctx.prisma.evaluation.findMany({
|
||||
where: {
|
||||
assignment: { projectId: project.id, roundId: round.id },
|
||||
@@ -2023,7 +2018,7 @@ export const applicantRouter = router({
|
||||
|
||||
results.push({
|
||||
roundId: round.id,
|
||||
roundName: `Evaluation Round ${evalCounter}`,
|
||||
roundName: round.name,
|
||||
roundType: 'EVALUATION',
|
||||
evaluationCount: evaluations.length,
|
||||
evaluations: evaluations.map((ev) => ({
|
||||
@@ -2036,7 +2031,6 @@ export const applicantRouter = router({
|
||||
})),
|
||||
})
|
||||
} else if (round.roundType === 'LIVE_FINAL') {
|
||||
liveFinalCounter++
|
||||
// LiveVote scores — anonymized
|
||||
// Only show jury votes, not audience votes
|
||||
const votes = await ctx.prisma.liveVote.findMany({
|
||||
@@ -2056,7 +2050,7 @@ export const applicantRouter = router({
|
||||
|
||||
results.push({
|
||||
roundId: round.id,
|
||||
roundName: `Live Final ${liveFinalCounter}`,
|
||||
roundName: round.name,
|
||||
roundType: 'LIVE_FINAL',
|
||||
evaluationCount: votes.length,
|
||||
evaluations: votes.map((v) => ({
|
||||
@@ -2069,7 +2063,6 @@ export const applicantRouter = router({
|
||||
})),
|
||||
})
|
||||
} else if (round.roundType === 'DELIBERATION') {
|
||||
deliberationCounter++
|
||||
// DeliberationVote — per-juror votes for this project
|
||||
const votes = await ctx.prisma.deliberationVote.findMany({
|
||||
where: {
|
||||
@@ -2089,7 +2082,7 @@ export const applicantRouter = router({
|
||||
|
||||
results.push({
|
||||
roundId: round.id,
|
||||
roundName: `Deliberation ${deliberationCounter}`,
|
||||
roundName: round.name,
|
||||
roundType: 'DELIBERATION',
|
||||
evaluationCount: votes.length,
|
||||
evaluations: votes.map((v) => ({
|
||||
|
||||
Reference in New Issue
Block a user