feat: MUSD-795 money home screen onboarding stepper#30226
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
0f9e1cc to
df9dfc0
Compare
| navigation.navigate(Routes.CARD.ROOT, { | ||
| screen: Routes.CARD.HOME, | ||
| }); | ||
| }, [isCardholder, canLink, openLinkCardSheet, navigation]); |
There was a problem hiding this comment.
Link card CTA uses openLinkCardSheet instead of startLinkFlow
Medium Severity
The refactored handleLinkCardPress calls openLinkCardSheet directly, but the old code in MoneyHomeView explicitly used startLinkFlow with an origin parameter ({ screen: Routes.MONEY.ROOT, params: { screen: Routes.MONEY.HOME } }). The previous tests explicitly asserted that openLinkCardSheet was NOT called and startLinkFlow was preferred — the test was even named "still calls startLinkFlow (not openLinkCardSheet directly) when onboarding CTA is tapped." startLinkFlow likely records the calling screen so the user returns to Money Home after the linking flow completes; openLinkCardSheet lacks this origin context, potentially breaking return navigation after card linking.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 0250e8a. Configure here.
There was a problem hiding this comment.
Will update this when I'm back on Tuesday. startLinkFlow was added last night.
…mentation in MoneyHomeView
…sh of step one for already funded Money accounts; fixed excessive padding when onboarding stepper isn\'t rendered
0250e8a to
f3185ae
Compare
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
All changes are scoped to the Money/Card feature. The Performance Test Selection: |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f3185ae. Configure here.
| navigation.navigate(Routes.CARD.ROOT, { | ||
| screen: Routes.CARD.HOME, | ||
| }); | ||
| }, [isCardholder, canLink, openLinkCardSheet, navigation]); |
There was a problem hiding this comment.
Unreachable openLinkCardSheet branch in link card handler
Medium Severity
handleLinkCardPress checks isCardholder && canLink to call openLinkCardSheet(), but this branch is unreachable. It's only wired to the step 2 "unlinked card" CTA, which renders when isCardholder && !moneyAccountCardToken. Since canLink in useMoneyAccountCardLinkage requires moneyAccountCardToken to be truthy, canLink is always false when this handler runs. The "Link card" CTA therefore always falls through to navigating to Routes.CARD.ROOT, never opening the link sheet. The corresponding test masks this by mocking canLink: true alongside moneyAccountCardToken: null — a state impossible in production.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit f3185ae. Configure here.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #30226 +/- ##
==========================================
+ Coverage 81.95% 81.96% +0.01%
==========================================
Files 5446 5447 +1
Lines 145449 145528 +79
Branches 33223 33237 +14
==========================================
+ Hits 119209 119289 +80
Misses 18107 18107
+ Partials 8133 8132 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|





Description
Refactored the Money Home onboarding stepper to match latest designs and use generic
<StepperCard/>component.Changelog
CHANGELOG entry: refactored Money home onboarding stepper to match latest designs; added generic StepperCard component; added SegmentedProgressBar component
Related issues
Fixes: MUSD-795: [Mobile] Build the Money Account home screen onboarding stepper — all states
Manual testing steps
TBD - Will update tomorrow.
Screenshots/Recordings
Before
After
https://www.loom.com/share/cd5bb340ca3644e5b948e4f17d3a2bb3
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Medium Risk
Introduces persisted onboarding-stepper state in the user reducer and rewires Money Home onboarding behavior (auto-advancing/auto-hiding and CTA navigation), which could affect user progression and UI visibility across sessions.
Overview
Refactors the Money Home onboarding into a new reusable
StepperCard(backed bySegmentedProgressBar), replacing the bespokeMoneyProgressBarand simplifyingMoneyHomeViewto renderMoneyOnboardingCardwithout passing step/variant props.Adds persisted onboarding-stepper progress to Redux via
onboardingStepperProgress,selectOnboardingStepperProgress, and a newsetOnboardingStepperStep(stepperId, step)action, plus a Money-scoped hookuseMoneyOnboardingStepand a developer option to reset the Money stepper.Updates Money onboarding logic to dynamically vary step-1 copy/tooltips based on balances, support step-2 link/get-card flows (including skip), and auto-advance steps when balance becomes non-zero or when a cardholder already has a linked card; adjusts related layout padding (
MoneyEarnings.compact, action row spacing) and refreshes/enlarges test coverage and i18n strings.Reviewed by Cursor Bugbot for commit f3185ae. Bugbot is set up for automated code reviews on this repo. Configure here.