Related to T2090. Users should not be able to navigate to a component other than OnBoarding.js before creating a wallet. Logic has been added to routes which could previously be accessed before importing/creating a wallet, making it so the user can only see the OnBoarding component.
Details
- Reviewers
bytesofman - Group Reviewers
Restricted Project - Commits
- rABC5aea9cadfd90: [Cashtab] Route to onboarding if no wallet present
cd web/cashtab && npm start
navigate to localhost:3000 in a private browser
enter the following Routes:
/tokens
/airdrop
/configure
/send
Observe that if there is no wallet present, these routes will bring the user to the OnBoarding component.
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- route-to-onboarding-if-no-wallet
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 19267 Build 38281: Build Diff cashtab-tests Build 38280: arc lint + arc unit
Event Timeline
Looks good.
After seeing this approach though, let's keep the <OnBoarding/> component in Home.js
Issue is -- user with a wallet will still see the Onboard.js screen flash before the wallet loads, which is not acceptable UX.
Getting into some upgrades for cashtab-components. I overlooked that this approach prevents using URLs from outside Cashtab from reaching any screens other than the home page, as wallet is always false when the app first loads.
Need to put some more thought into how this is handled. For now, this current bug is worse than the edge case of "user may be confused if they navigate to the Configure page before creating a wallet," so I'm going to revert this.