feat(snapshot): status moments review page - #6581
Draft
tomeredlich wants to merge 3 commits into
Draft
Conversation
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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>
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.
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/buttonsand/dev/checkbox-radioreview surfaces — so the screens render in the real app shell, with real theming and fonts, rather than in an iframe.Changes
packages/webapp/pages/dev/status-moments.tsx— the whole section. Seven win moments, each drawn today / recommended / push:packages/shared/src/components/icons— the only shared change, needed by the control on the page.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
noindexregardless.Events
None.
Experiment
None.
Testing
eslintclean on the webapp page and the shared icon.node ./scripts/typecheck-strict-changed.jsclean./dev/status-momentsagainstnext devand 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