Commit Graph

219 Commits

Author SHA1 Message Date
Stefan 7cd97a0051 chore(dapps) move dApps UX into its own DAppsWorkflow component
Storybook: also automate related workflows for faster iteration

Also extend the inspector utils to handle Loaders and Popups

Updates: #14607
2024-05-20 15:09:57 +02:00
Stefan 1f60410db8 feat(dapps) implement wallet connect URI input
Other changes

- start Wallet Connect SDK using web engine after wallet is ready
- source WC project ID from the constants in nim
- close list when opening the `ConnectDappModal`
- remove the old POC modal instantiation
- rename ConnectDappPopup to Modal for consistency
- move specific dapps related user settings to their place in the component
- add DAppsStore to be used for dapps abstraction

Updates #14556
2024-05-13 10:33:16 +02:00
Khushboo Mehta 03495265d5 feat(@desktop/wallet): Add Swap Feature Flag
fixes #14627
2024-05-08 13:41:17 +02:00
Stefan 2972531766 chore(global) add the dapps button under a feature flag
Also add basic feature flag support that work with QML and nim

Closes #14553
2024-05-02 12:26:58 +02:00
Stefan 913041d5d9 chore(dapps) foundation for dapps page in storybook
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
Ivan Belyakov 6ba0cdfafa feat(wallet): removed allAddresses flag as redundant 2024-04-12 15:18:19 +02:00
Stefan b9271005cd fix(wallet): update wallet assets and collectibles order on user action
Add a specific state to the saveSettings action to update the model
by reloading the data.

The previous implementation was using the same save address which
doesn't update. Either in the past there was a side effect that made it
work or it was never working.

