feat(sources): offer a copy link on the topic and directory surfaces - #6566
Draft
tomeredlich wants to merge 3 commits into
Draft
feat(sources): offer a copy link on the topic and directory surfaces#6566tomeredlich wants to merge 3 commits into
tomeredlich wants to merge 3 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Wraps useShareOrCopyLink so a surface can offer a link directly instead of burying it in an overflow menu: the native sheet on mobile, a clipboard copy on desktop. The hook already raises a toast on copy, so the button stays static rather than swapping in a confirmation icon. Defaults to Float because it usually sits beside a Block or overflow button; surfaces whose neighbours are tertiary pass their own variant.
All four of these surfaces ended in a live feed and hid sharing behind the same overflow menu. On the squad card that menu is `invisible group-hover/menu:visible`, so touch had no share route at all. Give each one a copy link in the spot its own layout allows: - tag page, between Block and the overflow menu - source page, beside the follow and notify buttons, behind `showCopyLink` so PostUsersHighlights keeps its current row - squad directory card, before Join so it never competes with the conversion - archive index, beside a heading row that carried no controls - source directory rows, revealed on hover from laptop up and always present below it, using opacity so the button stays focusable SourceActions passed an optional source.id straight into follow/unfollow, which never type-checked in strict mode; route both through one helper that fails fast instead of firing a mutation it cannot form.
One story covering the four surfaces, each showing the placement that ships across desktop, tablet and mobile, so the layouts can be compared side by side without opening four pages. Mockup-to-eng-pass: 1
tomeredlich
force-pushed
the
claude/snapshot-surfaces-topic-directory-3b3fd5
branch
from
September 2, 2026 15:05
0dd55be to
0132963
Compare
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.
Tags, sources, squads and archives all end in a live feed, and all four hid sharing behind the same overflow menu. On the squad directory card that menu is
invisible group-hover/menu:visible, so on touch there was no share route at all.Each surface now carries a copy link in the spot its own layout allows:
CopyLinkButtonwraps the existinguseShareOrCopyLink, so it resolves to the native sheet on mobile and a clipboard copy on desktop, exactly as the menu item did. The hook already raises a toast, so the button stays static instead of swapping in a confirmation icon. It matches whatever sits next to it:Floatbeside Block and the overflow menu, tertiary on the squad card and in the directory rows.The source page opts in through
showCopyLink, soPostUsersHighlights— the otherSourceActionsconsumer — keeps its current row.Storybook
Features/Snapshot/Surfaces/Topic & directory pagesdocuments all four placements across desktop, tablet and mobile.Also here
SourceActionspassed an optionalsource.idstraight intofollow/unfollow, which never type-checked in strict mode. Both calls now route through one helper that fails fast rather than firing a mutation it cannot form. Pre-existing onmain, fixed here because the strict guard only checks files a branch touches.