Commit Graph

7206 Commits

Author SHA1 Message Date
Lukáš Tinkl 2c46764829 fix(MembersTabPanel): Buttons in the Member tab do not work
- move the MouseArea into `background` so that it doesn't obscure the
potential action buttons
- fixup SB page

Fixes #16426
2024-10-03 14:34:12 +02:00
Sale Djenic 100389aa8d chore: align buying/releasing/setting ens usernames 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 2nd part of #16336
2024-10-02 16:16:29 +02:00
Lukáš Tinkl e3512938f6 fix(MessageContextMenuView): Message context menu displaying incorrectly
- restore previous context menu item spacing (ColumnLayout has an
implicit spacing of 5)
- don't wrap the MessageReactionsRow into an extra Item container; fixes
the emoji reactions row being garbled
- enhance the SB page so that the above can be seen/tested there and
rename it to match the component name
- some smaller cleanups

Fixes #16409
2024-10-02 15:58:59 +02:00
Lukáš Tinkl 3025ac9208 fix(StatusMessage): fix forgotten enum value in StatusMessage.OutgoingStatus
- also fix typo in the default value of `outgoingStatus`
2024-10-02 15:58:59 +02:00
Jonathan Rainville 252061d8e8
feat(sync): add a fallback mechanism when the pairing does't work (#15820)
Fixes #15750

When the pairing fails, the UI now let's the user use the seed phrase instead.
When they do, a call is send to the original device and both instances will show an AC notif.
When the original device accepts the pairing, the call is made to pair and sync the devices and the AC notifs get deleted
2024-10-02 09:54:35 -04:00
Michał Cieślak 9acf8d8709 stores: remove isWalletEnabled from shared/RootStore
Closes: #16254
2024-10-02 13:38:22 +02:00
Michał Cieślak a46f3b0864 stores: flatNetworks removed from shared/RootStore 2024-10-02 13:38:22 +02:00
Michał Cieślak 1b3a4cf955 stores: walletSection usages moved from shared/RootStore to wallet/RootStore 2024-10-02 13:38:22 +02:00
Michał Cieślak 3c6ea3be43 HistoryView: wallet root store taken as an explicit dependency 2024-10-02 13:38:22 +02:00
Michał Cieślak 26b588cc40 shared/RootStore: token related content moved to TokensStore 2024-10-02 13:38:22 +02:00
Michał Cieślak 47f75c1ae2 TransactionDetailView: RootStore and CurrenciesStore decoupled 2024-10-02 00:08:20 +02:00
Michał Cieślak afe1cd59c0 shared/RootStore: remove duplicated methods of CurrenciesStore 2024-10-02 00:08:20 +02:00
Michał Cieślak 0686552bc3 TransactionDetailView: refactored to take root store as a dependency 2024-10-02 00:08:20 +02:00
Michał Cieślak c3a234908d CurrenciesStore: static model removed from store 2024-10-02 00:08:20 +02:00
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