Skip to content

feat(snapshot): status moments review page - #6581

Draft
tomeredlich wants to merge 3 commits into
mainfrom
snapshot-status-moments
Draft

feat(snapshot): status moments review page#6581
tomeredlich wants to merge 3 commits into
mainfrom
snapshot-status-moments

Conversation

@tomeredlich

@tomeredlich tomeredlich commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

The Status moments section of #6544, split out on its own so it can be reviewed without the other nineteen cards.

Instead of a Storybook story it lives at /dev/status-moments, next to the existing /dev/buttons and /dev/checkbox-radio review surfaces — so the screens render in the real app shell, with real theming and fonts, rather than in an iframe.

Changes

The argument the page makes: these surfaces have no page to send anyone to. A link to your streak, your rank or your unlocked achievement means nothing to the person receiving it, so Snapshot is not the louder option — it is the only one.

Not in this PR

Design review only. Every screen is inert: no capture, no data wiring, no feature flag. The page is gated to non-production builds and carries noindex regardless.

Events

None.

Experiment

None.

Testing

  • eslint clean on the webapp page and the shared icon.
  • node ./scripts/typecheck-strict-changed.js clean.
  • Loaded /dev/status-moments against next dev and checked it in the browser: all five categories render, 11 Snapshot controls present, every resource 200/304, no console errors. Leaderboard rows, the before/after rails and the analytics cards all verified visually in dark theme.

🤖 Generated with Claude Code

Preview domain

https://snapshot-status-moments.preview.app.daily.dev

Splits the "Status moments" section out of #6544 so it can be reviewed on its
own. Seven win moments that end in a dismiss — reading streak, achievements,
leaderboard rank, top reader badge, streak tiers, being awarded, and post
analytics — each drawn today / recommended / push.

Lives at /dev/status-moments alongside the existing /dev/buttons and
/dev/checkbox-radio review surfaces, so it renders in the real app shell
rather than in Storybook. Gated to non-production builds and noindex.

Adds the Snapshot icon the control needs. Everything on the page is inert:
no data wiring, no capture, no feature flag.

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

vercel Bot commented Sep 2, 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 2, 2026 3:22pm UTC
1 Skipped Deployment
Project Deployment Actions Updated
storybook Ignored Ignored Sep 2, 2026 3:22pm UTC

Request Review

The six surface docblocks walked through the JSX beneath them, and two
restated copy that the page already renders in its own `note` and `verdict`
props. The achievement block also described hover behaviour this page does
not implement. Replaced with the one-line source reference the analytics
screen already used, so each screen names the real component it redraws and
nothing else.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The screens hand-rolled five parts the design system already ships: the
reminder toggle, the opt-out checkbox, the achievement progress bar, the
leaderboard avatars and the rank badges were raw spans with styling typed
in directly.

Swapped for Switch, Checkbox, ProgressBar, ProfilePicture and TopRankBadge.
The rank column changes visibly and deliberately: TopRankBadge draws the
gold/silver/bronze medals the real leaderboard draws, replacing a 🥇 emoji
and "#2"/"#3" text.

Mockup-to-eng-pass: 1

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