Skip to content

Add public /features page showcasing the app - #288

Merged
HugoGresse merged 6 commits into
mainfrom
add-features-page
Aug 18, 2026
Merged

Add public /features page showcasing the app#288
HugoGresse merged 6 commits into
mainfrom
add-features-page

Conversation

@HugoGresse

@HugoGresse HugoGresse commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

New public landing page at openplanner.fr/features presenting what OpenPlanner does, with real app screenshots. Lives outside the login wall as a lazy-loaded route, follows the system light/dark theme, no horizontal overflow from mobile to wide screens.

Structure

  • src/public/features/featuresContent.ts — the content as data: 8 sections (title, tagline, bullets, optional screenshot)
  • src/public/features/FeaturesPage.tsx — hero (logo, CTAs, highlight chips), alternating text/screenshot sections, closing CTA
  • src/App.tsx — public /features route, lazy loaded (own chunk, no impact on app bundle)
  • public/features/*.png — six screenshots

Sections

Schedule builder · Sessions (ConferenceHall → stage) · Speakers (self-edit magic links) · Sponsors + job board · Building blocks · FAQ · Run the live show (Gladia transcription, intermission, WhatsApp track management) · Publish anywhere (JSON deploy, webhooks, API, OpenFeedback/Voxxrin)

Screenshots

Captured from the actual app (dark theme, downscaled to 1600px, ~1.2 MB total) running against the Firebase emulator suite with a seeded fictional event ("DevFest Nova 2026") — no real event data is exposed. Regeneration: seed the emulator, then Puppeteer over bun run dev:emulator (scripts kept out of the repo; ping me to regenerate).

Test plan

  • tsc --noEmit and vite build clean; page ships as its own lazy chunk
  • Verified rendering: full-page desktop dark, desktop light, mobile 390px — no horizontal overflow (programmatically asserted)
  • Reviewer: check the copy and pick different screenshots if wanted

🤖 Generated with Claude Code


Note

Low Risk
Marketing-only UI and routing; no changes to authentication, APIs, or event data handling.

Overview
Adds a public marketing page at /features (lazy-loaded, outside the login wall) that explains OpenPlanner with hero CTAs, highlight chips, and alternating copy/screenshot sections driven by FEATURE_SECTIONS in featuresContent.tsx.

Routing & discovery: App.tsx registers the new route beside other public paths; the login screen links to it with “New here? Discover what OpenPlanner can do →”.

Page behavior: Sections can show one or more screenshots with prev/next dots and a fullscreen zoom dialog; theme-aware logo and responsive layout (including reversed column order on alternating rows).

Reviewed by Cursor Bugbot for commit 70abdc3. Configure here.

A landing page at openplanner.fr/features presenting what OpenPlanner
does: schedule builder, sessions/speakers management, sponsors and job
board, building blocks, FAQ, day-of tooling and the JSON/webhook
publishing pipeline. Public route (outside the login wall), lazy
loaded, light/dark aware, content driven by a small data file.

Screenshots are real app captures (dark theme, 1600px) taken against
the Firebase emulator suite with a seeded demo event, so no real event
data is exposed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HugoGresse
HugoGresse deployed to GitHub Action PR August 18, 2026 08:53 — with GitHub Actions Active
@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown

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

(expires Tue, 25 Aug 2026 12:57:00 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 0c15c45ea5a4c54095387eacf30c3755c9260f22

Comment thread src/public/features/FeaturesPage.tsx
…ightbox

Feedback round on the /features page:

- "Run the live show" gets real screenshots: two intermission moments
  (next-session lower third and sponsor slideshow) captured from Sunny
  Tech 2026's public intermission screen — no login involved. Shown as
  a small hand-rolled slideshow (arrows + dots, no new dependency).
- New Team and Tickets sections with admin screenshots.
- Every screenshot opens fullscreen in a lightbox dialog (zoom cursor,
  click anywhere or the close button to dismiss).
- Publish-anywhere section links the REST API (api.openplanner.fr) and
  Sunny Tech 2026's real exported JSON as a live example.
- ConferenceHall, ShortVid and Gladia are linked inline where the text
  mentions them; content file becomes .tsx so bullets can carry links.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HugoGresse
HugoGresse deployed to GitHub Action PR August 18, 2026 09:12 — with GitHub Actions Active
The theme's default LinkComponent routes every Button/Link through
wouter's LinkBehavior, which intercepts left-clicks and tries a SPA
navigation even for cross-origin hrefs — the GitHub CTAs and inline
external links silently did nothing. component="a" bypasses the router
for all external links (verified with a headless click: new tab opens,
page stays put).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HugoGresse
HugoGresse deployed to GitHub Action PR August 18, 2026 12:29 — with GitHub Actions Active
Reuses the slideshow on more sections, each gaining a second (or third)
real capture: session edit page, job posts moderation, speaker
self-edit form (opened through an actual magic link against the
emulator), an image-gallery block with the multi-image drop zone, and
the live transcription screen with the talk info bar (captured by
proxying the prod storage URL to the local emulator). The publish
section shows Sunny Tech 2026's public website and links it as a live
example next to the API and JSON links.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HugoGresse
HugoGresse deployed to GitHub Action PR August 18, 2026 12:36 — with GitHub Actions Active
The live transcription capture displayed an empty caption area; it now
carries example subtitle lines (a settled line and a dim partial one)
so the screenshot demonstrates what the audience actually sees.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HugoGresse
HugoGresse deployed to GitHub Action PR August 18, 2026 12:42 — with GitHub Actions Active
@HugoGresse

Copy link
Copy Markdown
Owner Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b7e2967. Configure here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@HugoGresse
HugoGresse deployed to GitHub Action PR August 18, 2026 12:55 — with GitHub Actions Active
@HugoGresse

Copy link
Copy Markdown
Owner Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 70abdc3. Configure here.

@HugoGresse
HugoGresse merged commit b2a5701 into main Aug 18, 2026
6 checks passed
@HugoGresse
HugoGresse deleted the add-features-page branch August 18, 2026 13:07
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