Skip to content

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

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

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

Conversation

@MerpGoaterman

@MerpGoaterman MerpGoaterman commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Closes teableio#3660

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

Canonical upstream PR: teableio#3661 (this fork PR is a local mirror).

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 (this environment has no running Teable app)
Open in Web Open in Cursor 

cursoragent and others added 2 commits October 1, 2026 14:52
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>
happy-dom exposes contentEditable without isContentEditable, so ignore
keys when the property or attribute is true. Also tidy slide padding
classnames.
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)

2 participants