Skip to content

feat: activate Sep 2026 speakers event - #120

Merged
rnegron merged 6 commits into
mainfrom
feat/sep-2026-speakers-event
Aug 27, 2026
Merged

feat: activate Sep 2026 speakers event#120
rnegron merged 6 commits into
mainfrom
feat/sep-2026-speakers-event

Conversation

@rnegron

@rnegron rnegron commented Aug 27, 2026

Copy link
Copy Markdown
Member

Preps the site for Fullstack Nights: Speakers — Thursday, September 10, 2026, 6:00–9:00 PM, Bayamón PR.

Event

  • Three talks: Giovanni Collazo (jj es más fácil que git), Christian Rodríguez (Tus agents necesitan acceso (seguro) a producción), Raúl Negrón-Otero (Un vistazo a Django Template Partials)
  • PostHog as sponsor — logo is the unmodified standard landscape mark from posthog.com/brand, which is the variant their handbook specifies for light backgrounds
  • Venue shows "Bayamón, Puerto Rico" linked to Luma, since Luma keeps the street address guests-only

Schedule

/schedule/ now generates its timeline from CONFIG.event.participants instead of the hardcoded two-speaker list, so it scales to any lineup:

Sep 10   Bayamón, Puerto Rico — make your way to our venue
6:00pm   Doors open / Check-in
6:20pm   Introduction and kick-off
6:30pm   Presentation 1
6:50pm   Presentation 2
7:10pm   Presentation 3
7:30pm   Wrap-up / Networking
9:00pm   The end

20 min per slot (15 talk + 5 Q&A), 1h30 of networking. Slots are numbered rather than named so the schedule doesn't commit to a speaking order — only the participant count reaches the timeline. Names and topics still appear in the homepage line-up, which is a roster rather than a running order. Slot timings live in CONFIG.event.agenda, so a future event with different talk lengths still only touches src/config.js.

Supporting changes

  • Registration links point at Luma. The previous fullstacknights.eventbrite.com URL was dead. RegistrationButton replaces two byte-identical anchors backed by two duplicate i18n keys.
  • src/date.js — dates now localize. Spanish gets day-before-month ordering (jueves, 10 de septiembre de 2026); both languages keep 12-hour am/pm, which is what Puerto Rico uses. Date strings are offset-less ISO so every visitor sees venue wall-clock time rather than their own timezone.
  • src/language.js — there were three different "is this Spanish?" checks that disagreed: date.js and luma-events.js used startsWith("es"), while i18n.js used === "en-US". A tag like en-GB was classified inconsistently. Now one rule.
  • Off-season /schedule/ shows the Luma calendar instead of an empty timeline plus a ticket link to a past event. The nav hides the route, but bookmarks and old links don't go through the nav.
  • Copy — dropped the open-mic line (no open mic this format) and reworded the sponsors blurb. Unused keys removed from both locales; en.json/es.json verified structurally in sync.
  • sponsors.js got intrinsic width/height to avoid layout shift now that the section renders for the first time.

Verification

npm run lint clean. npm run build exits 0, and I verified the rendered HTML for / and /schedule/. Also built with activeEvent: false to confirm the off-season path works — no ticket CTA, no empty timeline.

Built locally on Node 26.5.0 rather than the 22.22.2 in .nvmrc; CI is the real check on that.

🤖 Generated with Claude Code

Turn on CONFIG.activeEvent for Fullstack Nights: Speakers (Sep 10, 2026,
6-9pm, Bayamon PR) with three talks and PostHog as sponsor.

Generate the /schedule/ timeline from CONFIG.event.participants instead of
a hardcoded two-speaker list, and move the slot timings into
CONFIG.event.agenda so a new event only touches src/config.js. Point both
"Get tickets" buttons at Luma; the old Eventbrite URL was dead.

Add src/date.js so dates localize (Spanish gets day-before-month ordering)
and src/language.js so the three divergent "is this Spanish?" checks in
date.js, luma-events.js and i18n.js share one rule.

Off-season /schedule/ now shows the Luma calendar rather than an empty
timeline with a stale ticket link.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rnegron
rnegron requested a review from eluciano11 as a code owner August 27, 2026 16:26
@github-actions

Copy link
Copy Markdown

¡Gracias por tu interés en Fullstack Nights y por hacer este Pull Request! Pronto estaremos en contacto. / Thanks for your interest in Fullstack Nights and for opening this pull request! We'll be in touch soon.

The timeline no longer implies a speaking order — only the participant
count reaches it. Speaker names and topics still appear in the homepage
line-up, which is a roster rather than a running order.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rnegron
rnegron enabled auto-merge (squash) August 27, 2026 16:31
rnegron and others added 4 commits August 27, 2026 16:20
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rnegron
rnegron disabled auto-merge August 27, 2026 20:56
@rnegron
rnegron merged commit 21fd2c0 into main Aug 27, 2026
6 checks passed
@rnegron
rnegron deleted the feat/sep-2026-speakers-event branch August 27, 2026 20:56
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.

1 participant