17 Commits

Author SHA1 Message Date
Michał Cieślak
4856a1ab76 Onboarding: Flows based on own StackView
Closes: #17304
2025-02-18 23:59:42 +01:00
Lukáš Tinkl
0ef547a645 fix(onboarding): Incorrect Back Navigation and Button Visibility on PIN Screens
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
2025-02-14 14:48:33 +01:00
Michał Cieślak
d1ac45ce6c Onboarding: KeycardCreatePinPage and SeedphrasePage refactored to be pure UI components
Now those components are not aware of any logic in the upper layer,
making the flows more structured and easier to follow.

Required for: #17232
2025-02-12 13:54:46 +01:00
Michał Cieślak
cee35cb164 Onboarding: Add key pair page aligned to the design
Dedicated page for operation of adding new key pair to the keycard,
with minimal times for displaying in progress and success states.

Closes: #17233
2025-02-11 12:44:46 +01:00
Lukáš Tinkl
bc5da78180 fix(Onboarding): Incorrect Navigation Flow for 'Use existing phrase' Option
- 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
2025-02-10 17:20:56 +01:00
Igor Sirotin
6fe5330e5b
fix: use mnemonic as BIP-39 string (#17246) 2025-02-07 15:14:52 +00:00
Lukáš Tinkl
a9066806b5 chore(Onboarding): Remove all "Reload keycard state" buttons
- 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
2025-02-07 13:10:58 +01:00
Jonathan Rainville
2d549f42be
feat: Implement the keycard flows for the new onboarding (#17127)
* 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>
2025-02-04 13:22:05 +00:00
Lukáš Tinkl
df741d6260 feat(Onboarding): implement the new UnblockWithPukFlow
- 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
2025-01-29 12:38:43 +01:00
Lukáš Tinkl
0445f131f7 fix(KeycardCreateProfileFlow): rename the fromBackupSeedphrase flag
- to `withNewSeedphrase` to reduce the confusion
2025-01-24 15:27:07 +01:00
Lukáš Tinkl
acb24c9e7b fix(KeycardCreateProfileFlow): swap the order of PIN and Seed pages
- 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
2025-01-24 15:27:07 +01:00
Lukáš Tinkl
638676ed0b feat(Onboarding) Implement new Login screen
- 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
2025-01-23 17:41:43 +01:00
Michał Cieślak
2cee665734 Onboarding: keycard pin-related delays parametrized
Closes: #17031
2025-01-14 10:49:42 +01:00
Michał Cieślak
c595e83605 KeycardAddKeyPairPage: built-in timeout removed 2025-01-14 10:49:42 +01:00
Michał Cieślak
ec8d84b342 Onboarding: startKeypairTransfer called properly in create profile on keycard flow
Closes: #17030
2025-01-14 10:49:42 +01:00
Lukáš Tinkl
7547442e39 fix(OnboardingFlow): collect enableBiometrics and seedphrase data
- extend the  tests to verify whether we collected the correct data
- restore the "pointing hand" cursor on clickable elements
- some minor improvements
2025-01-14 10:49:42 +01:00
Michał Cieślak
4be5c2fa27 feat(OnboardingLayout): Decompose into smaller, pure ui sub-flows
Closes: #16947
2025-01-14 10:49:42 +01:00