Commit Graph

830 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
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
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 502c8df411 shared/RootStore: make the SB stub empty
Closes: #16252
2024-10-02 00:08:20 +02:00
Michał Cieślak 47f75c1ae2 TransactionDetailView: RootStore and CurrenciesStore decoupled 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 ad7e2df78a chore: improvements of the sending route generated by the router process
Closes #14636
2024-10-01 17:21:26 +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
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
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
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
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 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 bb2eeaa79d Storybook: TestUtils singleton added 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 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
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
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 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 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
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
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
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
Cuteivist e87a4f947e
feat: Show send error message inside the SendModal (#16258) 2024-09-09 13:29:40 +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 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 afd16d6f6c TokenSelectorButton excluded from TokensSelector, sizing issues fixed 2024-09-05 08:55:15 +02:00
Iuri Matias 16d0df694c chore: update storybook minimum mac version 2024-09-03 13:36:37 -04: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