Skip to content

feat: add winners section#24

Merged
sebastian-noel merged 3 commits into
mainfrom
feature/winners-section
Jul 23, 2026
Merged

feat: add winners section#24
sebastian-noel merged 3 commits into
mainfrom
feature/winners-section

Conversation

@satasatalight

Copy link
Copy Markdown
Collaborator

Pull Request

Description

This implementation is a little overkill but it assumes the worst case scenario for receiving data from the backend.

The component receives an unsorted array of all past winners. It filters down to all entries from the most recent deadline and sorts by placement for the top "WinnerCard" components and places the rest of the elements in the lower "PrevWinnerEntry" list sorted by deadline. The component assumes the projectTitles for each winner entry are unique, using that field as a key. Initials for the WinnerCard component are collected using a regex pattern match on a name field.

Type of Change

  • feat: New feature
  • fix: Bug fix
  • chore: Maintenance (dependencies, config, etc.)
  • docs: Documentation only
  • style: Code style (formatting, no logic change)
  • refactor: Code refactor (no new feature or fix)

Changes Made

  • add WinnersSection.tsx

Screenshots (if applicable)

image

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have tested my changes locally
  • npm run lint passes without errors
  • npm run build completes successfully

Related Issues

Closes Notion task "T11 (Challenges) - Build winners components"

@sebastian-noel
sebastian-noel force-pushed the feature/winners-section branch from e775037 to 244906b Compare July 23, 2026 03:11

@sebastian-noel sebastian-noel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed a few things for consistency with the rest of the site:

  • Array → Winner[], recentFilter/prevFilter now return actual booleans instead of the Winner object
  • border-1/border-b-1/border-t-1 → border/border-b/border-t, matching the rest of the codebase's convention
  • Replaced the 🕒/🏆 emojis with FaHistory/FaTrophy icons (react-icons)
  • Added the hover:border-accent highlight to each winner card and the Previous Winners card, matching the hover treatment used elsewhere (TeamCard, ChallengeCard)
  • Moved the trophy/placement badge to the top-right corner of each card

@sebastian-noel
sebastian-noel merged commit dad9a83 into main Jul 23, 2026
2 checks passed
@sebastian-noel
sebastian-noel deleted the feature/winners-section branch July 23, 2026 03:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants