Commit Graph

69 Commits

Author SHA1 Message Date
Lukáš Tinkl 38d155f590 feat(SwapModal): Integrate Sign and Approve modals
- remove old popup and related components/adaptors
- simplify the API of the Sign/Approve modals to take pre-formatted
amounts as strings
- correct login/auth icon
- SB: make it possible to open the new secondary modals
- SB: fix the `fetchSuggestedRoutes` response handling, pass around the
`uuid` and inject it to the mocked suggested routes
- adjust SB pages and tests

Fixes #15443
2024-07-12 16:04:21 +02:00
Michał Cieślak 4bf2f4df7a Wallet(SendModal): Old HodlingSelector and TokensListView removed 2024-07-12 11:10:37 +02:00
Michał Cieślak f6320f69cb Wallet(SendModal): New tokens selector intially integrated
Closes: #15512
2024-07-12 11:10:37 +02:00
Khushboo Mehta 758bba1ac0 feat(@desktop/wallet): Show total fees instead of approval fees if approve is needed on the swapmodal
fixes #15505
2024-07-11 17:40:49 +02:00
Noelia bc74724672 refactor(Wallet/SendModal): Created `WalletAccountsAdaptor` to be used in `SendModal`
- Created data transformation file called `WalletAccountsAdaptor` for `SendModal`. Now it contains the owned wallet accounts model data transformations.
- Added common formatting method for short chain ids to some utils and partially removed backend dependency.
2024-07-11 14:05:55 +02:00
Lukáš Tinkl 48d8846e29 chore: factor out and create new `SendRecipientInput` component
- some minor visual fixes (padding & clear button color)
- make it always paste plain text, eventhough the base component has to
stay RichText
- use it in SendModal->RecipientView
- add a storybook page
- added QML tests

Fixes #15252
2024-07-08 21:16:53 +02:00
Lukáš Tinkl 9fcb54cb74 chore: unbreak showing SendModal assets in StoryBook
- unbreak passing the controller into the adaptor; can't be strongly
typed as that hides all the assets (always returns `false` from the
`visible` property)
- fix selecting account address (var account -> string accountAddress)
- fix the mocked account model to contain the needed `canSend` role, fix
the mocked check function
- fix showing community assets and balance threshold
2024-07-08 21:16:53 +02:00
Alex Jbanca 2f050a025f feat(WalletConnect): Fine-tune connect dApp modal
Changes:
1. Align dialog with Figma design
2. Add new components for round image with badge and connection status tag
3. Add tests
4. Dapps service will now receive wallet `RootStore` as input and reuse existing models with account balance and other necessary info for account selection and chain selection
5. Minor updates in stores
6. Minor updates in WC toast messages to display app domain instead of app url
2024-07-05 01:03:23 +03:00
Cuteivist c934ba74ef
feat(wallet): Networks model improvements (#15305)
* refactor getters for chainIds and enabledChainIds
* simplify community chainIds getter
* simplify usage of network dto objects
* remove duplicated roles from send area
* rename network model in send module to network route model
2024-07-03 10:51:15 +02:00
Cuteivist c59ac4f3f0
feat(wallet): Wallet accounts model improvements (#15213) 2024-07-03 05:55:05 +02:00
Cuteivist e199e7f9da
fix(wallet): Added adaptor to properly refresh send modal total balances (#15409) 2024-07-02 14:22:20 +02:00
Khushboo Mehta e2949ad6e7 feat(@desktop/wallet): Implements Approve spending cap
fixes #14833
2024-07-02 00:14:19 +02:00
Alex Jbanca 8b4cbc59a8 refactor: Refactoring of AccountSelector dropdown
The new account selector expects a generic account model. It will display all the account data if provided, including preferred chains, balance or asset balance. Otherwise it will display only the available data.
The account selector can receive an initial selection based on account address and will provide the current selected address and the current selected model item.

- Unify the account selector between communities and wallet
- Update the account selector to work with addresses instead of model indexes
- Adapt all components using the account selector or the account selection
- Move/reuse qml components involved in the account selector UI
- Remove nim logic used to handle index based account selection.
- Adding storybook page
2024-06-20 11:24:35 +03:00
Lukáš Tinkl a12a6a4894 feat[UI - Wallet Stability] Create generic/reusable assets listview component
TLDR: later this should form a basic building block for a new
TokenSelector picker component, potentially replacing the current
HoldingSelector* and TokenListView components (support for collectibles
TBD as part of https://github.com/status-im/status-desktop/issues/15121)

- create reusable `TokenSelectorAssetDelegate` and `TokenSelectorView`
- add corresponding SB page, showcasing the flow/integration and the
separation of concerns between the view, adaptor and delegate layers
- add QML testcase for TokenSelectorView
- don't display crypto symbol for token balances per chain tags
- update the stores and SB pages
- add some missing formatter functions to LocaleUtils and CurrenciesStore

Fixes #14716
2024-06-18 23:09:20 +02:00
Alex Jbanca afcb7608e0 refactor(contactDetailsAsJson): Adding `ContactDetails` component to replace `getContactDetailsAsJson`
This component has live data and its purpose is to replace getContactDetailsAsJson

+ adding storybook page
+ adding tests
2024-06-14 17:17:18 +03:00
Lukáš Tinkl 46b81b30a6 feat: [UI - Wallet Stability] Create Max button component
- create a reusable "Max" send button component
- use it in SwapModal and SendModal
- add some more tests in tst_SwapInputPanel.qml

Fixes #15066
2024-06-12 17:08:56 +02:00
Stefan f5b46d6972 feat(dapps) implements responding to wallet connect requests
For start support showing sign message only
Support rejecting the request
Storybook integration
Add disabled tests for the main logic and sanity UI tests.
They crash on CI only and work locally on mac. Postponed finding out why
for now.

Closes: #14927
2024-06-12 15:44:53 +02:00
Lukáš Tinkl a3c9012f4a feat: [UI - Swap] Create swap input component
- new panel created: `SwapInputPanel`
- some cleanups to the needed stores
- created a SB page demonstrating the use of 2 panels and the
`SwapExchangeButton`
- created QML tests

Fixes #14781
2024-06-06 11:13:18 +02:00
Khushboo Mehta 9d8542c95d feat(@desktop/wallet): Add support for Account selection in Swap Modal using already existing AccountsModalHeader.qml
fixes #14749
2024-05-28 10:59:18 +02:00
Roman Chornii 55edd94401
fix(ProfileDescriptionPanel): Profile settings -> Identity : Addition of validation to bio field (#14772)
- Added validator to the bio component to allow only ascii and emoji characters
This PR fixes #13623
2024-05-21 00:13:55 +03:00
Stefan ee72ec7aee feat(dapps) add DAppsService component and ConnectDAppModal
Implement the initial Pairing user workflow and disconnect option for
the first session.

Also

- rename pairing modal accordingly (`PairWCModal.qml`) to make room for the proper
`ConnectDAppModal.qml`
- basic tests for service helpers
- update storybook to reflect the new user workflows

Closes #14607
2024-05-20 15:09:57 +02:00
Stefan 78775d3d69 chore(dapps) move wallet connect service code outside popups
Updates: #14607
2024-05-20 15:09:57 +02:00
Cuteivist b771ac6aed
feat: Change optimism network short name (#14766) 2024-05-16 18:37:54 +02:00
Stefan 4dfa0a1b05 chore(storybook) add ConnectDappModal to story book
Also:

- mock FeatureFlags nim to silence `Global.qml` warnings

Updates: #14556
2024-05-13 10:33:16 +02:00
Stefan 8d6d9c3d7c chore(dapps) update foundation for DApps work
Remove unused and de-scoped elements

Updates #14317
2024-05-02 09:47:30 +02:00
Sale Djenic dd104960ba feat(walletconnect): initial code organization
Closes #14395
2024-05-02 09:47:30 +02:00
Khushboo Mehta 2d20a2e1b7 feat(@desktop/wallet): Collectible Details balance tag
fixes #13809
2024-04-03 20:37:45 +02:00
Khushboo Mehta 5473e3b14e chore(@desktop/wallet): Simplify the wallet networks service
fixes #12717
2024-03-28 11:47:33 +01:00
Stefan 72b03e69aa fix(wallet) fix namespace clash in wallet RootStore.qml
Updates: #13663
2024-03-25 18:38:33 +01:00
Lukáš Tinkl 9ef513b419 fix(TokenManagement): Asset balance threshold value not reflected in main wallet view
- take the balance threshold value into account when presenting the
assets in the main wallet view
- additional fix from Emil for storing the threshold value
- storybook fixes to display the correct `currentCurrencyBalance` values
based on the address/wallet filters and mocking the threshold values
using TransactionStore

Fixes: #14017
2024-03-23 11:37:37 +01:00
Stefan f12c6dfa40 chore(storybook): fix TransactionDetailViewPage to test links 2024-03-19 15:14:40 +01:00
Alex Jbanca 8a69f3bc63
fix(SeedPhrase): Fixing seed phrase validation (#13496)
* fix(SeedPhrase): Fixing seed phrase validation

1. Validate each word after the editing is finished
2. Fixing the seed phrase suggestions where the suggestions box was hidden behind other ui elements
3. Propagate editingFinished signal in StatusBaseInput, StatusInput, StatusSeedPhraseInput
4. Fixing undefined `mnemonicIndex` errors

* fix: Refactoring of SeedPhraseInputView

Remove duplicated code and use EnterSeedPhrase component

+ Added storybook page

* fix(Onboarding): Fixing seed phrase validation on windows

The seed phrase validation fails on windows due to the dictionary line endings

* chore(squish): Update e2e tests to the new enter seed phrase panel construction

* fix: Load english dictionary from local file using StringUtils
2024-02-14 15:50:14 +02:00
Khushboo Mehta 8c939ad3a3 fix(@desktop/wallet): Replace existing model used in Community / Permissions and do the needed cleanups
fixes #12513
2024-02-12 14:26:13 +01:00
Lukáš Tinkl 319b5dd23e feat(profile dialog): General UI updates
- create new `ShareProfileDialog` with QR code + links
- align the context menu items with latest Figma designs
- add `isBlocked` to contact icons
- adjust SB to show more options and showcase models

Fixes #13416
Fixes #13417
2024-02-09 11:41:55 +01:00
Lukáš Tinkl 9db48a986a fix(token mgmt): finish the controller refactoring
- reduce the duplication by moving the controllers (1 per type) to the
toplevel stores
- make sure the internal properties stay in sync between save/load now
that we have just 1 common controller
- fix navigating to the Hidden section from the toast
- finish impl of hiding the token from FirstTokenReceivedPopup
2024-02-02 23:48:10 +01:00
Noelia 3cbfe1cf54 feat(TokensManagement): Hide asset / collectible popup
Moved `ConfirmationDialog` popups related to hide individual assets or collectibles to `Popups`.

Part of #13293
2024-02-02 23:48:10 +01:00
Khushboo Mehta 7dcc704d29 fix(@desktop/wallet): Prepare send modal to display community assets
fixes #12378
2024-01-31 15:48:35 +01:00
Khushboo Mehta ff951f624a fix(@deaktop/wallet): Remove old tokens_service under accounts service and only keep new one.
fixes #13142
2024-01-30 10:56:51 +01:00
Khushboo Mehta 087601e28e feat(@desktop/wallet): Apply flat assets model into SendModal
fixes #13016
2024-01-23 20:26:25 +01:00
Lukáš Tinkl e2fa5b756a feat(CollectiblesView): Add combobox/popup with custom filtering options
.. to filter by community or collection name

- make the HistoryView own filter button look like the other combos
- fix some cosmetic issues for StatusCombo in small/secondary mode
- fix StatusBaseInput bg color in dark mode (was invisible)
- update CollectiblesViewPage with options to include regular and/or
community collectibles

Fixes #12969
Fixes #12948
2024-01-04 12:32:41 +01:00
Khushboo Mehta 1bd23b027d fix(@desktop/wallet): creating a common grouped model for accounts assets to be used for wallet and profile view
fixes #12601
2024-01-02 20:00:13 +05:30
Stefan a8fb355a8d feat(wallet) activate Wallet connect modal from deep-links
- Open wallet connect modal when the application is opened from a
  deep link
- Add test entry that opens wallet connect modal with mocked
  StatusDesktop app that can be used for testing
- Add tests

Closes #12641
2023-12-12 20:12:53 +01:00
Stefan 17c7e46917 feat(wallet) Wallet Connect: process delete_session
Requires the specific status-go changes that brings WCChangePairingState

Process delete session and update internal pairing history state

Updated testing while fighting for the issue of not deleting the session
Found out that the client requests a different topic in the delete
session request.

Also:

- update debugging UX to support session events
- update storybook to support mocking session events
- fix go test utility to account for refactoring

Updates #12858
2023-11-30 10:47:41 +01:00
Lukáš Tinkl 3b60506460 feat(token mgmt): update main wallet view layout with community assets
- update the AssetsView.qml view and delegates according to the latest
design
- add AssetsView to Storybook
- add new section for Community Assets
- (re)use the community badge with tooltip and link action to take the
user to the respective community
- add Community Assets info icon + popup
- create context menu for token delegates with actions
(Send/Receive/Manage tokens/Hide)
- add confirmation popups when hiding a single or all community tokens
- emit a toast bubble after hiding the token(s)
- plus related controller/backend methods for handling the
settings-related actions
- some smaller fixes/cleanups

Fixes #12369
Fixes #12372
2023-11-29 16:13:08 +01:00
Stefan 5b9e4faa8a feat(wallet) run WebEngineView as a service in background
This is required to control the resource consumption in case of no
usage of wallet connect
Hence we load the WebEngineView only if we have active pairings and
such that SDK events are expected from the paired dapps.

Also:

- Moved the generic WebEngineView communication bridge to StatusQ
- Added basic tests for WebEngineLoader
- Add a way to know when wallet is loaded (`walletReady`)
- Add storybook support for mock of nim sections as context properties

Updates: #12639
2023-11-27 22:54:11 +01:00
Khushboo Mehta 26f29a4fe6 chore(@desktop/wallet): Unifying the various "TokensTypes" across the app
fixes #12501
2023-11-21 13:02:26 +01:00
Stefan 783a755230 feat(wallet) integrate Wallet Connect sign APIs
Bump status-go that brings the sign APIs support for send transaction
and personal sign

Extend SDK

- simple SDK event handling in QML
- support session request response APIs
- pairing management

Closes #12637
2023-11-15 17:21:27 +01:00
Stefan bcf5b64298 feat(wallet) Wallet Connect Pair integration
Implement Controller to forward requests between status-go and SDK
implementation in QML.

Other changes:

- Source Wallet Connect projectId from env vars
- Mock controller in storybook

Updates #12551
2023-11-15 15:51:50 +01:00
Noelia 88c09b3941 feat(@desktop/communtiies): Set signer flow
Setting signer logic and computing fees.
AC messages for different transfer ownership states.
Declining ownership logic.
Added `CommunityTokensStore.qml` stub.
Removed deprecated property.

Issue #11964
2023-11-08 14:35:51 +01:00
Khushboo Mehta bcdb37b0c5 fix(@desktop/wallet): Use LeftJoinodel to link networks with chainId in various models such collectibles model, assets models.
fixes #8923
2023-11-01 20:11:43 +01:00