- 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
- the manual "I've insterted a keycard" reload buttons are no longer
needed; we can rely solely on the HW keycard state
- when doing a "Restart", also reset the internal mock/store states
Fixes#17234
- display validation messages closer to the input fields
- warn about pass too long, info for "passwords match"
- fix an actual bug when two too long passwords would be considered as
"valid" by the UI
- various fixes and UX improvements for the respective SB pages
Iterates: #17101
To fully fix the above issue, we need a more complete Figma design,
depicting the various error scenarios
- integrate it into the UI and StoryBook
- a new keycardState is introduced: `FactoryResetting` (matching the
backend)
- a new store method introduced: `startKeycardFactoryReset()`
Fixes: #17094
* 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
- popup displayed only ever once
- triggered when section is switched to anything else than wallet
(default for new users) or settings (profile visible first anyway)
- add the popup to SB
Fixes#17027
- 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
- and use it in the SB pages to automatically get all values from an
enum and use them as a ready made model, instead of spelling the values
individually/manually
- SyncProgressPagePage: enable the back button only in the failed state
- SyncProgressPagePage: fix the "Try again" and "Back" button to go to
the Scan QR step; the connection code is disposable and can't be used
again anyway
- adjust the respective SB pages to reflect the correct enum values
- 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