Closes #14365
2024-04-12 11:30:15 +02:00
Cuteivist 277dda7533
feat(wallet): Disable send for soulbound collectibles (#14327) 2024-04-09 16:16:03 +02:00
Khushboo Mehta 5473e3b14e chore(@desktop/wallet): Simplify the wallet networks service
fixes #12717
2024-03-28 11:47:33 +01:00
Stefan 26542970ee feat(wallet) save/load collectibles user handled state in DB
Add a separation layer for save/load/clear to ManageTokensModel
so that we can save/load from external sources.
The separate layer is composed of JSON as protocol, a set of signals
and slots for interface. The implementation forwards data to current
QSettings for storybook and nim controllers for the app.

Updates #13313, #13312
2024-03-27 20:26:15 +01:00
Stefan 42d3c1b42b fix(wallet) refresh recipients in menu for activity filter
Closes #13663
2024-03-25 18:38:33 +01:00
Stefan 0958860bc9 fix(qml): fix etherscan links for all networks
Also refactor code for reusability and readability.

Closes: #13986
2024-03-19 15:14:40 +01:00
Lukáš Tinkl d25cefcc2e fix(StatusBaseButton): adapt to handle actions when it is disabled
- add an `interactive` property as a drop-in replacement for `enabled`;
the UI looks "disabled" but can still display e.g. a tooltip or some
loading animation
- add the ability to display a tooltip
- remove DisabledTooltipButton and replace it with a regular
`Status(Flat)Button`, using the above new features
- update storybook with the new `interactive` switch

Fixes #10185
2024-03-14 18:00:27 +01:00
Khushboo Mehta 085bf762a5 feat(@desktop/wallet): Update token details view
closes #12373
2024-02-23 13:03:28 +01:00
Anthony Laibe aed61b68b1 feat(@wallet): sepolia default 2024-02-23 11:52:40 +01:00
Sale Djenic 34f801231c feat(savedaddresses): saved address details popup implementation
Within this commit a new popup is introduced with the requested UI effect.

Closes #13096
2024-02-22 11:03:10 +01:00
Noelia d5134fe864 feat(shared/controls): Moved foldable header and generic list view from wallet to shared
Renamed `ManageTokensListViewBase` to `EmptyShapeRectangleFooterListView` and moved `FoldableHeader` to shared/controls.

Updated related `ManageXXPanel` components.
2024-02-19 11:13:23 +01:00
Michał Cieślak ca90636384 fix(ManageHiddenPanel): Disable displace Transition to fix positioning on unhiding
When removing the top-most item from the list, animation was ending with
improper delegates' positioning. No workaround found, transition
disabled.

Closes: #13392
2024-02-07 10:33:21 +01:00
Ivan Belyakov c791173c81 fix(wallet): disable "Send" button at all places when no network
connection

Closes: #13326
2024-02-02 14:46:40 +01:00
Michał Cieślak 6f25499380 chore(Settings/Tokens management): simplify ManageAssetsPanel and ManageCollectiblesPanel by deriving directly from DoubleFlickableWithFolding 2024-01-31 13:51:00 +01:00
Michał Cieślak 2e29e847ac chore(WalletSettings): Use DoubleFlickable for assets/collectibles tabs in manage tokens
It provides visual alignments to the current design and also
significantly improves performance because ListView components
are not "unrolled" causing instantiation of too many delegates.

Closes: #12703
Closes: #13043
2024-01-31 13:51:00 +01:00
Lukáš Tinkl 5080499d29 fix: cleanup and fixes after introducing the new assets model 2024-01-26 11:45:24 +01:00
Lukáš Tinkl d7e25ea0a7 feat(Manage Tokens): implement "Arrange by collection"
- simplify the delegates (no more nested inner models/ListViews)
- persist the "Arrange by" toggles state (when needed)
- adjust the tests

Fixes #13232
2024-01-26 11:45:24 +01:00
Lukáš Tinkl 57b3b254b8 feat: Create the hidden tab (to host both assets and collectibles)
- add new Hidden tab/section to Settings/Wallet/Manage tokens page and
storybook
- extract the controller(s) to ManageTokensView.qml to share them across
the tabs
- updated the grouped UI delegate
- adjust the tests

Fixes #13201
Fixes #13188
2024-01-26 11:45:24 +01:00
Khushboo Mehta fb4e9a1ed1 fix(@desktop/wallet): Updatebthe new assets models in Token mangement, Activity filters and SharedAddressPanel 2024-01-25 12:45:22 +00:00
Lukáš Tinkl 6f3a180f41 feat: Emit notifications when an asset/collectible is hidden in the settings
- emit the signal from the backend
- trigger the toast notification in QML
- update the test(s)

Fixes #12704
2024-01-16 14:00:11 +01:00
Sale Djenic ff9062a1b0 feat(savedaddresses): update adding saved address popup to match new design
Implemented:
- adding selection color section
- all input field validations
- interactions within the popup
- an ephemeral notification when adding an address

Closes #13089
2024-01-04 17:45:57 +01:00
Sale Djenic 3d5b24b87f fix(tests): e2e saved addresses related tests fixed 2024-01-04 17:45:57 +01:00
Sale Djenic 3ac13a7678 chore(savedaddresses): preparing saved address for reuse in wallet settings section
Part 1 of #13088
2024-01-04 17:45:57 +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
Lukáš Tinkl fe3b442155 (wallet) implement sorting for assets/collectibles views
- add the sort combobox to assets/collectibles main wallet view pages
- preserve the current view settings
- add the possibility to navigate/drill down into wallet settings
(sub)subsection
- some other minor changes/fixes

Note: currently assets can't be sorted by "1W change" and collectibles
by "Date added" due to missing backend for these

Fixes #12517
Fixes #12518
2023-12-18 10:52:48 +01:00
Lukáš Tinkl d7614beb99 feat(token mgmt): update main wallet view layout with community assets
- update the CollectiblesView.qml view and delegates according to the
latest design
- add CollectiblesView to Storybook
- add new section for Community Collectibles
- (re)use the community badge with tooltip and link action to take the
user to the respective community
- add Community Collectibles 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)
- fix eliding the community name inside ManageTokensCommunityTag
- some smaller fixes/cleanups

