Commit Graph

198 Commits

Author SHA1 Message Date
Michał Cieślak bb2eeaa79d Storybook: TestUtils singleton added 2024-09-23 12:30:50 +02:00
Lukáš Tinkl c5598d9ff9 chore(StatusMemberListItem): refactor to use ItemDelegate
- simpler, standard property based API
- much lighter than deriving from the heavy StatusListItem
- should reduce RAM usage significantly, esp. with large communities

Iterates #11059
2024-09-12 15:04:22 +02:00
Cuteivist 658fe2a5b4
fix(wallet): Update collectibles media management (#16080) 2024-08-28 15:58:33 +02:00
Khushboo Mehta 03e75e9532 fix(@desktop/wallet): Creating the UI flow needed to select params for making a purchase via Mercuryo 2024-08-12 11:25:00 -03:00
Lukáš Tinkl b67ea6643a fix(SendModal): Bridge modal Simple mode's scroll is very clunky
- remove the nested unneeded ScrollView
- cleanups and fixes in mocked models and stores to unbreak showing the
networks/routing in storybook

Fixes #15902
2024-08-02 18:24:29 +02:00
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
Jonathan Rainville ad612a794c
fix(sharedAddress): hide non fully imported accounts from shared address (#15480)
* fix(sharedAddress): hide non fully imported accounts from shared address

Fixes #15471

We only filtered out watch only accounts, but we also need to make sure it was a fully imported account, ie an account that is usable, hence why using `canSend`. It is the same property they use in the SendTransaction modal
2024-07-11 10:47:51 -04:00
Lukáš Tinkl 8504fb55a1 chore[UI - Wallet Stability] Rename SendModalFooter to TransactionModalFooter
... and remove particular code for send modal

- derive the footer from the standard `StatusDialogFooter` to reduce
code duplication (drop shadow, divider, margins, etc)
- rename the default button text
- expose the icon name and make it used the correct login/auth type icon
- some minor fixes and cleanups

Fixes #15212
2024-07-10 10:29:05 +02:00
Michał Cieślak 1d728a5241 feat(Storybook): RadioButtonFlowSelector utility added 2024-07-09 13:13:52 +02:00
Khushboo Mehta 1ebdbde5c3 feat(@desktop/wallet): Implements Network selection behaviour
fixes #15274
2024-07-09 11:27:55 +02:00
Lukáš Tinkl d3b2f23fe0 fix(TabAddressSelectorView): fix propagating roles from one model to another
- namely fixes the wallet account color and keycard decoration
- adjust mock model to contain the needed role (for keycard icon)
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
Khushboo Mehta 0e458842d2 feat(@desktop/wallet): Implementation of Sign Swap
fixes #14835
2024-07-03 14:41:57 +02: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 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
Lukáš Tinkl 273858bc81 fix: TokenSelector doesn't show list of all known assets
- concat the assets model with the list of plain tokens model
- adjust the delegates and tests

Fixes #15278
2024-07-01 19:57:01 +02:00
Khushboo Mehta 64efd47805 fix(@desktop/wallet): [SwapModal] Fix for flaky tests and remove the skip flag
fixes #15272
2024-07-01 10:44:57 +02:00
Lukáš Tinkl 42533b8c61 feat:[UI - Swap] Create new TokenSelector component
- create new dedicated (asset) token selector component
- integrate it into `SwapInputPanel` and `SwapModal`
- add respective SB page and QML tests suite

Fixes #14783
2024-06-25 13:06:57 +02:00
Alex Jbanca 901362dfc1 feat(networkSelector): Refatoring of NetworkSelector to remove backend dependency 2024-06-21 16:18:51 +03: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
Michał Cieślak 3aa48b0549 feat(Storybook): Simple checkBox-based selector useful in SB pages 2024-06-19 16:36:18 +02:00
Michał Cieślak 6cfef32204 feat(GenericListView): Ability to display images, option for skipping empty roles 2024-06-19 16:36:18 +02:00
Khushboo Mehta 8d6d6bdd84 feat(@desktop/wallet): Getting swap proposal
fixes #14828
2024-06-19 10:21:07 +02: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
Khushboo Mehta aa03edf17c feat(@desktop/wallet): Integrate recurring onramp providers in Recurrent tab
fixes #14820
2024-06-04 11:09:59 +02:00
Khushboo Mehta 3f77a16317 feat(@desktop/wallet): Implement Network selection in SwapModal
fixes #14750
2024-06-04 11:07:23 +02:00
Khushboo Mehta c9641bb0b9 feat(@desktop/wallet): Implementation of One Time & Recurrent tab in Buy Popup
fixes #14819
2024-05-31 12:47:37 +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
Lukáš Tinkl a6c897929a chore: Remove custom rowData method from NIM's models
- Some NIM's models define additional (not part of the
QAbstractModelItem API) method rowData to allow access to model's data
on UI side
- The same job can be done relying fully on public QAbstractModelItem
API using ModelUtils utility. It gives full transparency if we need
nim's model or other like ListModel replacement in tests/storybook
- propagate `tokensStore` to unbreak the Browser's wallet menu

Fixes #14805
2024-05-20 18:02:20 +02: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 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
Cuteivist b771ac6aed
feat: Change optimism network short name (#14766) 2024-05-16 18:37:54 +02:00
Khushboo Mehta 30ff5f3a2b fix(@desktop/wallet): New Collectible Details tabs
fixes #13806

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-14 09:32:45 +02:00
Lukáš Tinkl 2537cdc2f2 fix(CommunityPortal): don't show PermissionsRow for free communities
- hide the permissions row and tokens when the community is free to join
- fix evaluating the `requirementsMet` property which affects the lock
icon state; that role was never part of the model
- add a helper C++ method `isTokenGatedCommunity`
- adjust the SB models, adding different variations of the
permissionsModel for the CommunitiesPortalLayoutPage

Fixes #14671
2024-05-13 16:21:07 +02:00
Lukáš Tinkl 94ca1ff22a fix: ENS keycap display issues
- run the user's display name (ENS name) thru the `Emoji.parse()`
function as that will convert the potentially UTF-16 encoded name
containing emojis into an image

Fixes #12290
2024-05-13 16:20:54 +02:00
Michał Cieślak 587594f3b9 feat(StatusQ): General purpose js function-based aggregator
Closes: #14617
2024-05-13 15:54:03 +02:00
Michał Cieślak a83f1114e2 chore(Communities/InDropdown): performance improved
- removed multiple filtering separately for each category
- no instantiation of all delegates up front (regular ListView approach
  used)
- fixed category selection when filtering - selecting/deselecting only
  items fulfilling search criteria
- significant simplification of the code

Closes: #14275
2024-04-05 14:58:06 +02:00
Alexandra Betouni 53db09412a feat(ProfileShowcasePopup): Adding interactions in delegates
Closes #13702
2024-04-05 12:31:11 +03:00
Khushboo Mehta 2d20a2e1b7 feat(@desktop/wallet): Collectible Details balance tag
fixes #13809
2024-04-03 20:37:45 +02:00
Michał Cieślak b91cf08066 feat(SharedAddressesAccountSelector): Support for collectibles in account's delegate tags
Closes: #14102
2024-04-02 12:18:36 +02:00
Michał Cieślak fc5daf2ee2 feat(GenericListView): reinitialize on model reset and handle delayed roles initialization 2024-04-02 12:18:36 +02:00
Cuteivist 7fa3771e4e
feat(wallet): Handle collectibles details unknown community (#14206) 2024-04-02 10:23:20 +02:00
Alexandra Betouni 4af2a97358 [ProfileShowcase] Updated delegates as per design + added web tab
Closes #13421
Closes #13606
2024-04-02 10:21:13 +03:00
Lukáš Tinkl b191caaec6 feat: Add missing eligible to join tag in CommunityMembershipSetupDialog
- implement the eligibility check in C++, returning the highest possible
role the user would be allowed to join under
- enable/disable the "Share" button based on the above permissions check
- remove all the locally placed components, access teh popup only via
Global/Popups
- calculate the `accessType` internally based on the permissions present
- update the eligibility as the async check for permissions is finished
- fix the permissions panel background color
- partially revert the share/finish/cancel buttons behavior; it must be
one button due to StatusStackModal limitations
- fix some other minor UI issues or differences to current Figma designs
- adjust SB, add the possibility to play around with different
permission models

Fixes #14100
2024-03-29 16:11:59 +01:00
Noelia 4144e374a6 fix(JoinCommunity): Add missing state ONLY private permissions and NOT MET (#14164)
* fix(JoinCommunity): Add missing state ONLY private permissions and NOT MET

- Modified `becomeMemberModel` in store to provide all member permissions.
- Modified permissions model filter to only discard  permissions that are private and NOT met.
- Updated `storybook/PermissionsModel` with new only private permissions and added new model option in corresponding pages.

Closes #14104

* fix(JoinCommunity): Text position when all channels hidden

Updated text position when `allChannelsAreHiddenBecauseNotPermitted` in community join process
2024-03-28 10:59:40 -04:00
Khushboo Mehta 5473e3b14e chore(@desktop/wallet): Simplify the wallet networks service
fixes #12717
2024-03-28 11:47: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