Skip to content

feat(web): inline label popover replaces window.prompt in Gallery#628

Merged
gbasin merged 1 commit into
masterfrom
feat/gallery-label-popover
Jul 21, 2026
Merged

feat(web): inline label popover replaces window.prompt in Gallery#628
gbasin merged 1 commit into
masterfrom
feat/gallery-label-popover

Conversation

@gbasin

@gbasin gbasin commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Follow-up polish to #626: the Add-label affordance on gallery cards opens an inline anchored popover instead of window.prompt.

  • Built on useDialog (same primitive as ChannelMembersMenu/MessageActionMenu): input auto-focus on open, focus restore to the chip on close, escapeLayers integration so Escape closes only the popover
  • Enter adds (existing optimistic add + rollback unchanged); Escape dismisses without adding; clicks/keys inside never reach the card behind (no accidental lightbox)
  • Native touch: a datalist of the distinct labels already in the listing (minus ones on that file)
  • Chip gains aria-haspopup="dialog"/aria-expanded and stays visible while open

Validation: web typecheck, 860 unit tests (popover open/submit/Escape cases), build:ci, full local e2e 120/120 exit 0, and hands-on browser QA (9/9 checks: open/focus, chip added, Escape no-add, no lightbox leak, datalist suggestion, zero page errors).

The Add-label affordance on gallery cards now opens an anchored popover
(useDialog — the same primitive as the other anchored menus) with an
auto-focused input, Enter-to-add, Escape-to-dismiss, focus restore to the
chip, and a datalist of the labels already present in the listing. Event
containment keeps clicks/keys inside the popover from reaching the
keyboard-activatable card behind it, and escapeLayers integration means
Escape never leaks to the lightbox or route.

Follow-up polish to #626.

Validation: web typecheck + 860 unit tests + build:ci; e2e 120/120;
browser-QA'd against a seeded demo workspace (open/focus, submit chip,
Escape no-add, no lightbox leak, datalist suggestion) — zero page errors.
@gbasin
gbasin enabled auto-merge July 21, 2026 13:41
@gbasin
gbasin added this pull request to the merge queue Jul 21, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 21, 2026
@gbasin
gbasin added this pull request to the merge queue Jul 21, 2026
Merged via the queue into master with commit ea7688e Jul 21, 2026
19 checks passed
@gbasin
gbasin deleted the feat/gallery-label-popover branch July 21, 2026 14:27
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