Skip to content

feat(onboarding): the invite step, previewable on the real funnel chrome - #6583

Draft
tomeredlich wants to merge 1 commit into
mainfrom
claude/invite-onboarding-draft-pr-0c6f65
Draft

feat(onboarding): the invite step, previewable on the real funnel chrome#6583
tomeredlich wants to merge 1 commit into
mainfrom
claude/invite-onboarding-draft-pr-0c6f65

Conversation

@tomeredlich

@tomeredlich tomeredlich commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Lifts the Invite onboarding surface out of #6544 on its own. Nothing else from that stack comes with it — no snapshot components, no icons, no sharing map.

Changes

  • The argument, in StorybookFeatures/Snapshot/Surfaces/Invite onboarding, unchanged from feat(snapshot): square share images for every daily.dev surface #6544: today's /settings/invite beside the proposed step, each at Desktop / Tablet / Mobile. The settings page is complete and unreachable — a labelled TextField, a Primary Copy link and the seven-target row, buried three levels into settings, long after the moment a new account is most willing to bring someone with them. The invite is not a payload problem, it is a placement one.
  • Trimmed chromesurfaceChrome.tsx carries only what this one surface uses. The snapshot control, the sharing-map types and the SnapshotIcon are all left behind; snapshot is deliberately absent from this surface anyway, since an image of a referral cannot be clicked.
  • /onboarding/invite-preview — the same step drawn in the app rather than as a mockup of it: FunnelStepCtaWrapper's glass branch, StepHeadline, and the production InviteLinkInput and SocialShareList wired to the real referral link, so copy and share behave as they would in the funnel. ?state=progress shows the one-of-three state.

It sits outside /dev/* on purpose: that tree short-circuits the app shell (isDevReviewRoute in _app.tsx), and these controls need auth and log context. It carries noindex/nofollow and is blocked on app.daily.dev / www.daily.dev, so it is reachable on preview and local only.

Not in this PR

Design review only. The step is not registered in the funnel — it needs the funnel JSON step and a Plus-grant mechanism, so the frontend cannot ship it alone. No feature flag, no backend, no data wiring beyond the referral link the settings page already uses.

One thing the app preview surfaced

Storybook drew the seven share targets as one row. In the funnel's real 32rem rail they do not fit and wrap 6+1 on desktop, 4+3 on mobile. Left as-is rather than resized, because the fix belongs in SocialShareList and that is a shared component this PR should not be touching. Worth a decision before the step is built for real.

Events

None. The two existing referral events (CopyReferralLink, InviteReferral) fire from the reused components with the same target ids the settings page sends.

Experiment

None.

Testing

  • typecheck-strict-changed clean; eslint clean on every touched file.
  • Verified in the running webapp at both states and at desktop and mobile widths — real funnel chrome, working Copy link, real share targets.

🤖 Generated with Claude Code

Preview domain

https://claude-invite-onboarding-draft-p.preview.app.daily.dev

Lifts the Invite onboarding surface out of #6544 on its own. The settings
page is complete and unreachable: a labelled TextField, a Primary Copy link
and the seven-target row, buried three levels into settings, long after the
moment a new account is most willing to bring someone with them. So the
invite is not a payload problem, it is a placement one.

The Storybook page carries the argument — today's /settings/invite beside
the proposed step, at three viewport widths. Its chrome is trimmed to what
this one surface uses, so nothing from the snapshot stack comes with it;
snapshot is deliberately absent here anyway, since an image of a referral
cannot be clicked.

/onboarding/invite-preview draws the same step in the app rather than a
mockup of it: FunnelStepCtaWrapper's glass branch, StepHeadline, and the
production InviteLinkInput and SocialShareList wired to the real referral
link, so copy and share behave as they would in the funnel. It sits outside
/dev/* because that tree short-circuits the app shell and these controls
need auth and log context. ?state=progress shows the one-of-three state.

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 9:42am UTC
storybook Building Building Preview Sep 2, 2026 9:42am UTC

Request Review

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