1015 Commits

Author SHA1 Message Date
Lukáš Tinkl
af78797420 fix(Onboarding): Back button appears on loading screen
- don't clear the stack, we might need it to show errors during login
(while displaying splash screen)
- use the `backAvailableHint` instead on the splash screen itself to
hide the back button
- when a login error happens, unwind (or recreate) the stack to show the
LoginScreen page again, together with the error message
- add a simulation of these 2 scenarios to StoryBook, together with
showing the splash screen after a login

Fixes #17352
2025-02-22 02:01:09 +01:00
Lukáš Tinkl
9ef2d43960 chore(LoginScreenPage): add some more error/result handling 2025-02-22 02:01:09 +01:00
Cuteivist
89564d2970
feat: Adjust send model height depending on contents (#17336)
* feat: Adjust send model height depending on contents

* fix: Revert recipient_type from adapter

* fix: Updated the button size

* fix: Unit test
2025-02-21 22:13:36 +01:00
Igor Sirotin
9bebae3119
feat: keychain available property (#17367)
* feat: Keychain availability check

* fix: ifdef older systems

* fix: typoe
2025-02-21 19:30:52 +03:00
Cuteivist
2dcfb76402
chore: Fix swap input unit tests (#17315) 2025-02-20 13:16:57 +01:00
Igor Sirotin
1959bcafc2
fix: use proper LocalPairingState (#17328) 2025-02-20 11:48:15 +03:00
Lukáš Tinkl
dcc4054690 fix(Onboarding): prevent importing the same seedphrase twice
- adds a new NIM method `isMnemonicDuplicate` which checks for
duplicates
- use it in the "seedphrase recovery flows"
- in case of a duplicate seedphrase, present the user with a more
suitable error message (other than a plan "Invalid seedphrase")
- fixes re-importing the same seed leading to an infinite splash screen
loop due to an "account already exists" error

Fixes #17248
2025-02-19 21:51:07 +01:00
dlipicar
ee79b494ec
Network selection improvements (#17184)
* feat(network): implement new networks selection screen

* fix: proper handling of test network icon

* feat: changes to Network selector

* feat: implement blockchain explorers menu

* chore: move networks related properties and functions to NetworksStore

* feat: remove usage of tiny network icons

* fix: misc fixes

* chore: change exception with error
2025-02-19 12:22:45 -03:00
Khushboo-dev-cpp
02ffe14c48 feat(@desktop/wallet): Default Swap to USDC <-> ETH pair 2025-02-19 14:53:10 +01:00
Michał Cieślak
4856a1ab76 Onboarding: Flows based on own StackView
Closes: #17304
2025-02-18 23:59:42 +01:00
Igor Sirotin
4a6543bdca
feat: AuthorizationState (#17309) 2025-02-17 21:09:01 +03:00
Igor Sirotin
ab197d8c4b
feat(Keychain): added HasCredential method (#17305) 2025-02-17 21:08:20 +03:00
Cuteivist
73103120a2
Feat/new network adjustments 17201 (#17296)
* feat: Add status gradient

* feat: Rename gradient component
2025-02-17 06:56:47 +01:00
Michał Cieślak
b98758cb08 Onboarding: KeycardEnterPinPage cleanup 2025-02-14 15:54:08 +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
Lukáš Tinkl
ac58a0bb29 fix(Onboarding): fix the mouse back button overlay
- to follow the same logic as the onscreen Back button
2025-02-14 14:48:33 +01:00
Alex Jbanca
36872b6f1c feat(Swap): display the exchange rate approximation in swap
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
2025-02-13 22:32:14 +02:00
Michał Cieślak
3921460133 Onboarding: generic keycard error page
Closes: #17232
2025-02-13 15:43:49 +01:00
Cuteivist
ac4a36b081
feat(wallet): New chain icon (#17263) 2025-02-13 14:04:30 +01:00
Igor Sirotin
5c68e01e02
feat: collect KeyUID during LoginWithLostKeycardSeedphrase (#17278)
* feat: collect `KeyUID` during `LoginWithLostKeycardSeedphrase`

* chore: address pr comments
2025-02-13 00:03:09 +03:00
Khushboo-dev-cpp
b6fd97d36b feat(@desktop/wallet): Enable simple send by default 2025-02-12 17:07:22 +01:00
Lukáš Tinkl
57ba401228 chore(Onboarding): add unblock flows tests of LoginScreen
- to be completed/finished when the flows actually work
2025-02-12 14:07:03 +01:00
Lukáš Tinkl
262f51a102 fix(Onboarding): Better handling of login errors
- 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
2025-02-12 14:07:03 +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
Khushboo-dev-cpp
91846f38b0 feat(@desktop/wallet): Add swap button in left sidebar
fixes #17197
2025-02-12 10:54:48 +01:00
Khushboo-dev-cpp
28496a93b1 feat(@desktop/wallet): Remove progressive pixel reduction in Send and Swap 2025-02-11 20:21:07 +01:00
Khushboo-dev-cpp
296b717f54 feat(@desktop/wallet): Swap changes needed for -2.33
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
2025-02-11 20:21:07 +01:00
Cuteivist
d01ab02a5a
feat: Update interactive states in simple send modal (#17253) 2025-02-11 19:44:23 +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
Michał Cieślak
0f81f7922f Storybook(OnboardingLayout): mnemonic auto-fill fixed 2025-02-11 12:44:46 +01:00
Cuteivist
289c14aefd
feat: Remove beta popup (#17264)
* feat: Remove beta popup

* chore(@e2e): remove beta consent popup

---------

Co-authored-by: Anastasiya <anastasija.ig@gmail.com>
2025-02-11 10:18:16 +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
Michał Cieślak
7649ad45ca feat(Onboarding): KeycardExtractingKeysPage excluded from KeycardEnterPinPage
Closes: #17205
2025-02-07 17:24:20 +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
Michał Cieślak
54ff857f3d feat: LoginScreen - ability to dismiss biometrics popup 2025-02-06 19:20:38 +01:00
Michał Cieślak
d26991bc72 feat: LoginScreen biometrics integration using Keychain
Required for #17085
2025-02-06 19:20:38 +01:00
Michał Cieślak
94dbdc450f chore: Keychain api adjusted 2025-02-06 19:20:38 +01:00
Lukáš Tinkl
2c0bcd67af chore(EnterSeedPhrase): improve the SB page
- add a convenience Paste button
- make it possible to validate the seedphrase
2025-02-06 14:56:07 +01:00
Lukáš Tinkl
c20662e6a4 fix(EnterSeedPhrase): fix backspace or delete
- fields can be cleared by selecting a word and pressing backspace or
delete

Iterates: #17105
2025-02-06 14:56:07 +01:00
Lukáš Tinkl
241f21e4ea fix(EnterSeedPhrase): focus last input field after paste
Iterates: #17105
2025-02-06 14:56:07 +01:00
Cuteivist
79432938b2
feat(wallet): Update recipient data in send sign modal (#17164) 2025-02-06 10:08:54 +01:00
Lukáš Tinkl
db7a359a49 fix(PasswordView): UI fixes and alignments with latest Figma
- 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
2025-02-05 14:35:26 +01:00
Lukáš Tinkl
09bdb955e9 feat(Onboarding): implement the KeycardFactoryReset flow
- integrate it into the UI and StoryBook
- a new keycardState is introduced: `FactoryResetting` (matching the
backend)
- a new store method introduced: `startKeycardFactoryReset()`

Fixes: #17094
2025-02-04 22:57:04 +01:00
Jonathan Rainville
bf5de4087e
feat: Integrate new logins flows happy paths (#17137)
* feat(login): integrate basic login flows happy paths

Fixes #17137

* fix: rebase issues and pr comments

* chore: switch status-keycard-go to master branch

* fix: tests

---------

Co-authored-by: Igor Sirotin <sirotin@status.im>
2025-02-04 15:08:13 +00: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
Igor Sirotin
6e1ef46ef7
feat: Keychain QML Item (#17166)
* feat: Keychain QML component

* fix: non-mac builds

* test

* feat: async api

* chore: gitignore statusq android gradle

* Keychain API adjusted, Storybook page unified for real/mocked biometric popup

* fix: proper success/error of getCredential

* chore: format file

* feat: Keychain emit status

* feat: Keychain status

* feat: cancel auth

* fix: various os-specific issues

* chore: address pr comments

* chore: update mocked biometrics popup

* chore: back to LAPolicyDeviceOwnerAuthentication

* cleanup
2025-02-04 12:26:33 +00:00
Khushboo-dev-cpp
19c6e910d8 feat(@desktop/wallet): Wrtie Unit tests for SimpleSendModal, SimpleTransactionFees and SendModalFooter
fixes #17123
2025-02-03 16:20:13 +01:00
Dario Gabriel Lipicar
55e96bbd05 chore: extract rpcProviders as independent model 2025-01-31 12:11:35 -03:00
Dario Gabriel Lipicar
051b563f9f feat(network): integrate new rpc providers api 2025-01-31 12:11:35 -03:00