feat(ui): enrich DB row context menu — open in tab/window + copy link (CM-3)#166
Merged
Conversation
…ink (CM-3) Add Open in split view / new tab / new window and Copy link to the database row context menus (card layouts' RowContextMenu and the table's CellContextMenu), alongside the existing open / insert / duplicate / delete items. A row is a page, so the open targets and copied link mirror the page menus exactly. useDatabase gains openRowIn(rowId, 'split'|'tab'|'window'), seeding the page-title hint before delegating to openInSplit / openInNew so a freshly opened surface shows the row's name at once; openRow becomes the 'split' shorthand. Copy link reuses useCopyPageLink (which guards the desktop dead-link case), producing a ?page= link that opens the row-as-page. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KFk2T9k3p7ghCjdzMfkA5w
…ign review) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KFk2T9k3p7ghCjdzMfkA5w
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Enriches the database row context menu — right-clicking a card (board/gallery) or a
table cell — with proper open targets and a copy-link action, so a database row behaves
like the page it is:
useCopyPageLink, which guards the desktop dead-link case),producing a
?page=link that opens the row-as-page.useDatabasegainsopenRowIn(rowId, 'tab' | 'window'), seeding the page-title hintbefore delegating so a freshly opened surface shows the row's name at once;
openRowremains the split-pane shorthand.
Applied to both the card-layout
RowContextMenu(databaseLayouts.tsx) and the table'sCellContextMenu(DatabaseView.tsx).Why
A row is a page — but the row menus only offered a bare "Open" plus insert/duplicate/
delete, with no way to open in a new tab/window or grab a shareable link the way the page
menus (CM-2) already do. This closes that parity gap.
Design review (Devon — CLEAR WITH NITS, applied)
The first cut also added an explicit "Open in split view" item. But the bare Open
already routes to the split pane (
openRow= the'split'shorthand), so the two werefunctionally identical and stacked adjacent — redundant, and they disagreed on ordering
(Split→Tab→Window here vs Tab→Window→Split elsewhere). Per review, the redundant
"Open in split view" item was dropped from both menus: the default Open keeps
the split behaviour, and only Open in new tab + Open in new window are added as
explicit targets. This also lightens the already-crowded table-cell menu.
Resulting open group:
Open · — · Open in new tab · Open in new window · — · Copy link · Insert below · Duplicate · — · Delete.Before / After
Before = base
main(pre-CM-3, minimal menu). After = this branch (open targets + copylink, no redundant split item).
Open · Insert below · Duplicate · Delete
Open · Open in new tab · Open in new window · Copy link · Insert below · Duplicate · Delete — one Open, no duplicate split
Filter/Sort/Group-by header + Open · Insert below · Duplicate · Delete
same header + Open · Open in new tab · Open in new window · Copy link · … — still manageable, no split dupe
Notes / follow-ups
for the very dense table-cell case (esp. a date column with an active view). Devon
flagged this as a separate follow-up, not a blocker for this change.
existing sibling menu items (not a regression introduced here).
Verify:
build:libs+ uitypecheck+ uilint+ uivitestall green (full UI suite1068/1068). Gate: design (Devon) — CLEAR WITH NITS, applied. Merge owner-gated.