Restore the Table Cards tab — judging cannot start without it - #338
Conversation
…t it Judges score by scanning the QR on a team's table card: the scoring form only opens after startByQrCode succeeds. TableCards.tsx renders those cards and is the only consumer of judge.tableCards — and nothing imported it, so no card could be printed and no judge could open the form. Judging was unstartable. Lost when I split this work into a stack: branch 1 took the pre-stack version of this page, so the tab and its import never reached main, and the mobile-nav fix (seven tabs in a five-column grid, with Table Cards and Email laid out off the right edge of the phone) went with it. Both are restored here. Found by walking the organiser and judge journeys against main. Nothing failed — the component compiled, 426 tests passed, and the missing tab was invisible to all of it.
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_c1391e65-6df7-4fdc-9cef-d3a812219cda) |
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
|
Visit the preview URL for this PR (updated for commit 49e8c9d): https://hacklytics2027--pr-338-bho9v9wt.web.app (expires Sun, 16 Aug 2026 05:26:05 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: c48ba34db61581e25fe2978355160b5eefe0e83f |
|
| Filename | Overview |
|---|---|
| sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx | Correctly integrates the existing TableCards component and makes the expanded mobile tab list horizontally scrollable without an identified regression. |
Reviews (1): Last reviewed commit: "fix(admin): restore the Table Cards tab ..." | Re-trigger Greptile
Blocker. Judges score by scanning the QR on a team's table card: the scoring form on
/hackathons/[id]/judgeonly opens oncestartByQrCodesucceeds.TableCards.tsxrenders those printable cards and is the only consumer ofjudge.tableCards— and nothing imported it. No card could be printed, so no judge could open the form, so judging could not start at all. The only workaround was readingjudging_project.qr_codeout of the database and generating QRs elsewhere.This is mine: when I split the work into a stack, branch 1 took the pre-stack version of
admin/hackathons/[id]/page.tsx, so the Table Cards tab and its import never reachedmain— and the W24 mobile-nav fix went with it (seven tabs in a five-column grid, Table Cards and Email laid out off the right edge of the phone an organiser actually carries). Both restored here.Worth noting how invisible it was: the component still compiled, all 426 tests still passed, and no gate could see that a tab had gone missing. It surfaced from walking the organiser and judge journeys end to end against
main.typecheck · 426 tests · lint
--max-warnings 0· build.Note
Medium Risk
Restores a critical organiser judging workflow (printable QR table cards) and changes mobile admin navigation layout; no auth or data-model changes, but missing the tab was a production blocker for judging.
Overview
Restores the admin Table Cards tab so organisers can print desk QR cards again — the only UI wired to
judge.tableCardsand required for judges to open the scoring form viastartByQrCode.Adds the Table Cards nav entry (QrCode icon), extends the
Tabunion withtables, and mountsTableCardsin the main content area when that tab is active.Fixes mobile bottom navigation for seven tabs: replaces a fixed
grid-cols-5layout with a horizontally scrollable row (flex overflow-x-auto, hidden scrollbar) andshrink-0 basis-1/5tab buttons so Table Cards and Email are reachable on phones instead of clipped off-screen.Reviewed by Cursor Bugbot for commit 49e8c9d. Bugbot is set up for automated code reviews on this repo. Configure here.