Skip to content

feat/fix(onboarding): completeness indicator + copy & close polish (#2-#6)#373

Merged
mcull merged 2 commits into
fix/profile-complete-silent-failurefrom
fix/onboarding-copy-polish
Jul 1, 2026
Merged

feat/fix(onboarding): completeness indicator + copy & close polish (#2-#6)#373
mcull merged 2 commits into
fix/profile-complete-silent-failurefrom
fix/onboarding-copy-polish

Conversation

@mcull

@mcull mcull commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Onboarding UX pass from Marc's testing session. Stacked on #372 (shares ProfileWizard.tsx) — retarget to main once #372 merges.

#2 — Card-completeness indicator (replaces the 1-2-3 stepper). The linear numbered stepper made minimal-first entry feel like a required 3-step process. Replaced with a completeness indicator that shows the parts of the library card — Name & agreements / Photo / Address — and checks each off as it fills in, so photo/address read as "add anytime," not "mandatory next." Pure tested profileCardStatus() helper; new ProfileCompleteness component; numbered Stepper + custom step-icon styling removed. Caption: "You can fill in the rest anytime."

#3 — Step 1 copy. Card subtitle is now step-aware: Step 1 reinforces the fast track; later steps talk about photo/address.

#4 — JIT prompt names the full ask. Lend/borrow/create prompts now say a photo and verified address are needed (CTA "Finish profile"), instead of photo-only.

#5 — Close affordance. When opened from a just-in-time prompt (?continue=1), the wizard shows a prominent Close (X) that exits back to the app (returnTo or /stacks) instead of trapping the user (Back only walked wizard steps).

#6 — Friendly photo rejection. Warm, on-brand rejection note; the raw model reason is logged for debugging rather than shown.

Verification

  • tsc, eslint, unit tests (incl. new profileCardStatus + profileSubmitBlockMessage), and npm run build all pass.

For preview review

The completeness indicator is a first pass — worth eyeballing on the preview for visual weight vs. the old stepper, and whether we want to lean further into the physical "library card" metaphor.

🤖 Generated with Claude Code

- Step 1 header now reinforces the fast-track ('name + a few basics') rather
  than 'set up how you'll appear'; subtitle is step-aware.
- Just-in-time complete-profile prompts (lend/borrow/create) name the full
  ask (photo AND verified address) so there's no surprise second step.
- Wizard gains a prominent Close affordance that exits back to the app when
  it was opened from a just-in-time prompt (no longer trapped, Back only
  walked wizard steps).
- Photo-rejection message is warm and on-brand instead of a raw model reason
  (raw reason still logged for debugging).

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

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
stufflibrary Ready Ready Preview, Comment Jul 1, 2026 12:50am

Request Review

…cator (#2)

The linear stepper made minimal-first entry feel like a required 3-step
process. Replace it with a completeness indicator that shows the parts of the
library card (Name & agreements / Photo / Address) and checks each off as it
fills in — so photo/address read as 'add anytime,' not 'mandatory next.'

- Pure tested profileCardStatus()/completedCardCount() helpers.
- ProfileCompleteness component (done = check, current = filled ring, else
  hollow), plus a 'you can fill in the rest anytime' caption.
- Removed the numbered Stepper + custom step-icon styling.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mcull mcull changed the title fix(onboarding): copy + close-affordance polish from testing (#3-#6) feat/fix(onboarding): completeness indicator + copy & close polish (#2-#6) Jul 1, 2026
@mcull mcull merged commit 1cd2bc6 into fix/profile-complete-silent-failure Jul 1, 2026
2 checks passed
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