Skip to content

feat(briefing): review share and copy-link placements on the briefing surfaces - #6563

Draft
tomeredlich wants to merge 7 commits into
snapshot-post-page-variationsfrom
claude/snapshot-briefing-preview
Draft

feat(briefing): review share and copy-link placements on the briefing surfaces#6563
tomeredlich wants to merge 7 commits into
snapshot-post-page-variationsfrom
claude/snapshot-briefing-preview

Conversation

@tomeredlich

@tomeredlich tomeredlich commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Stacked on snapshot-post-page-variations (#6556). Adds one internal review page, /dev/briefing-share, for the two briefing surfaces: the list at /briefing and the briefing itself.

Snapshot is deliberately out. The premise behind putting it here — "a briefing link is personalized, so it is broken for the recipient" — does not survive a read of the code: a brief is a normal post at /posts/{slug} (BriefListItem.tsx:144), so the link resolves, and useSharePost.copyLink already shortens it and tags it with ReferralCampaignKey.SharePost.

What the page argues

  1. Copy link at every width on the briefing — two gaps, not one: the cluster is wrapped in hidden laptop:block (BriefPostHeaderActions.tsx:31) and BriefPostContent.tsx:357 is its only caller passing showShareButton. A working, tracked copy button exists and is invisible on tablet and mobile, where most briefings are read. Deleting one class name is the whole change.
  2. Copy link only on the /briefing rowsfeat(share): briefing copy actions + personalized digest share parity #6353's control with the arrow dropped. Rows repeat and sit under a full-bleed CardLink; each extra glyph is another mis-tap target.
  3. Then the share arrow, on the briefing only — one object, a header with room, and on mobile it opens the native sheet.
  4. A closing band at the end of the briefing, same action, labelled.

Every variant is drawn at Desktop / Tablet / Mobile widths. Copy buttons really copy; the share arrow, settings and Generate Brief are inert.

Notes

  • Nothing in packages/shared changes. The page is additive and carries noindex/nofollow, blocked on app.daily.dev and www.daily.dev.
  • Draft: opened for the preview domain, not for review yet.

🤖 Generated with Claude Code

Preview domain

https://claude-snapshot-briefing-preview.preview.app.daily.dev

tomeredlich and others added 2 commits September 1, 2026 10:19
The briefing variations only existed as a Storybook surfaces page, which
can't show the controls behaving: the Snapshot buttons there are drawings
of buttons. /dev/snapshot-briefing rebuilds the same three arguments —
the /briefing list, the breakpoint gap in BriefPostHeaderActions, and the
two places snapshot could go on the briefing itself — with the production
SnapshotButton wired to a real ListSnapshotCard, so every capture puts the
actual 1080x1080 PNG on the clipboard.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Snapshot came off the table for this surface, and the premise behind it
does not survive a read of the code: a brief is a normal post at
/posts/{slug}, so a link resolves for whoever receives it, and
useSharePost.copyLink already shortens it and tags it with
ReferralCampaignKey.SharePost.

What is left is which control, at which widths. The page now argues for
one-tap copy link everywhere, the share arrow only on the briefing
itself, and one glyph per row on the /briefing list — and records the
two real gaps: the hidden laptop:block wrapper in
BriefPostHeaderActions and BriefPostContent being its only caller.

Renamed to /dev/briefing-share and dropped ListSnapshotCard with it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
daily-webapp Ready Ready Preview Sep 1, 2026 11:58am UTC
1 Skipped Deployment
Project Deployment Actions Updated
storybook Ignored Ignored Sep 1, 2026 11:58am UTC

Request Review

The review page argued for these; this puts them where they belong so
they can be judged on the actual /briefing list and briefing post rather
than in a mock.

- BriefPostHeaderActions: the cluster stops being `hidden laptop:block`,
  so the copy button that already existed is reachable on tablet and
  mobile, and a share arrow joins it for the native sheet.
- BriefListItem: a copy button per row, rendered after the CardLink with
  `relative z-1` so the overlay does not swallow it. The title truncates
  and the text column shrinks only once a control shares the row, so rows
  without one keep their current DOM.
- BriefShareBand: a labelled copy band after the last section, where
  reading actually stops.

All three read `briefing_share_controls` through useSharePlacement: the
flag default is false, so app.daily.dev is unchanged on merge, and branch
previews turn it on without GrowthBook.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The text column carried `w-full`, so it claimed the whole article and
pushed the copy button past the card border. Shrinkable and greedy
instead of 100% wide: same width, no overflow. Rows without a control
keep `w-full` and their original DOM.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
tomeredlich and others added 2 commits September 1, 2026 14:45
The gear shipped variant-less, so it inherited full-strength text colour
and read brighter than the Tertiary copy and share buttons that now sit
next to it in the header.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…psell

The card wore the Plus-upsell sticker treatment — a white outer border, a
4px black inner border and the brief gradient — around what is a settings
panel, so a Title2 "Customize your presidential briefing" shouted over
the briefing it belongs to.

One surface-float card with a subtlest border, heading down to Body bold,
description to tertiary Footnote, and the "Receive via" label a step
quieter so the card has one voice. The removed border-white/border-black
were raw palette values that could not survive a light theme.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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