Commit Graph

7192 Commits

Author SHA1 Message Date
Sale Djenic ee9091377f chore: align buying stickers flow with the new sending flow
Based on changes done in this PR https://github.com/status-im/status-go/pull/5807
we can simplify our client logic a lot.

This results in the removal of many lines of code that are no longer needed

Closes 1st part of #16336
2024-10-01 17:21:26 +02:00
Sale Djenic ad7e2df78a chore: improvements of the sending route generated by the router process
Closes #14636
2024-10-01 17:21:26 +02:00
Cuteivist 83d7c03585
feat(wallet): Add metrics for Send / Bridge / Swap (#16400) 2024-09-30 10:34:28 +02:00
Lukáš Tinkl 2e249f9941 fix[WalletConnect] Incorrect authentication method icon on sign modal
- `loginType` was not propagated correctly, also due to a wrong
RootStore
- plus an evil typo: `account.migragedToKeycard` :)

Fixes #16089
2024-09-29 11:01:35 +02:00
Lukáš Tinkl d09448e406 fix(AddEditSavedAddressPopup): fix validating account
- `contactsModuleInst` was undefined due to a different RootStore
2024-09-29 11:01:35 +02:00
Lukáš Tinkl a0112f063e fix(TransactionDelegate): fix `transactionType`
- the `addressesEqual` was forgotten in the TransactionDelegate but it's
referenced by `transactionType` function inside the store
2024-09-29 11:01:35 +02:00
Jonathan Rainville 1cad66bb2c
perf(admin): speed up admin tabs significantly (#16363)
Iterates #16043

* fix(admin): improve admin panel loading by putting sections in loaders

* fix(admin): speed up members tab by using nim model and real search

* fix(admin): speed up airdrop panel

* fix(admin): mint panel and airdrop panel interactions and previous btn

* fix(admin): speed up overview page

* fix(admin): speed up permissions page
2024-09-27 13:28:27 -04:00
Jonathan Rainville c09de56678
fix(searchList): speed up ctrl-k search by using SPFM (#16393) 2024-09-27 12:05:23 -04:00
Michał 730fcef6de
StatusQ: Introduce LazyStackLayout - stack layout with deferred instantiation (#16417)
Closes: #16416
2024-09-26 14:16:30 -04:00
Iuri Matias 8086e77077 refactor: make MessageContextMenu a functional component
refactor: make MessageContextMenu a functional component

refactor: make MessageContextMenu a functional component

remove root store

simplify signals in message context menu

abstract copyToClipboard as a signal

simplify code

fix menu not closing on emoji reaction
2024-09-25 17:29:25 -04:00
Michał d2d3a56810
StatusQ: ConstantRole - custom SFPM proxy role added (#16405)
Closes: #16401
2024-09-25 15:13:53 -04:00
Jonathan Rainville bb7e5be065
fix(members): fix slow chat switching by improving model (#16279)
Fixes #16132
2024-09-25 11:29:26 -04:00
Iuri Matias 86fdc668e6 feature: add remove from group option to group chats
feature: add remove from group option to group chats

refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

This refactor ProfileContextMenu to make it a functional component by:

refactored out direct calls to backend, and passing backend data structures and moved this logic to the callers, also refactored common calls between the callers
common types of context menus have been extracted to their sub components which removes a lot of logic too and makes the behaviour very clear
user verification workflow (which was already disabled) has been removed

refactor: use signals and call singletons on the parent instead

remove unused code for now from profile context menu

refactor profile context menu into two components; add property to storybook

extract blocked profile context menu and self profile context menu

use profileType instead of individual bools

refactor to pass trustStatus as an argument

make contact type a parameter

remove unnecessary method from RegularProfileContextMenu

add ensVerified property to ProfileContextMenu components

add onlineStatus property to ProfileContextMenu components

move ProfileContextMenu storybook controls to the right sidebar

move contactDetails logic up from the view

add local nickname property to ProfileContextMenu components

fix issue with missing signal; fix logs in storybook

use constant for profileType instead of string

refactor common code into a single method

refactor getProfileContext

remove references to contactDetails which are not longer needed

remove unnecessary comments

fix bridged constant

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

simplify imports

remove unused store field

move methods from utils to contacts store

remove onClosed signal

remove unused param

feature: add remove from group option to group chats

feature: add remove from group option to group chats

add isAdmin property

move removeMemberFromGroupChat to root store

hide remove from group option from message context menu
2024-09-25 10:29:21 -04:00
Lukáš Tinkl 655918a279 fix(SlippageSelector): cant do Swap with 100% slippage
- set the max custom limit to < 100%
- add a regression test

Fixes #16394
2024-09-25 16:16:33 +02:00
Lukáš Tinkl fed6f79a66 fix(SwapModal): Max slippage value remains as set even the custom field is erased
- if the slippage value is invalid, display a "N/A" text in the footer
instead of a partial value

Fixes #16395
2024-09-25 14:03:16 +02:00
Iuri Matias 7a6144f11a fix issue with menu option not working on community members panel; update nickname 2024-09-24 10:04:10 -04:00
Iuri Matias 96d0760488 refactor ProfileContextMenu to make it a functional component
refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

refactor ProfileContextMenu to make it a functional component

This refactor ProfileContextMenu to make it a functional component by:

refactored out direct calls to backend, and passing backend data structures and moved this logic to the callers, also refactored common calls between the callers
common types of context menus have been extracted to their sub components which removes a lot of logic too and makes the behaviour very clear
user verification workflow (which was already disabled) has been removed

refactor: use signals and call singletons on the parent instead

remove unused code for now from profile context menu

refactor profile context menu into two components; add property to storybook

extract blocked profile context menu and self profile context menu

use profileType instead of individual bools

refactor to pass trustStatus as an argument

make contact type a parameter

remove unnecessary method from RegularProfileContextMenu

add ensVerified property to ProfileContextMenu components

add onlineStatus property to ProfileContextMenu components

move ProfileContextMenu storybook controls to the right sidebar

move contactDetails logic up from the view

add local nickname property to ProfileContextMenu components

fix issue with missing signal; fix logs in storybook

use constant for profileType instead of string

refactor common code into a single method

refactor getProfileContext

remove references to contactDetails which are not longer needed

remove unnecessary comments

fix bridged constant

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

refactor into a single ProfileContextMenu component

simplify imports

remove unused store field

move methods from utils to contacts store

remove onClosed signal

remove unused param

rename ProfileContextMenu variables

simplify signals in ProfileContextMenu

remove ;

refactor: do early return

simplify ifs

move ProfileContextMenu to its own storybook page

fix wrong params

fix profile context menu separator

add missing signals to profile context menu on the members tab panel
2024-09-24 10:04:10 -04:00
Anastasiya Semenkevich a7eb8d9c77 chore: fix test for sending transaction 2024-09-24 15:15:38 +03:00
Sale Djenic 7ba325984c fix: check for the route if 0 value is entered
When 0 value was entered checking for the best route was not done cause the amount change
signal was not emitted.
2024-09-24 10:44:57 +02:00
Lukáš Tinkl 4206617d9e fix(MembersTabPanel): unbreak context menu
- restore backwards compatibility; a lot of the actions in the component
relies on the old StatusListItem's `title` property to work correctly
- fixes the missing image and name in the profile context menu, among
others

Fixes #16367
2024-09-23 17:35:37 +02:00
Anastasiya Semenkevich 9abc01426f chore: update locators 2024-09-23 17:35:27 +02:00
Lukáš Tinkl c9e1d29e25 fix(StatusMenu): StatusSuccessAction is not taken into account for Menu width
- StatusSuccessAction, despite its name, is a visual item (`MenuItem` ->
`AbstractButton`) which is not part of the `contentModel` but just added
to the menu container
- therefore we don't use a ListView but a ScrollView/Repeater instead
and set the width/maxWidth manually after the menu items have been added
to the layout

Fixes #14037
2024-09-23 17:35:27 +02:00
Michał Cieślak 00fe754c0d Token/Asset selectors fixes
- clear search on close (AssetSelectorCompact)
- sectionProperty removed
- highlighting fixed in TokenSelectorPanel
- setCustom renamed to setSelection
- test data moved into Component object
2024-09-23 12:30:50 +02:00
Michał Cieślak 249e1ae042 TokenSelectorPanel: tabs layout/sizing simplified 2024-09-23 12:30:50 +02:00
Michał Cieślak 6a935d098c TokenSelectorPanel tabs selection depending on set models fixed 2024-09-23 12:30:50 +02:00
Michał Cieślak 25164cc45a TokenSelectorNew renamed to TokenSelector 2024-09-23 12:30:50 +02:00
Michał Cieślak 9f40251588 Old version of TokenSelector removed 2024-09-23 12:30:50 +02:00
Michał Cieślak c8b8d1ee9d AssetSelector covered with unit tests 2024-09-23 12:30:50 +02:00
Michał Cieślak 8c2d2115b0 TokenSelectorAssetDelegate simplified
Moreover:
- reset search box for AssetSelector on close
- fix highlight when Asset/Token selector reset
- storybook pages/tests adjusted
2024-09-23 12:30:50 +02:00
Michał Cieślak 1d46673775 Bump SFPM version fixing model roles initialization issue
Closes: #16310
2024-09-23 12:30:50 +02:00
Michał Cieślak 79fe79884b SwapInputPanel using AssetSelector instead of TokenSelector
Closes: #16220
Closes: #16025
2024-09-23 12:30:50 +02:00
Michał Cieślak 8785e5fd08 BuyCryptoModal refactored to use AssetSelectorCompact 2024-09-23 12:30:50 +02:00
Michał Cieślak 125946a60a AssetSelectorCompact added 2024-09-23 12:30:50 +02:00
Michał Cieślak 2b4c3afd57 TokenSelector: TokenSelectorSectionDelegate excluded to separate component 2024-09-23 12:30:50 +02:00
Khushboo Mehta b3e336987c feat@(desktop/wallet): Launch SednModal when an address or ens name is detected in a 1-1 chat and validate it when launched
closes #16293
2024-09-23 11:20:56 +02:00
Khushboo Mehta 5771a33eaa feat(@desktop/wallet): Added feature flag FLAG_SEND_VIA_PERSONAL_CHAT_ENABLED for the send via personal chat feature
Also added logic in order to detect and highlight an address/ens name in the chat
2024-09-23 11:20:56 +02:00
Sale Djenic fa410434ad fix: browser connect - send transaction command
Fixes #16063
2024-09-20 20:57:02 +02:00
Alex Jbanca c769e42212 fix(WalletConnect): Fixing crashes
1. In some cases it was crashing on JSON.stringify for the model item
2. Avoid storing model objects
3. Fixing storybook
2024-09-20 20:51:20 +03:00
Lukáš Tinkl 42423074de fix(MessageView): unbreak GIF unfurling
- need to refer to the RootStore singleton under an alias now

Fixes #16368
2024-09-20 16:37:24 +02:00
Lukáš Tinkl 894a5f19c9 feat(SendModal): add a spinner when resolving an ENS name
- update the SB page with the toggle too

Fixes #16355
2024-09-20 12:10:26 +02:00
Lukáš Tinkl 6a2b3faeb0 feat: add countdown pill to sign dialogs and make them unclosable
- show countdown until which the sign (WalletConnect and Swap) dialogs
expire
- after expiration, hide the Reject/Sign buttons and display a plain
Close button
- make the dialogs non-closable by clicking outside or pressing Esc; the
user has to explicitely click some of the footer buttons

Fixes #16327
Fixes #16314
2024-09-20 09:47:10 +02:00
Lukáš Tinkl 2739d2cf68 feat(CountdownPill): implement a countdown pill component
- shows the remaining time until expiration with the circular progress
bar and a tooltip
- configurable timestamp and timeout in seconds (between 5 min and 7
days)
- add the respective storybook page
2024-09-20 09:47:10 +02:00
Lukáš Tinkl 02066d098d feat(StatusCircularProgressBar): add a circular progress bar
- based on QML Canvas
- visualizing progress value (0..1) on a circle with 2 configurable
colors
2024-09-20 09:47:10 +02:00
Lukáš Tinkl 0c37700d52 chore(IssuePill): add a Primary type
- wrap the icon in a Loader and make it configurable
- add a storybook page with controls allowing to explore the various
types and config options
2024-09-20 09:47:10 +02:00
Jonathan Rainville 3f8dfee3cd
refactor(community_tokens): only fetch holders when going to the page (#16308)
* refactor(community_tokens): only fetch holders when going to the page

Fixes #16307

Instead of fetching community token holders each time members change, we fetch when the page for the token is opened.
It shows a small loading text then the resulting holders.
If the list is already available (fetched previously, we show it directly).
There is still the timer to refresh the list if you stay on the page.

* add loading property to storybook
2024-09-19 16:32:38 -04:00
Sale Djenic ea8827ec97 fix: wallet connect - sake.lido.fi dApp - staking transaction gets stuck
Fixes #16096
2024-09-17 19:39:32 +02:00
Dario Gabriel Lipicar ff45e76782 fix: use proper networks model for detection of offline chain providers 2024-09-16 18:00:33 -03:00
Anastasiya Semenkevich 7914688769 chore: add object names to actions 2024-09-16 17:20:36 +03:00
Anastasiya Semenkevich 2949e5ccd4 chore: group chat e2e test is fixed 2024-09-16 17:20:36 +03:00
Cuteivist 7cd2ed888c
Fix/remove send collectibles model 16328 (#16332)
* fix(wallet): Remove collectibles nested model

* fix(wallet): Remove collectible controller from send module
2024-09-16 13:21:25 +02:00
Anastasiya Semenkevich 8bbe17b613 chore: search box for searchable collectibles panel 2024-09-13 17:44:49 +03:00
Lukáš Tinkl 0c6a602336 [StatusQ] Move StyledTextField to StatusQ
- and rename it and its usages to StatusTextField
- remove a couple of related and unused components

Fixes #16296
2024-09-13 16:40:47 +02:00
Cuteivist 69605f5965
fix: Use prefixes for address copy (#16230) 2024-09-13 14:19:26 +02:00
Sale Djenic 8dc067e0c4 feat: fees update integration after calculating the initial route 2024-09-12 19:52:32 +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
Anastasiya Semenkevich 9050459ee8 chore: add object name for collectibles delegates 2024-09-12 09:53:42 +03:00
Sale Djenic c4363be418 feat: fees update integration after calculating the initial route 2024-09-11 14:43:19 +02:00
Sale Djenic c515a963e3 chore: remove old router logic
Closes #16201
2024-09-11 14:43:19 +02:00
Cuteivist ff9f272295
fix: Apply custom asset / collectible order (#16227) 2024-09-11 14:00:25 +02:00
Michał Cieślak 77fd4e78eb GifStore excluded from shared root store, StatusChatInput made indepedent from singeton stores
Closes: #16253
2024-09-11 11:26:30 +02:00
Michał Cieślak 9f94940a70 getSelectedTextWithFormationChars moved from store to utils and deduplicated 2024-09-11 11:26:30 +02:00
Michał Cieślak 3f4715ccdd Unused hex2Dec, hex2Eth and hex2Gwei removed from shared RootStore 2024-09-11 11:26:30 +02:00
Lukáš Tinkl 0a1ebb69bd fix(StatusSeedPhraseInput): accept a common prefix suggestion
- fix for a corner case prob when there was a valid seedphrase word
(e.g. cat) that is at the same type a prefix for other valid suggestions
(e.g. category, catalog, ...); it was imposible to select it using Enter
key or mouse click from the suggestions popup at the last field
- add a QML regression test for this issue
- use standard subcomponents (StatusDropdown, StatusListView) reducing
code duplication and unifying UI/UX

Fixes #16291
2024-09-10 16:00:40 +02:00
Alexandra Betouni ce525890eb fix[StatusChatMenu]: updated menu options as per designs
Closes #13393
2024-09-10 14:22:33 +02:00
Cuteivist e87a4f947e
feat: Show send error message inside the SendModal (#16258) 2024-09-09 13:29:40 +02:00
Lukáš Tinkl d37341caee fix(DAppSignRequestModal): correct wallet account color
- we are getting a colorId, so convert it

Fixes #16094
2024-09-06 16:19:59 +02:00
Lukáš Tinkl e58ae2c213 feat: Add external link to download extension plugin
- add a local popup with selection between "Status Connector" (external
link to Chrome Store) or "Wallet Connect" (the old flow involving
inputting the WC URI)
- simplify DAppsListPopup to use StatusDropdown to reduce code
duplication
- adjust SB and QML tests

Fixes #16111
2024-09-05 11:22:52 +02:00
Michał Cieślak b8fbeb157f CollectiblesSelectionAdaptor: use default token icon as a fallback 2024-09-05 08:55:15 +02:00
Michał Cieślak 204d72cd40 TokenSelectorNew: workaround for QTBUG-62411, minor sizing fixes 2024-09-05 08:55:15 +02:00
Michał Cieślak d82499fd7b AssetSelector added
This component is simpler version of TokenSelector, composed of the same
basic componets, useful when only assets are subject of selection.

Closes: #16234
2024-09-05 08:55:15 +02:00
Michał Cieślak 01a24e1b19 TokenSelectorNew decomposed into smaller, reusable subcomponents 2024-09-05 08:55:15 +02:00
Michał Cieślak afd16d6f6c TokenSelectorButton excluded from TokensSelector, sizing issues fixed 2024-09-05 08:55:15 +02:00
Lukáš Tinkl 6b8702b0b2 fix(StatusNavigationListItem): unbreak hovering over settings menu items
- fixes regression when hover wouldn't work if the menu item contained a
beta tag

Fixes #16263
2024-09-04 18:16:15 +02:00
Anastasiya Semenkevich 9598e9a44c qml: new object names for token selector panel 2024-09-04 16:16:10 +03:00
Cuteivist 186b5f8798
fix: Update account only when networks did change (#16229) 2024-09-04 06:32:07 +02:00
Cuteivist f1904d9ef8
fix: Reset collectible details after exiting details page (#16231) 2024-09-04 06:29:31 +02:00
Lukáš Tinkl 5cf4592c3b fix: Slippage Selector Issues
- add various error/warning messages according to Figma (where it makes
sense)
- letters or more than 2 decimals are caught by the internal validator
so those combinations are impossible to enter
- fix marking the custom value as (in)valid
- fix selecting "Use default" after typing a custom value
- fix resetting to predefined value after typing a custom value that
matches one of the predefined ones
- reject typing thousands separator
- add regression QML tests for the above fixes

Fixes #15017
2024-09-03 17:36:48 +02:00
Lukáš Tinkl 9d9fb69e3b feat(StatusEmojiPopup): reimplement around C++ EmojiModel
- the new C++ EmojiModel provides a simple wrapper around the existing
JSON to facilitate a faster access and to be able to search/filter in
QML using SFPM
- no more nested GridViews inside Repeaters
- get rid of emoji manipulation and search/filter using JavaScript
- included the C++ script to generate the emojiList.js
2024-09-03 10:19:54 +02:00
Lukáš Tinkl 19e0be07d8 feat: Upgrade emoji selection to support latest emojis
- upgrade to latest TWEmoji 15.1.0 from
https://github.com/jdecked/twemoji (the original twemoji is abandonware
now)
- create new EmojiJSON metadata from https://github.com/milesj/emojibase
- removed unused 26x26 assets
- add storybook page for StatusEmojiPopup

Fixes #8979
2024-09-03 10:19:54 +02:00
Cuteivist 70421a0454
fix: Correctly display manage tokens icons (#16228) 2024-09-03 06:07:03 +02:00
Michał Cieślak 9c4e1a8fe9 SubmodelProxyModel removed
Closes: #15825
2024-09-02 20:20:10 +02:00
Michał Cieślak 7c24d19241 Usages of SubmodelProxyModel migrated to ObjectProxyModel 2024-09-02 20:20:10 +02:00
Khushboo Mehta b8f41e35c4 feat(@desktop/wallet): Buy Mercuryo flow - Improvements
fixes #16041
2024-09-02 16:51:16 +02:00
Lukáš Tinkl 7c184f3500 fix(StatusChatInput): set max number of images to 6 to align with mobile
- re-evaluate the validators to be able to hide the warning after 3
seconds (the validators won't let the user select/paste an invalid
image; it's just the warning bubble that persisted)
- some small cleanups

Fixes #16210
2024-08-30 18:26:59 +02:00
Cuteivist ee770257c5
chore: Disable clicking on Betatag (#16207) 2024-08-30 12:19:42 +02:00
Michał Cieślak c9b7d9eab6 Remove nim api for clipboard handling
Additionally there is hook on ClipboardUtils added
to detect if copied string is a wallet address and call addressWasShown.
Earlier that call was done internally on nim side.

Closes: #16196
2024-08-29 15:46:17 +02:00
Michał Cieślak 4ac9a9b305 copyImageToClipboardByUrl moved to ClipboardUtils 2024-08-29 15:46:17 +02:00
Michał Cieślak 9c3b8fc34b Use ClipboardUtils.text instead of backend-dependent getFromClipboard 2024-08-29 15:46:17 +02:00
Michał Cieślak a8940a71f5 Using ClipboardUtils.setText instead of nim's copyToClipboard 2024-08-29 15:46:17 +02:00
Michał Cieślak 7757f4e615 QClipboardProxy QML type renamed to ClipboardUtils
Additionally, copyTextToClipboard is renamed to setText, mimicking
QClipboard naming.
2024-08-29 15:46:17 +02:00
Michał Cieślak 781133238a ClipboardUtils: isValidImageUrl and isValidImageUrl excluded to UrlUtils 2024-08-29 15:46:17 +02:00
Michał Cieślak 9311ebe7fe QClipboardProxy renamed to ClipboardUtils 2024-08-29 15:46:17 +02:00
Dario Gabriel Lipicar 4257294c60 feat(wallet): upgrade paraswap api to v6.2
Closes #15755
2024-08-28 13:43:07 -03:00
Cuteivist 658fe2a5b4
fix(wallet): Update collectibles media management (#16080) 2024-08-28 15:58:33 +02:00
Sale Djenic 3cf6614082 chore: new router error `no positive balance` added 2024-08-28 11:26:23 +02:00
Anastasiya Semenkevich a7cb7376dd tests: use own profile link in messages so the information is not gone after 30 days 2024-08-27 14:50:29 +03:00
Seitseman 2275fe4f1f fix(Stored): Make stores typed
Adding types instead of var for stores used in qml components

Closes: #14801
2024-08-27 10:52:18 +02:00
Anastasiya Semenkevich ea31d1115f qml: change object name for account actions 2024-08-26 11:52:39 +02:00
Alex Jbanca 736075b817 fix(WalletConnect): Fixing sign for uniswap and paraswap
There are two fixes needed here.
1. Status-go fix for unknown primitive when signing the message
2. Fix for Paraswap pairing failure due to required namespaces mismatch

Needs: https://github.com/status-im/status-go/pull/5755
2024-08-26 11:41:27 +03:00
Andrey Bocharnikov d3131c2bb9 fix(community): Missing community owner token image
fixes #15855
2024-08-23 11:03:45 +07:00