Fixes #12519
2023-12-06 11:18:36 +01:00
Lukáš Tinkl 8791d028e6 feat: Integrate the new manage assets/collectibles panels into Settings
- display a customized floating bubble to save/apply the settings
- display a toast message on Apply with an action to jump to Wallet main
page
- add home/end/pgup/pgdown keyboard shortcuts to StatusScrollView to be
able to navigate more easily in long list views
- some smaller fixes and cleanups in wallet and settings related views

Fixes https://github.com/status-im/status-desktop/issues/12762
2023-11-22 18:29:31 +01:00
Lukáš Tinkl ba30afd202 feat: Manage Collectibles panel UI component & model
- implements a QML panel to organize collectibles
- factors out the delegates to separate files to be reusable with the
Assets tab
- adds QML tests to assess the UI functionality (move, show/hide, save/load)
- does not cover the problematic "Arrange by collection" switch (TBD
later)

Fixes: https://github.com/status-im/status-desktop/issues/12379
2023-11-17 14:12:48 +01:00
Cuteivist 90cfc0842a
bug(@desktop/wallet): Fix new transaction button visuals (#12589)
* Fixed duplicated wallet activity fetch request
* Fixed not resetting tab on wallet account add
2023-11-14 11:35:18 +01:00
Lukáš Tinkl 7183621369 feat: Manage tokens panel UI component & model
- implements the UI component to manage regular & community tokens
(drag'n'drop or context menu to reorder, show/hide, group by community)
- implements a custom C++ QAIM model which acts as a fake proxy model
for the above QML panel (internally it does all the
sorting/grouping/hiding and preserves the custom sort order)
- adds and corrects support for cascading submenus in StatusAction, and
StatusMenu[Item]
- adds support for mirrored (horizontally flipped) StatusSwitch
- adds a new SortOrderComboBox.qml (this was being used in the first
Figma version, can be ignored now, will be used by the main wallet view
later)
- some minor fixes and cleanups in the used components

Iterates #12377
Closes #12587
2023-11-09 11:45:32 +01:00
Anthony Laibe a5aba6e4e2 fix(@wallet): send to only operable account
fixes #12509
2023-10-31 10:28:28 +01:00
Khushboo Mehta bc85bc8cd3 feat(@desktop/wallet): Include watch only per account
fixes #12305
2023-10-13 12:11:36 +02:00
Anthony Laibe 18c37fbdac feat(@wallet): Enable sepolia network 2023-10-09 15:06:52 +02:00
Khushboo Mehta 7bdec15353 fix(@desktop/wallet): Replaced watched-only with watched address/adresses text 2023-10-06 13:08:08 +02:00
Cuteivist 158bb87b4a
@bug(wallet/activity): Implemented collectibles model (#12294) 2023-10-03 14:15:11 +02:00
Stefan e805a9bf26 feat(wallet) user can repeat a Send transaction from activity view
Enable user action to repeat a Send transaction from the activity view
(HistoryView) and details view (TransactionDetailView).

Extend AppMain send modal entry and SendModal API to allow for selecting
all the required parameters for repeating a transaction.

Optimize update of start timestamp for activity filter only when user
attempts to open the filter panel.

Closes #12122
2023-09-29 14:34:16 +02:00
Noelia 89a559745b feat(Wallet/Collectibles): Added special format for owner and tmaster community tokens
- Updated `CollectibleDetailsView` to show owner and tMaster token collectible types with the correct design.

- Updated `CollectiblesView` to show owner and tMaster token collectible types with the correct design.

- Modified send footer option if collectible selected is an owner token.

- Added logic to wallet rootstore to handle selected collectible data.

- Reverted changes on property selectAccount in sendModal

Closes #12172
2023-09-26 12:44:15 +02:00
Cuteivist 5bf905b91d
feat(@esktop/wallet): Implemented filter by similar option (#12232) 2023-09-22 12:57:24 +02:00
Cuteivist fddcc3a83f
feat(@desktop/wallet): Transaction collectibles filtering (#12162) 2023-09-21 08:58:44 +02:00
Khushboo Mehta f597ef4e6a feat(@desktop/wallet): Glue for sending nft
fixed #12128
2023-09-12 14:01:10 +02:00
Cuteivist 3548cee149
feat(@desktop/wallet): Added missing filter types (#12109) 2023-09-11 13:43:21 +02:00
Dario Gabriel Lipicar 50ffbb9dce feat(@desktop/wallet): add collectibles list to send modal
Fixes #12072
2023-09-11 08:02:02 -03:00
Cuteivist 722a9022e2
feat(@desktop/wallet): Extended activity progress block (#12013) 2023-09-04 12:19:02 +02:00
Cuteivist 66e9631933
fix(@desktop/wallet): Speedup wallet view loading (#11736)
fixes #11627
2023-08-04 10:41:45 +02:00
Cuteivist cdcfe811f5
fix(@desktop/wallet): Update transaction status UI (#11681)
fixes #11534
2023-08-02 06:36:54 +02:00
Stefan d253ba8a2a fix(wallet): fix activity time filter
Also optimize for no filter instead of given specific time range.

Closes: #11717
2023-08-01 17:20:34 +02:00
Khushboo Mehta 6c5c36584a feat(@desktop/wallet): Account view - Prefered network
fixes #11578
2023-08-01 09:51:33 +02:00
Anthony Laibe 22c07efcd9 fix(@wallet): wallet color fixes
* Left bar hover color fix
* Network filter darkmode border
* No footer in all addresses

fixes #11659
2023-07-28 11:08:08 +02:00
Anthony Laibe 5a9ff99aad fix(@wallet): overview balance with symbol
fixes #11397
2023-07-06 15:48:02 +02:00
Stefan 2487b4b1cb feat(wallet) make filer apis async
Bump status-go to include required changes

Refactor the API usage to use the new async APIs.
Support multiple events in the same block
Report loading state for all the APIs

Also

- fix the loadingData state in the controller.nim
- reset the model to empty when the filter is invalidated due to
address and chain IDs change

Closes #11170
2023-07-03 17:40:19 +02:00
Khushboo Mehta a2dd87c18b feat(@desktop/wallet): Watch only account toggle + persisted
fixes #11221
2023-06-29 10:18:42 +02:00
Khushboo Mehta 9be598ee32 fix(@desktop/wallet): Activity UI filtering improvements
1. Handling case where filters result in no results
2. Fixed period filter
3. Used recipient model from go side
2023-06-22 17:49:02 +02:00
Stefan eb0406b556 feat(wallet) api to retrieve last activity timestamp
Bumps status-go to include the new API endpoint.

Integrate the new API endpoint with the ActivityFilterPanel.

Closes #11169
2023-06-22 15:53:11 +02:00
Lukáš Tinkl fe9bb7d398 chore: Update StatusBaseButton content item layout
- introduce StatusButton storybook page with controls to play around
with the its options and variants
- StatusBaseButton: make the content item horizontally centered by
default
- StatusBaseButton: remove `textAlignment` and fix `textFillWidth` for
the intended usage
- fixup usage of the 2 above options which were introduced merely as a
workaround, mostly in wallet + corresponding storybook pages

Fixes #10903
2023-06-20 14:10:35 +02:00
Khushboo Mehta 47c76714db feat(@desktop/wallet): Glue for acitvity filter UI and backend 2023-06-16 11:24:52 +02:00
Khushboo Mehta 7f18a76fd5 feat(@desktop/wallet): Complete Filter Activity List
fixes #10823
2023-06-14 20:18:44 +02:00
Anastasiya Semiankevich d9f15ace2b test(@tst_wallet_account_management): add test to verify hide watch-only button 2023-06-13 12:46:09 +03:00
Cuteivist a4731517d6
feat(@desktop/wallet): Add copy details and repeat transaction buttons (#10904)
closes #10776
2023-06-13 10:18:53 +02:00
Khushboo Mehta 28654e0187 \chore(@desktop/wallet): Change customisation colours on desktop to match those used on mobile
fixes #10637
2023-06-02 19:48:19 +02:00
Cuteivist b557274dff
feat(@desktop/wallet): Added NFT preview (#10846)
closes #10822
2023-06-02 10:29:40 +02:00
Igor Sirotin 7eed470829
fix(StatusScrollView): Change implementation to inherit ScrollView (#10789) 2023-05-31 23:58:23 +03:00
Cuteivist 7caa89b050
feat(@desktop/wallet): Transaction activity summary (#10809)
closes #10751
2023-05-31 11:25:16 +02:00
Khushboo Mehta a4a2ca4e9c fix(@desktop/wallet): Wallet Footer for watch only accounts should show only "Receive" as an option
fixes #10786
2023-05-25 09:43:16 +02:00
Anthony Laibe 1e5fee981e feat(@wallet): calculate progress for activity tx
fixes #10762
2023-05-24 13:41:00 +02:00
Khushboo Mehta 3ac9edbe96 feat(@desktop/wallet): Activity Details Progress bar
fixes #10639
2023-05-18 09:26:37 -04:00
Anthony Laibe 8e8f194eb7 feat(@wallet): add all account action 2023-05-15 08:51:19 +02:00
Khushboo Mehta a57c0b414b feat(@desktop/wallet): New Account header
fixes #10330
2023-05-10 16:02:37 +02:00
Khushboo Mehta 2401bb52bb feat(@desktop/wallet): New floating header as a drop down list
fixes #10392
2023-05-03 18:52:19 +02:00
Anthony Laibe 542e5fdb6c feat(@wallet): remove usage of wallet section current 2023-04-27 11:58:27 +02:00
Stefan 691de11211 fix(Wallet) network selection and unify network implementations
Major changes:

- Don't allow empty network selection. End up using the nim model
  directly instead because of individual row changes issues
  encountered with nim models
- Made the clone model a generic implementation to be used in other
places where we need to clone a model: ReceiveModal,
AddEditSavedAddressPopup
- Use cloned model as alternative to NetworksExtraStoreProxy in
  ReceiveModal
- Added tristate support to our generic checkbox control
- UX improvements as per design
- Fix save address tests naming and zero address issue
- Various fixes

Notes:
- Failed to make NetworkSelectPopup follow ground-truth: show partially
  checked as user intention until the network is selected in the
  source model. Got stuck on nim models not being stable models and
  report wrong entry change when reset. Tried sorting and only updating
  changes without reset but it didn't work.
- Moved grouped property SingleSelectionInfo to its own file from
  an inline component after finding out that it fails to load on Linux
  with error "Cannot assign to property of unknown type: "*".".
  It works on MacOS as expected

Closes: #10119
2023-04-20 19:34:24 +02:00
Anthony Laibe 2a6d00b939 feat(@wallet): add overview module 2023-04-17 13:31:49 +02:00
Khushboo Mehta 2501520dda fix(@desktop/wallet): Handle errors in ENS and stickers views. Disbale action and show tooltip.
fixes #8597, #10034
2023-04-05 19:05:54 +02:00
Anthony Laibe ef4ffce909 fix(@wallet): warnings from wallet
fixes #10086
2023-04-04 14:46:20 +02:00
Khushboo Mehta a6df4566dd fix(@desktop/wallet): checkConnected API doesnt return correct values
fixes #9833
2023-03-31 19:59:49 +02:00
Sale Djenic 7b16a93cc0 chore(@desktop/wallet): old add account modal and corresponding methods from `walletSectionAccounts` module removed 2023-03-28 18:09:39 +02:00
Khushboo Mehta 5b3a115f55 fix(@desktop/wallet): Loading screen after adding account
1. Removing logic for loading to nim
2. Handling error state for asset view also on the nim side

fixes #9648
2023-03-24 17:09:09 +01:00
Khushboo Mehta 072537f61a feat(@desktop/wallet): Implement connection error screens
fixes #9835
2023-03-23 15:26:22 +01:00
Noelia c7f18978de chore(MintingToken): Refactor access to stores in minting components
- Refactored minting components store access, since some panels were accessing stores directly. Now `CommunitySettingsView` is the single place where stores are accessed.
- Renamed store `CommunitesStore` to `CommunityTokensStore` for handling minting / airdrop actions / request models.
- `NetworkFilter` refactored to prevent direct access to store inside the component.

Closes #9663
2023-03-14 16:06:27 +01:00
Stefan 16ed8739e8 fix(wallet) fix Add Account Modal and wallet tests
- fix add-account-modal custom derivation checkbox blocking all workflows
- fix, improve and enable wallet tests
- wait_for_text_matching alternative, to is_text_matching, to check also for content as squish driver API
- add objectName based lookup for in some places where user-text was used
- add workaround to retry for 10 seconds add watch due to flakiness
- rename SquishDriver.type to type.text not to conflict with python's type
- add optional timeout to some APIs
- ignore error for extra step in reaching onboarding seedphrase in linux

Updates: #9576
2023-03-01 15:36:06 +04:00
Sale Djenic a12e599be2 feat(@desktop/wallet): adding wallet derivation path updates
Check box added to warn user if they want to add a path out of the
default Status' wallet derivation path. In case they do that, they are
not able to migrate such keypair to a Keycard.

Closes: #9118
2023-02-13 10:41:53 +01:00
Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
2023-01-31 20:39:19 +02:00
Khushboo Mehta 169de5b5e1 feat(@desktop/wallet): Add loading State for Assets view and Wallet main navigation page 2023-01-31 07:57:37 +01:00
Anthony Laibe 55d39aa7c7 fix(@wallet): preview button instead of enter password/pin
fixes #9119
2023-01-26 16:58:23 +01:00
Sale Djenic b44fc7a842 fix(@desktop/keycard): keycard may be factory reseted during unlock flow in some scenarios (onboarding part)
- Unexpected wiping out the data during the unlock flow handled (onboarding part)
- Back button actions fixed part 2/2 (onboarding part)

Fixes: #9183
2023-01-26 09:05:57 +01:00
Dario Gabriel Lipicar a6afdb5266 fix(@desktop): use system locale across the application 2023-01-17 16:39:56 -03:00
Dario Gabriel Lipicar d11017f7b3 feat(@desktop/wallet): implement unified currency formatting in send/bridge modal
Fixes #8934
2023-01-17 16:39:56 -03:00
Sale Djenic cae2a5bea3 feature(@desktop/keycard): sync a Keycard state on every usage
Closes: #8759
2023-01-13 21:02:36 +01:00
Dario Gabriel Lipicar 7c4022e4ac feat(@desktop/wallet): implement unified currency formatting
Fixes #8640
2023-01-12 15:21:27 -03:00
Noelia 579075d6cc fix(StatusQ/StatusListItemTag): Changed API and added test elide property when a specific width is forced
- Changed `StatusListItemTag` API. Now it is based on `Control` component.
- Updated needed qml files to fit with the new `StatusListItemTag` API.
- Added `elide` property in `Text` component to better visualise the content when a specific width is forced.
2022-12-21 18:42:16 +01:00
Anthony Laibe 9b0d9cf478 feat(@wallet): Display ens name in account view
fixes #8607
2022-12-14 16:04:58 +01:00
Anthony Laibe a7884cf04f feat(@wallet): re-org wallet footer
fixes #8600
2022-12-14 09:56:08 +01:00
Igor Sirotin e3bfdc0f09 fix(StatusPopupMenu): Refactoring 2022-12-02 10:30:50 +03:00
Khushboo Mehta 9ded9d4ffa feat(@deaktop/wallet): Add bridge view
fixes #8236
2022-12-01 17:15:55 +01:00