feat: add RTSH and RTSS event pages#116
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR introduces two new event pages ( Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 0/1 reviews remaining, refill in 48 minutes and 3 seconds.Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
app/eventpage/rtss/RtssHeroTitle.tsx (1)
4-4: Consider documenting the complex font-size calculation.The nested
min(clamp())expressions provide precise responsive scaling but are quite complex. Consider adding a comment explaining the sizing strategy or extracting these values to named CSS variables/design tokens for improved maintainability.💡 Example: Add explanatory comment
+ {/* Font size scales fluidly between 3rem-5.25rem (mobile) and 5rem-8rem (desktop), + capped at container width divided by character count for optimal fit */} <h1 className="mt-5 flex w-[calc(100vw-2rem)] max-w-full flex-col items-center text-center text-[min(clamp(3rem,17vw,5.25rem),calc((100vw-2rem)/7.2))] font-black uppercase leading-[0.86] tracking-normal text-white lg:mt-8 lg:block lg:whitespace-nowrap lg:text-[min(clamp(5rem,8.5vw,8rem),calc((100vw-2rem)/12.2))] lg:leading-none">🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/eventpage/rtss/RtssHeroTitle.tsx` at line 4, The long responsive font-size expression on the H1 in RtssHeroTitle.tsx (the class with text-[min(clamp(3rem,17vw,5.25rem),calc((100vw-2rem)/7.2))] and the lg: text variant) is hard to read and maintain; either add a concise comment above the H1 describing the sizing strategy (what each clamp and calc targets and breakpoint intent) or extract the complex expressions into named CSS variables/design tokens (e.g., --hero-font-base and --hero-font-lg) and replace the inline utility with those variables so the intent is documented and values are reusable.app/eventpage/rtsh/page.tsx (1)
232-240: Let the partner logos lazy-load.This section sits well below the fold, so
loading="eager"pushes a whole batch of non-critical images into the initial network queue. I'd drop it here and reserve eager/priority loading for hero assets only.⚡ Suggested cleanup
<Image src={partner.logo} alt={partner.name} width={260} height={120} - loading="eager" className={`h-auto w-auto object-contain ${ partner.compact ? "max-h-16 max-w-28" : "max-h-14 max-w-44" }`} />🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/eventpage/rtsh/page.tsx` around lines 232 - 240, The Image element rendering partner logos currently forces loading="eager", which causes below-the-fold logos to load immediately; remove the loading="eager" attribute (or set loading="lazy") on the Image that uses partner.logo / partner.name / partner.compact so logos load lazily and only hero/priority assets use eager/priority loading.components/SiteChrome.tsx (1)
8-15: Centralize the standalone event route list.These exact route strings are now duplicated across
components/SiteChrome.tsx,components/Navigation.tsx,app/events/EventsContent.tsx, andapp/for-partners/PhotoGallery.tsx. The partial RTSH update inPhotoGalleryis a good example of the drift that can happen when they stay hardcoded in multiple places.♻️ Suggested cleanup
+const STANDALONE_EVENT_ROUTES = new Set([ + "/eventpage/rtss", + "/eventpage/rtsh", +]) + export default function SiteChrome({ children }: { children: ReactNode }) { const pathname = usePathname() - const isStandaloneEventPage = - pathname === "/eventpage/rtss" || pathname === "/eventpage/rtsh" + const isStandaloneEventPage = STANDALONE_EVENT_ROUTES.has(pathname)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@components/SiteChrome.tsx` around lines 8 - 15, The standalone event route strings are duplicated; extract them into a single exported constant (e.g., STANDALONE_EVENT_ROUTES) and import it where needed; update SiteChrome (replace the inline isStandaloneEventPage logic that uses usePathname with a membership check against the imported STANDALONE_EVENT_ROUTES), and likewise update components Navigation, EventsContent, and PhotoGallery to use that same constant so all places reference a single source of truth.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@app/eventpage/rtsh/page.tsx`:
- Around line 263-265: Remove the leftover placeholder date string rendered in
the hero by replacing or deleting the hardcoded text node "29.____ 30th November
2025" inside the <p> element (the one with className "text-base font-bold"
nested in the div with className "mt-28 max-w-2xl sm:mt-36 lg:mt-[28vh]").
Either output the correct final date string or remove the entire <p> element if
no date should be shown; ensure no placeholder text remains in the JSX.
In `@app/eventpage/rtss/page.tsx`:
- Around line 254-267: The RTSS date is inconsistent: the RTSS page (page.tsx)
shows the hardcoded string "9th December 2025" while the EventsContent component
(EventsContent.tsx) still lists RTSS in October/mobile timeline; pick the
correct date (confirm product decision) and make both places match by updating
the date string and any timeline grouping—specifically change the hardcoded "9th
December 2025" in the RTSS page or update the RTSS entry and its month grouping
in EventsContent.tsx so both components display the same date and month.
In `@app/for-partners/PhotoGallery.tsx`:
- Around line 20-29: The RTSH gallery cards in the eventPhotos array still link
to the legacy route (/events/rtsh) causing broken links; locate the eventPhotos
constant in PhotoGallery.tsx and update any RTSH entries (look for items with
captions mentioning "RTSH" or ids associated with RTSH) to use the migrated
route "/eventpage/rtsh" (and scan for any other occurrences of "/events/rtsh" in
that file to replace), ensuring all event photo objects consistently use the new
/eventpage/… path.
---
Nitpick comments:
In `@app/eventpage/rtsh/page.tsx`:
- Around line 232-240: The Image element rendering partner logos currently
forces loading="eager", which causes below-the-fold logos to load immediately;
remove the loading="eager" attribute (or set loading="lazy") on the Image that
uses partner.logo / partner.name / partner.compact so logos load lazily and only
hero/priority assets use eager/priority loading.
In `@app/eventpage/rtss/RtssHeroTitle.tsx`:
- Line 4: The long responsive font-size expression on the H1 in
RtssHeroTitle.tsx (the class with
text-[min(clamp(3rem,17vw,5.25rem),calc((100vw-2rem)/7.2))] and the lg: text
variant) is hard to read and maintain; either add a concise comment above the H1
describing the sizing strategy (what each clamp and calc targets and breakpoint
intent) or extract the complex expressions into named CSS variables/design
tokens (e.g., --hero-font-base and --hero-font-lg) and replace the inline
utility with those variables so the intent is documented and values are
reusable.
In `@components/SiteChrome.tsx`:
- Around line 8-15: The standalone event route strings are duplicated; extract
them into a single exported constant (e.g., STANDALONE_EVENT_ROUTES) and import
it where needed; update SiteChrome (replace the inline isStandaloneEventPage
logic that uses usePathname with a membership check against the imported
STANDALONE_EVENT_ROUTES), and likewise update components Navigation,
EventsContent, and PhotoGallery to use that same constant so all places
reference a single source of truth.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: d5619547-b540-4578-9bd4-e655ac612d53
⛔ Files ignored due to path filters (34)
public/eventpage/rtsh/hero.jpgis excluded by!**/*.jpgpublic/eventpage/rtsh/icon-calendar.pngis excluded by!**/*.pngpublic/eventpage/rtsh/icon-demo.pngis excluded by!**/*.pngpublic/eventpage/rtsh/icon-format.pngis excluded by!**/*.pngpublic/eventpage/rtsh/icon-location.pngis excluded by!**/*.pngpublic/eventpage/rtsh/icon-participants.pngis excluded by!**/*.pngpublic/eventpage/rtsh/icon-partners.pngis excluded by!**/*.pngpublic/eventpage/rtsh/icon-prize.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-asklio.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-aws.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-bfl.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-ewor.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-langdoc.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-lovable.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-oai.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-oneware.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-qplix.pngis excluded by!**/*.pngpublic/eventpage/rtsh/logo-white.pngis excluded by!**/*.pngpublic/eventpage/rtss/chiara.jpgis excluded by!**/*.jpgpublic/eventpage/rtss/logo-ahead.pngis excluded by!**/*.pngpublic/eventpage/rtss/logo-anybill.pngis excluded by!**/*.pngpublic/eventpage/rtss/logo-b2venture.pngis excluded by!**/*.pngpublic/eventpage/rtss/logo-dtcf.svgis excluded by!**/*.svgpublic/eventpage/rtss/logo-fly.pngis excluded by!**/*.pngpublic/eventpage/rtss/logo-reply.pngis excluded by!**/*.pngpublic/eventpage/rtss/logo-siemens.pngis excluded by!**/*.pngpublic/eventpage/rtss/logo-zoho.pngis excluded by!**/*.pngpublic/eventpage/rtss/mountain.pngis excluded by!**/*.pngpublic/eventpage/rtss/niclas.jpgis excluded by!**/*.jpgpublic/eventpage/rtss/seddik.jpgis excluded by!**/*.jpgpublic/eventpage/rtss/what.jpgis excluded by!**/*.jpgpublic/eventpage/rtss/why-attend.jpgis excluded by!**/*.jpgpublic/eventpage/rtss/why-pitch.jpgis excluded by!**/*.jpgpublic/eventpage/rtss/yagmur.jpgis excluded by!**/*.jpg
📒 Files selected for processing (9)
app/eventpage/rtsh/page.tsxapp/eventpage/rtss/RtssHeroTitle.tsxapp/eventpage/rtss/page.tsxapp/events/EventsContent.tsxapp/for-partners/PhotoGallery.tsxapp/layout.tsxcomponents/Navigation.tsxcomponents/SiteChrome.tsxtsconfig.tsbuildinfo
Summary
/eventpage/rtshand/eventpage/rtsswith hero, sponsors, and supporting assetsTest plan
/eventpage/rtshand verify hero, sections, and assets render/eventpage/rtssand verify hero, sections, and assets render🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Improvements