For the PIN pages:
- add a `pinSettingInProgress` bool hint to `KeycardCreatePinPage` when
setting/authorizing the PIN is in progress to be able to correctly
display the Back button
- don't display the "success" image yet when in progress
- use the hint in related flows
- extract the default attempts numbers to `Constants`
For the backup seed phrase sequence:
- the mnemonic is a string and gets submitted when exiting the
BackupSeedphraseReveal, not right after its (re)creation
- when starting the flow (going from `KeycardCreatePinDelayedPage`),
replace instead of push, so that Back skips the PIN page
- fixup the related SB pages
Fixes#17218
Show the exchange rate approximation in swap. The exchange rate shows when the swap input is valid.
It has 3 states:
1. invisibile - when the pay/receive input is empty
2. visible and loading - while fetching the routes. Happens whenever the swap input changes AND the input is valid
3. visbile, with data - once the routes have been fetched
- remove `tryToSetPinFunction` and correct `setPin` functions; those
were not used in LoginScreen
- consistently report login errors to the LoginScreen, including details
for the keycard profiles
- display error details in a popup (extracted from `LoginKeycardBox` to
`LoginScreen`) for both password and keycard profiles
- add login error simulation buttons to SB pages
Fixes#17258
1. Max button functionality
2. Hardcode swap modal to swap USDT <-> WETH
3. Fixing some issues found
4. Not limiting number entered by user
fixes#17198, #17200
- changes the order of the "Create profile on empty Keycard" flow to
match Figma (seedphrase -> create pin -> add key pair)
- fixup tests to match the order
Fixes#17216
* feat(onboarding): integrate all keycard flows for the new onboarding
Fixes#17079
* chore: bump submodules to merged versions
* fix: rebase fixes
* chore: bump status-keycard-go to use Go 1.21
* feat: add FactoryResetting state
* chore: minor fixes
* add KeycardRemainingPinAttempts
* minor fixes
* minor fixes
---------
Co-authored-by: Igor Sirotin <sirotin@status.im>
- LoginScreen SB page simplified
- OnboardingLayoutPage - settings introduced for handier testing
- LoginScreen moved from OnboardingLayout to OnboardingFlow, making first flow's page bound to model content (instead of relying on check during initialization)
- UnblockWithPukFlow removed from OnboardingLayout (now it's used only in OnboardingFlow)
- Login error/success processing extracted from LoginScreen to OnboardingLayout
- small bug fixed in Utils::objectTypeName
Closes: #17160
- integrate the PUK unblock flow into the Onboarding and Login screen
- added a dedicated SB page for it
- remove the `Locked` keycard state everywhere in favor of `BlockedPIN`
and `BlockedPUK`
- fix the various "Locked" buttons, based on the context and the state
of the keycard
Fixes: #17092
- first Create the PIN, then backup or enter the seed phrase
- fix and simplify the tests to reflect the reality; we are always
creating a PIN here since it's an empty keycard
- implement the new UI and frontend logic of the Login screen
- integrate it (as a separate page) into the OnboardingLayout
- add SB pages
- add an integration QML test
- add some TODOs and FIXMEs for the existing and new external flows,
which will be covered separately in followup PRs
Fixes#17057
- extend the tests to verify whether we collected the correct data
- restore the "pointing hand" cursor on clickable elements
- some minor improvements
- implement the basic Onboarding UI skeleton and the Create Profile
flows
- adjust the PasswordView and EnterSeedPhrase views to the latest design
- add the main OnboardingLayout and StatusPinInput pages to Storybook
- change terminology app-wide: "Seed phrase" -> "Recovery phrase"
- implement the Login flows (seed, sync, keycard)
- amend the keycard flow sequences with separate (non) empty page
Fixes#16719Fixes#16742Fixes#16743