diff --git a/components/organization/hackathons/judging/AllocationPreviewCard.tsx b/components/organization/hackathons/judging/AllocationPreviewCard.tsx index 402eeb88..871ad93c 100644 --- a/components/organization/hackathons/judging/AllocationPreviewCard.tsx +++ b/components/organization/hackathons/judging/AllocationPreviewCard.tsx @@ -130,11 +130,17 @@ export default function AllocationPreviewCard({ if (gates.reviewedCount === 0) { blockers.push('No submissions have been reviewed yet.'); } + + // Unallocated partner contributions are surfaced as a non-blocking + // warning. The escrow still holds the funds; organizers can release + // or refund them after publish. The backend gate that prevented this + // is intentionally relaxed (see judging.service.publishResults). + const warnings: string[] = []; if (gates.unallocatedPartnerContributionAmount > 0.0000001) { - blockers.push( + warnings.push( `${gates.unallocatedPartnerContributionAmount.toFixed(2)} ${ gates.currency - } of partner contributions are unallocated.` + } of partner contributions are unallocated. Publish will succeed; funds remain in escrow until you release or refund them.` ); } @@ -191,6 +197,22 @@ export default function AllocationPreviewCard({ )} + {warnings.length > 0 && ( +
+
+ + Heads up +
+ +
+ )} + {/* Overall placements */} {overall.length > 0 && (