Skip to content

feat(app): gallery presentation mode (draft) - #3661

Open
MerpGoaterman wants to merge 2 commits into
teableio:developfrom
MerpGoaterman:feat/presentation-mode
Open

MerpGoaterman wants to merge 2 commits into
teableio:developfrom
MerpGoaterman:feat/presentation-mode

Conversation

@MerpGoaterman

@MerpGoaterman MerpGoaterman commented Oct 1, 2026 •

Copy link
Copy Markdown

Closes #3660

Draft scaffold for a dual-view gallery Presentation mode for shared-screen review. This is not a zoomed-in gallery tile.

UX

Gallery now has two distinct modes, switched by a Present toggle:

  1. Normal / compact — today’s mobile-optimized gallery grid is unchanged when Present is off (GalleryViewBase / Card are untouched).
  2. Presentation — a separate full-viewport slide experience: one record at a time, large typography, hero cover, keyboard navigation. Inspired by a lightweight HTML slides shell (https://slides-production-c1cf.up.railway.app), not a dense card dashboard.

Controls

  • Toolbar Present / Exit Present on app and share gallery views
  • ArrowRight / j next, ArrowLeft / k previous in the current filtered set (does not wrap)
  • Esc exits
  • Overlay chrome: counter, previous/next, exit

State is local UI only (not a persisted view option).

Verification

  • vitest run src/features/app/blocks/view/gallery/utils/presentation.spec.ts — 13/13 passed
  • ESLint on touched presentation files — clean

Out of scope (follow-ups)

  • Field editing inside Present
  • Kanban Present
  • Persisted view option / deep-link
  • Changing the Teable Cloud hosted instance
  • Browser/manual QA on a live gallery
  • CLA assistant is currently pending on this PR

Introduce a dual-view Present toggle on gallery views: compact gallery
stays unchanged, while Present opens a separate full-viewport slide
experience with large typography and keyboard navigation.

Co-authored-by: MerpGoaterman <MerpGoaterman@users.noreply.github.com>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

1 similar comment
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

happy-dom exposes contentEditable without isContentEditable, so ignore
keys when the property or attribute is true. Also tidy slide padding
classnames.
@MerpGoaterman
MerpGoaterman marked this pull request as ready for review October 1, 2026 15:13

This branch has not been deployed

No deployments
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.

Feature: Presentation mode toggle (large full-screen cards for shared-screen review)

3 participants