Commit Graph

802 Commits

Author SHA1 Message Date
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
Michał Cieślak 9c4e1a8fe9 SubmodelProxyModel removed
Closes: #15825
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
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
Cuteivist 658fe2a5b4
fix(wallet): Update collectibles media management (#16080) 2024-08-28 15:58:33 +02: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
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
Lukáš Tinkl e868f335aa feat(Settings/Privacy and security): add Privacy Policy popup
- mention the "Privacy Policy" document in the text explaining "Help us
improve Status", make a link to it and display it in a separate popup
- add a standalone header button to the settings page, doing the same
- extend storybook page with the "placement" param

Fixes #16157
2024-08-21 15:28:11 +02:00
Lukáš Tinkl f59ce285a9 fix(StatusBaseButton): correct radius and icon size for `isRoundIcon` mode
- this fixes 2 small regressions, namely in how we calculate the
background corner radius and icon size when in the mode of `isRoundIcon`
- the "Saved addresses" button in wallet's left view is very special on
its own; overall we have only 2 instances of this "round" icon buttons
in the whole app

Fixes #16156
2024-08-20 22:08:19 +02:00
Lukáš Tinkl e3dae7e1db feat(StatusButton) Add support to show text when button is loading
- add a secondary "loading" state (`loadingWithText`), that is show the
loading indicator next to the text
- simplify the StatusBaseButton layout (esp. handling the overall
opacity/visibility)
- add a QML test suite; the code was becoming too complex and adding a
simple boolean prop was getting "dangerous"
- port the SwapModal to use the new `loadingWithText` property

Fixes #15313
2024-08-19 22:36:50 +02:00
Lukáš Tinkl 7c10b16b67 chore(AmountToSend): AmountToSendNew is dead, long live AmountToSend 2024-08-17 09:39:42 +02:00
Lukáš Tinkl 114abc7015 chore(swap): port SwapInputPanel to AmountToSendNew
- adjust the API calls
- fixup the tests
2024-08-17 09:39:42 +02:00
Lukáš Tinkl aae265123b feat(GenericValidator): expose locale name
- make it possible to configure the locale of the validator
- use the correct default decimal point in AmountValidator
- update/add the relevant tests for AmountToSendNew
2024-08-17 09:39:42 +02:00
Lukáš Tinkl 7ddbcf926b chore(AmountToSendNew): expose some more properties
- like cursorVisible or fiatInputInteractive
- add support for "loading" overlays
2024-08-17 09:39:42 +02:00
Lukáš Tinkl 3c18ac0f7a feat(AboutViewPage): display the runtime Qt version in Settings/About
- it's easier to make sure and detect what users are using, esp. when
they report bugs
- with a clickable link to the release notes
2024-08-12 23:52:51 +02:00
Lukáš Tinkl a7e74f3e00 chore(Global): Remove FeatureFlags access via Global singleton
- rationale: do not save global state in a singleton, gather and
propagate the values via FeatureFlagsStore

Fixes #14697
2024-08-12 20:00:31 +02:00
Sale Djenic 20f30a52fd fix: keycard signing integration into wallet connect flows
Fixes: #15957
2024-08-12 19:52:04 +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 7f4ca098de fix(SendModal): hide the Custom network mode in `production`
- manage the lifetime of the Custom tab button dynamically; setting the
tab button to `visible: false` doesn't unfortunately remove it from the
tab bar

Fixes #16052
2024-08-12 09:46:21 +02:00
Jonathan Rainville 0470723a5d
feat(@desktop/metrics): send basic metrics (#15803) (#16040)
Issue #15737

Co-authored-by: Michał Iskierko <61889657+endulab@users.noreply.github.com>
2024-08-08 16:53:49 -04:00
Khushboo Mehta ada348486e feat(@desktop/wallet): Swap:: Added text that links to Paraswaps terms and conditions page 2024-08-08 18:34:43 +02:00
Michał Cieślak a0a688c3e4 Wallet: swap/bridge buttons visibility adjusted
Closes: #15952
Closes: #15931
2024-08-08 17:29:29 +02:00
Dario Gabriel Lipicar c0e5111fe5 feat(@desktop/wallet): handle Paraswap price impact error
Fixes #15542
2024-08-07 23:14:22 -03:00
Lukáš Tinkl ed650d32dd chore: Remove the Browser from the app completely for now
- completely removes the `ui/app/AppLayouts/Browser` QML app section
- removes the `app_service/service/bookmarks`,
`app/modules/main/browser_section` and
`src/app_service/service/dapp_permissions` NIM modules
- remove the Browser settings page and associated popups/components
- HTML links now always open in an external browser
- adjust the section indexes in `Constants`
- fixup the e2e tests

Fixes #14614
2024-08-07 16:45:31 +02:00
Roman Chornii 6aa6746de2
fix(dApps): Improved handling of connected dApps. (#15985)
1. Hiding DApps button on not supported wallet account selection
2. Filtering DApps in connected dApps list based on account selection

closes: #15589
closes: #15647
2024-08-05 16:41:20 +03:00
Lukáš Tinkl 6159f53839 fix: Add additional information to the Beta tags
- display additional beta information as a tooltip
- don't overlap the Beta badge with the unread msg indicator
- some minor cleanups & fixes

Fixes #15795
Fixes #15929
2024-08-05 15:39:51 +02:00