feat: Add highlighted events section to Breakpoint homepage#1648
Conversation
Pulls highlighted side events from the Breakpoint 2026 Luma calendar (plus pinned event URLs) and renders them as a card carousel with Luma cover images, matching the BP26 pre-event homepage design. Community events link out to the Luma side-events calendar. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
5 Skipped Deployments
|
Greptile SummaryThis PR adds a new "Explore events across the Breakpoint ecosystem" section to the Breakpoint 2026 homepage, fetching highlighted events from the BP26 Luma calendar and rendering them in an accessible card carousel with locale-aware date formatting and graceful empty-state handling.
Confidence Score: 4/5Safe to merge once the missing schedule CTA is resolved or intentionally deferred. The scheduleCta i18n key is added to the JSON and called out in the PR description as a shipped feature, but there is no corresponding button in the component and the key is absent from the TypeScript type. All other logic — pagination, caching, carousel rendering, date formatting — looks correct. packages/i18n/messages/breakpoint/en/breakpoint.json and apps/breakpoint/src/content/page.ts — the scheduleCta string was added to the JSON source but is not typed or wired into the component. Important Files Changed
Reviews (4): Last reviewed commit: "feat: Change aspect ratio of event cover..." | Re-trigger Greptile |
Problem
The events team wants side events surfaced on the Breakpoint site:
First highlighted event: BlockZero 2026.
Changes
getHighlightedEvents()(src/content/events/luma.ts) pulls the Breakpoint 2026 Luma calendar (luma.com/bp26) plus pinned event URLs (currently BlockZero, until it lands on the calendar). Main conference event is excluded, past events dropped, results deduped/sorted. 10s timeout + graceful empty fallback (the section simply hides if Luma is down), 30-min ISR-style caching/breakpoint/schedule, See community events →luma.com/BP-SideEventsnext/imageremote patterns added for Luma CDNs; optionalLUMA_PRIVATE_API_KEYdocumented (public calendars work without it)eventsi18n strings (en source; Lingo handles other locales)Notes
evgrp-f8F1bDAHhBNDM1f, same one solana.com/events uses). If highlighted events end up on a separate calendar it's a one-constant swap insrc/content/links.ts; adding/removing pinned events is a one-line change there tooVerified locally: renders with live Luma data at 1440/768/375, tsc/eslint/prettier/vitest all pass.
🤖 Generated with Claude Code