Conversation
…o 394-during-judging-hero
|
Also fixed hero loading in this PR oops |
…o 394-during-judging-hero
There was a problem hiding this comment.
Pull request overview
This PR builds out the new Hackers “Judging” hero experience (table-centric judging view + completion modal) and removes legacy 2025 judging hero components/styles.
Changes:
- Implement the new
HeroJudgingUI (table header, judge banner list, “previous judges” toggle, and link to judging info). - Update
JudgeBannersto notify the parent when all judges are scored, and refineJudgeBannerIndividualmessaging for completed judges. - Add a new “Done Judging” modal and a new celebration SVG asset; remove deprecated 2025 hero/judging components.
Reviewed changes
Copilot reviewed 12 out of 14 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| public/hackers/hero/hero-judging/mascots_celebrate.svg | Adds new celebration mascot artwork used in the “done judging” modal. |
| app/(pages)/(hackers)/_components/HomeJudging/HeroJudging.tsx | Implements the new judging hero layout and modal wiring. |
| app/(pages)/(hackers)/_components/HomeJudging/_components/JudgeBanners.tsx | Adds onAllScored callback + adjusts rendering logic for judges/teams. |
| app/(pages)/(hackers)/_components/HomeJudging/_components/JudgeBannerIndividual.tsx | Updates banner messaging when a judge is completed. |
| app/(pages)/(hackers)/_components/HomeJudging/_components/JudgeBannerIndividual.module.scss | Introduces new styling for the judge banner UI. |
| app/(pages)/(hackers)/_components/HomeJudging/_components/DoneJudging.tsx | Adds a modal shown when judging is complete. |
| app/(pages)/(hackers)/_components/2025IndexHero/IndexHeroContentDone.tsx | Removes deprecated 2025 “done” hero content. |
| app/(pages)/(hackers)/_components/2025IndexHero/IndexHeroContentDone.module.scss | Removes associated deprecated styles. |
| app/(pages)/(hackers)/_components/2025IndexHero/DoneJudging.tsx | Removes deprecated 2025 done-judging component. |
| app/(pages)/(hackers)/_components/2025IndexHero/DoneJudging.module.scss | Removes associated deprecated styles. |
| app/(pages)/(hackers)/_components/2025IndexHero/AssigningJudges.tsx | Removes deprecated “assigning judges” component. |
| app/(pages)/(hackers)/_components/2025IndexHero/AssigningJudges.module.scss | Removes associated deprecated styles. |
| app/(pages)/(hackers)/_components/2025DOE/Judging/IndexHeroContentJudging.tsx | Removes deprecated DOE judging hero content. |
| app/(pages)/(hackers)/_components/2025DOE/Judging/IndexHeroContentJudging.module.scss | Removes associated deprecated styles. |
Comments suppressed due to low confidence (2)
app/(pages)/(hackers)/_components/HomeJudging/_components/JudgeBanners.tsx:39
const allScored = judges?.every(...)will evaluate totruewhenjudgesis an empty array, which will triggeronAllScored()and show the “done judging” modal even when no judges are assigned yet. Add a guard likejudges?.length > 0 && judges.every(...)(or check inside the effect) so the modal only opens after at least one judge exists and all are scored.
app/(pages)/(hackers)/_components/HomeJudging/_components/JudgeBanners.tsx:67teamNonHDCategoriesuses(team as any)?.trackseven thoughteamis already typed (andtracksexists onTeam). Prefer a proper null-safe access (team?.tracks ?? []) and avoidanyso TypeScript can catch mismatches earlier.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…o 394-during-judging-hero
|
Add on: Deleted previous judging hero files |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 14 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 22 out of 35 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
app/(pages)/(hackers)/_components/HomeJudging/_components/JudgeBanners.tsx:72
- Avoid the
anycast when reading tracks ((team as any)?.tracks).teamisTeam | null, soteam?.tracks ?? []should work and preserves type-safety. The current cast hides potential shape mismatches and makes this logic harder to maintain.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.