Skip to content

show a scannable join QR code in presentation view - #245

Open
jencompgeek wants to merge 2 commits into
mainfrom
jh/prezo-qr
Open

jencompgeek wants to merge 2 commits into
mainfrom
jh/prezo-qr

Conversation

@jencompgeek

@jencompgeek jencompgeek commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

What is in this PR?

Adds a QR code to the presentation view that participants can scan to join the event directly, shown by default so a
presenter doesn't have to remember to open it. Lives in the presentation header rather than the bot presence panel, so
it doesn't compete with the bot's video for space.

Changes in the codebase

  • components/PresentationHeader.tsx: new participantUrl prop. When present, adds a QR-code toggle icon button next to
    the theme toggle, opening a Popover anchored to that button. The popover is open by default (useState(true)) and the
    same button hides/re-shows it afterward. Anchored bottom-right of the button, so it opens on top of the bot presence
    panel rather than the chat/transcript area.
  • hooks/useConversationSetup.ts: exposes participantUrl (from conversation.eventUrls.participant[0].url).
  • pages/assistant.tsx: passes participantUrl through to PresentationHeader.

Documentation and automated testing

Did you:

  • document any breaking changes in your commit messages?
  • document your changes as comments in the code? Use TSDoc format where appropriate.
  • update the README and docs to be clear and easy to use for end users and developers?
  • add and/or update automated tests?
  • update team documentation of any new or changed environment variables?
  • If openapi.json changed: names the llm_engine PR/commit it came from, and whether that backend change is deployed
  • add a What's New entry in content/whatsNew.ts for new features?

Testing this PR

  • Open the presentation view for an event with a participant join link and confirm the QR code (+ "Scan to join"
    label) is visible immediately, with no click needed.
  • Click the header's QR toggle button and confirm the popover closes; click it again and confirm it reopens.
  • Confirm the toggle button is hidden entirely for an event with no participant link.
  • Confirm the rest of the page (chat, bot panel, theme toggle) stays fully clickable while the QR popover is open.

Additional information

This builds on top of the bot presence panel PR (jh/bot-presentation-view) — rebase/merge that one first. One
accessibility nuance worth knowing: MUI's Popover marks the rest of the page aria-hidden while open (standard modal
plumbing, confirmed this MUI version doesn't also apply the native inert attribute), so mouse/touch interaction with
the rest of the page is unaffected, but a screen reader wouldn't see the header's other controls — including the toggle
button itself — while the QR is showing.

@vercel

vercel Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
nextspace Error Error Nov 10, 2026 5:48pm UTC

Request Review

This branch had an error being deployed

1 failed deployment
Preview — 6e8aebac Deployed Nov 10, 2026 by vercel[bot]
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