Skip to content

feat: add livestreams page with every FCAIC episode - #10

Merged
esrakadah merged 2 commits into
mainfrom
feat/livestreams-page
Oct 2, 2026
Merged

esrakadah merged 2 commits into
mainfrom
feat/livestreams-page

Conversation

@esrakadah

@esrakadah esrakadah commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Adds a /livestreams page that lists every FCAIC episode from the YouTube playlist, so the site has a proper archive instead of a single "Past Livestream" card.

What's in it

  • New route /livestreams: the latest episode featured on top, the rest grouped by year in a grid, plus a search over episode number and topic. Hero shows episode count, total hours live and the start month, with "Watch the playlist" and "Pitch a topic" buttons. "Pitch a topic" goes to the FCAIC Sessionize page (https://sessionize.com/fcaic).
  • Linked from the navbar (after Builders) and the footer (Resources).
  • Generated data: tool/fetch_livestreams.dart reads the playlist and each stream's start date (Europe/Berlin) and writes lib/src/data/livestreams.g.dart. No new dependencies. After each stream:
    dart run tool/fetch_livestreams.dart
    The README has the same note.

Relation to #8

Both this PR and #8 add a sessionizeCallForSpeakers entry to ExternalLink, so whichever merges second gets a small conflict in external_links.dart. To fix it, keep one entry, and keep buildWithAI2026 if #8 still has it. Nothing else overlaps. I left the home page "Past Livestream" card untouched on purpose because #8 changes those lines. Once #8 lands, that card can point to /livestreams, which is a one-line follow-up and covers Stef's "Past Livestreams" request.

Checked

  • dart format --line-length=100 and dart analyze are clean (only the two existing infos remain).
  • webdev build works. Tested locally on desktop and at 375px with no horizontal scroll and no console errors. Search tested with multi-word queries and with no results.
  • All 29 episode dates cross-checked against an independent list.

🤖 Generated with Claude Code

New /livestreams route listing all episodes from the YouTube playlist,
newest first and grouped by year, with the latest episode featured and
a search over episode number and topic. Linked from the navbar and the
footer.

The episode list is generated by tool/fetch_livestreams.dart, which
reads the playlist and each stream's start date (Europe/Berlin) and
writes lib/src/data/livestreams.g.dart.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@esrakadah esrakadah self-assigned this Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit b4b1fa2):

https://flutter-community-ai--pr10-feat-livestreams-pag-ppo9w3uv.web.app

(expires Thu, 08 Oct 2026 14:43:31 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 66e5ad3cf75613080e193f26fe6f2938649d9ecc

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@esrakadah
esrakadah merged commit e028a04 into main Oct 2, 2026
3 checks passed
@esrakadah
esrakadah deleted the feat/livestreams-page branch October 2, 2026 15:05
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