fix: version guard uses static file, members table shows project name with round badge
All checks were successful
Build and Push Docker Image / build (push) Successful in 11m12s

Version guard:
- Replace API route with prebuild-generated public/build-id.json
- Captures build ID on first load, only notifies on mismatch
- Fixes false positive refresh prompts from env mismatch

Members table (applicants):
- Show project name + round badge instead of round name + state
- Red badge for rejected, gray for withdrawn, green for passed,
  outline for active rounds
- Include projectName in applicantRoundInfo from backend

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 11:23:24 +01:00
parent 60426c1f56
commit 2e8ab91e07
7 changed files with 36 additions and 30 deletions

View File

@@ -299,7 +299,7 @@ export const userRouter = router({
// For APPLICANT users, attach their project's current round info
const applicantIds = users.filter((u) => u.role === 'APPLICANT').map((u) => u.id)
const applicantRoundMap = new Map<string, { roundName: string; state: string } | null>()
const applicantRoundMap = new Map<string, { projectName: string; roundName: string; state: string } | null>()
if (applicantIds.length > 0) {
// Find each applicant's project, then the latest round state
@@ -342,11 +342,13 @@ export const userRouter = router({
if (!applicantIds.includes(uid)) continue
if (latestTerminal && !latestActive) {
applicantRoundMap.set(uid, {
projectName: proj.title,
roundName: latestTerminal.round.name,
state: latestTerminal.state,
})
} else if (latest) {
applicantRoundMap.set(uid, {
projectName: proj.title,
roundName: latest.round.name,
state: latest.state,
})