Skip to content

docs(snapshot): document hot take and reading history share placements - #6569

Draft
tomeredlich wants to merge 3 commits into
mainfrom
claude/snapshot-hot-takes-history
Draft

docs(snapshot): document hot take and reading history share placements#6569
tomeredlich wants to merge 3 commits into
mainfrom
claude/snapshot-hot-takes-history

Conversation

@tomeredlich

@tomeredlich tomeredlich commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

One Storybook page — Features / Snapshot / Surfaces / Hot takes & history — recording where a share control belongs on the three surfaces that carry a hot take or a reading-history row.

No production surface changes. The controls on the page are inert: it compares placement, not behaviour.

What it records

Each surface is drawn at desktop, tablet and mobile, with what ships today beside the placement the page argues for.

  • Hot takes — the swipe modal (HotAndColdModal.tsx): where people actually meet a hot take. The snapshot already ships on the top card, at Float beside the upvote pill. Decided: promote it to labeled and filled.
  • Hot takes — the profile list (HotTakeItem.tsx): the same opinion in a different frame, with no ⋯ menu and no share route at all. Decided: snapshot at XSmall, before the upvote counter.
  • Reading history (PostItemCard.tsx): the opposite case — each row is a pointer back to a post, so Copy link leads and the snapshot does not (feat(share): copy link on reading history rows behind share_history #6361).

What comes with it

  • SnapshotIcon (3 files + one barrel export), which the page draws and which is not yet on main. Nothing in production imports it yet.
  • surfaceChrome.tsx, the shared page furniture for this family of surface pages. It has one consumer today; the sibling pages in docs(snapshot): document post page share placements in Storybook #6556 are the rest of the set, so it is deliberately not inlined.

Split out of #6556, which carries the post-page surface and the live capture path.

Preview domain

https://claude-snapshot-hot-takes-histor.preview.app.daily.dev

@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 3, 2026 1:20pm UTC
storybook Building Building Preview Sep 3, 2026 1:20pm UTC

Request Review

Adds one Storybook page — Features / Snapshot / Surfaces / Hot takes &
history — recording where a share control belongs on the two hot-take
frames (the swipe modal, the profile list) and on reading history. Each
surface is drawn at desktop, tablet and mobile, with what ships today
beside the placement the page argues for.

No production surface changes. The controls are inert: the page compares
placement, not behaviour. SnapshotIcon comes with it because the page
draws it and it is not on main yet.

Mockup-to-eng-pass: 1

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Each of the three surfaces was drawn twice, before and after. A review
page for a change should show the change, so the before halves go: the
modal's Float snapshot, the profile list with no share route, and the
history row's ⋯ menu. The placement prop that switched between them, and
the menu furniture only the history row needed, go with them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The reading-history row is a pointer back to a post, so copying its link
is the share that fits it. The control sits before the ⋯ menu, icon-only
because the row already drops its vote buttons below laptop, and always
visible rather than hover-gated so it survives touch.

CopyStateIcon confirms on the button itself: the copy glyph and a green
check share one grid cell, so nothing beside them moves during the swap.

Gated on showCopyLink, which only the history list passes, so the
reading-history modal keeps the DOM it has.

ReadingHistoryList came into the strict-typecheck guard's scope with this
change, which surfaced an untyped reduce accumulator and an unguarded
Date built from an optional field. Both are typed now, with no change to
what runs.

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