{/* Project info row */}
{data.project.teamName && (
{data.project.teamName}
)}
{data.project.country && (
)}
{data.project.competitionCategory && (
{formatCategory(data.project.competitionCategory)}
)}
{/* Description */}
{data.project.description && (
{data.project.description}
)}
{/* Ocean Issue */}
{data.project.oceanIssue && (
{data.project.oceanIssue.replace(/_/g, ' ').toLowerCase().replace(/\b\w/g, (c: string) => c.toUpperCase())}
)}
{/* Evaluation summary */}
{data.stats && (
Evaluation Summary
{data.stats.averageGlobalScore != null ? (
) : '—'}
Avg Score
{data.stats.totalEvaluations ?? 0}
Evaluations
{data.assignments?.length ?? 0}
Assignments
{data.stats.yesPercentage != null ? `${Math.round(data.stats.yesPercentage)}%` : '—'}
Recommend
)}
{/* Individual evaluations */}
{data.assignments?.length > 0 && (
Juror Evaluations
{data.assignments.map((a: { id: string; user: { name: string | null }; evaluation: { status: string; globalScore: unknown } | null }) => {
const ev = a.evaluation
const score = ev?.status === 'SUBMITTED' && ev.globalScore != null
? Number(ev.globalScore)
: null
return (
{a.user.name ?? 'Unknown'}
{ev?.status === 'SUBMITTED' ? (
Reviewed
) : ev?.status === 'DRAFT' ? (
Draft
) : (
Pending
)}
{score !== null &&
}
)
})}
)}
{/* View full project button */}
>
)}