Skip to content

feature/sponsor-page01#75

Merged
joengy merged 16 commits into
mainfrom
feature/sponser-event-card
Jun 3, 2026
Merged

feature/sponsor-page01#75
joengy merged 16 commits into
mainfrom
feature/sponser-event-card

Conversation

@JotinderBhamra

@JotinderBhamra JotinderBhamra commented May 13, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Type of change

  • Feature
  • Bug fix
  • Chore / config
  • Hotfix

Checklist

  • My branch follows the naming convention (feature/, fix/, chore/, hotfix/)
  • My commit messages follow the conventional commits format
  • CI checks pass

Linked Issues

Closes #45 AND #46
Addresses #
Related to #

@oorjagandhi oorjagandhi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Good stuff! Just a small comment on the UI

Comment thread web/src/app/sponsors/page.tsx Outdated
oorjagandhi
oorjagandhi previously approved these changes May 15, 2026

@oorjagandhi oorjagandhi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good to me! Thanks for making these changes so quick :D

I'll make a follow up ticket to make the event/sponsor cards responsive (to match the Figma) - as on mobile views there will be no image.

@joengy joengy left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nice work on the sponsor page is coming together well, and the HighlightCard badge-variant generalization is a clean change that the home and events pages benefit from too.

Theres a few changes you need to make and the page should make, and I added some suggestions worth considering but they don't have to be implemented.

Also the description body is empty for this pr, so you'll need to fill it out and the branch name feature/sponser-event-card has a typo in "sponsor".

Comment thread web/package-lock.json Outdated

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This looks like an accidental npm install in web/ the repo uses pnpm (pnpm-lock.yaml + pnpm-workspace.yaml at the root) and the only entries here are platform-specific @next/swc-* binaries. Can we delete this file? Re-run pnpm install at the repo root if anything actually needed updating.

Comment on lines +112 to +123
const sponsorEntries: SponsorGridItem[] = Array.from(
{ length: 25 },
(_, index) => {
const sponsor = sponsorSeedEntries[index % sponsorSeedEntries.length]

return {
...sponsor,
id: index + 10,
}
},
)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Another suggestion if you don't want to render the sponsors like how we talked about before could be rendering sponsorSeedEntries directly

So it would look like
const sponsorEntries: SponsorGridItem[] = sponsorSeedEntries

If you want the page to look more populated for design review, add more distinct seed entries to sponsorSeedEntries instead of repeating them. When the CMS endopoints are done, that line becomes await fetchSponsors() and the grid grows naturally rather than fixing the length of the sponsor array to 25.

websiteUrl={sponsor.websiteUrl ?? '/sponsors'}
hoverOverlayClassName={sponsor.hoverOverlayClassName}
hoverTitle={sponsor.name}
hoverDescription={sponsor.memberPerks ?? ''}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

hoverDescription={sponsor.memberPerks ?? ''}

will render the hover overlay with the left vertical divider line and an empty text block when a sponsor has no perks. Maybe consider blocking entirely when empty, or falling back to something like "Visit website". But realistically I don't think there will be a sponsor without a perk, this is just a really random edge case.

return (
<a
href={websiteUrl}
target="_blank"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

<a target="_blank"> is correct for the external sponsor links, but SponsorsGrid passes '/sponsors' as a fallback when websiteUrl is missing, and that fallback would open the current site in a new tab, which is a bit weird. Consider rendering a

(or omitting the tile entirely) when no websiteUrl, or at least dropping target="_blank" in that case.

Comment on lines +58 to +67
function getBadgeText(badge: HighlightCardBadge) {
return typeof badge === 'string' ? badge : badge.text
}

function getBadgeClassName(badge: HighlightCardBadge) {
const variant = typeof badge === 'string' ? 'red' : (badge.variant ?? 'red')
const variantClassName =
variant === 'light'
? 'bg-[#FCE6BA] text-[#706F6F]'
: 'bg-ssa-red text-ssa-yellow-light'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The new badge variants use hard-coded hex (bg-[#FCE6BA], text-[#706F6F]). If these colours are reused, add them globals.css for consistency or if theres a similar colour that is already set maybe consider changing that colour to be this new hex code as the designs have changed week by week/use the pre-defined colour instead.

oorjagandhi
oorjagandhi previously approved these changes May 31, 2026

@oorjagandhi oorjagandhi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nice work!!

@oorjagandhi oorjagandhi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks awesome thanks Jotinder!

One small thing, could you remove the .DS_Store file from the PR? This is an auto-generated macOS file that shouldn't be committed. Not your fault at all, it should've been in our .gitignore from the start.

@joengy could you add .DS_Store to .gitignore in a follow-up PR? Actually I'm looking at our current .gitignore and it looks pretty bare, could you search up a standard React app .gitignore and replacing it.

But that's a job for Joe. For now, just delete the .DS_Store and we're good to merge. Thanks! :D

@joengy joengy left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Great work overall on all the sponsor stuff, I left a small comment which should be fast to fix, otherwise it looks ready to merge to me.

Comment thread web/src/app/sponsors/page.tsx Outdated
)

export default async function SponsorsPage() {
const sponsorOfTheWeek = sponsorOfTheWeekEntry

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

you're creating sponsorOfTheWeek but it's just a copy of sponsorOfTheWeekEntry. You can remove that line and use sponsorOfTheWeekEntry directly instead.

@joengy joengy mentioned this pull request Jun 2, 2026
3 tasks

@oorjagandhi oorjagandhi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks really good! Thanks for making these changes Jotinder :)

@joengy joengy left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Good work on the sponsor page, everything LGTM.

@joengy joengy merged commit e7ba497 into main Jun 3, 2026
3 checks passed
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.

SPONSOR-01 - Hero + sponsor of the week (frontend)

3 participants