Commit Graph

1153 Commits

Author SHA1 Message Date
Cuteivist b1a8fd6260
fix(@desktop/wallet): Prevent nil conversion to qvariant (#12546) 2023-10-26 10:01:52 +02:00
Alex Jbanca 4a30d13bdc
feat(LinkPreviews): Integrate Link previews with the backend (#12523)
* feat(StatusQ): Adding numberToLocaleStringInCompactForm function to LocaleUtils

This function will format the number in a compact form
E.g: 1000 -> 1K; 1000000 -> 1M; 1100000 -> 1.1M

+ adding tests

fix(statusQ): Update numberToLocaleStringInCompactForm to return the locale number when greter than 999T

fix(StatusQ): extend the test_numberToLocaleStringInCompactForm with new data

* feat(LinkPreviews): Update the link preview area in StatusChatInput to use the new model

Changes:
1. Create a new component `LinkPreviewMiniCardDelegate.qml` that filters the model data to properly fill the link preview card with the needed data based on the preview type
2. Update storybook pages
3. Small updates to LinkPreviewMiniCard

* feat(LinkPreviews): Update the link previews in message history to use the new backend

Changes:
1. Create delegate items for LinkPreviewCard and gif link preview to clean the LinksMessageView component and filter the model data based on the preview type
2. Remove UserProfileCard and reuse the LinkPreviewCard to display contacts link previews
3. Update LinkPreviewCard so that it can accommodate status link previews (communities, channels, contacts). The generic properties (title, description, footer) have been dropped and replaced with specialised properties for each preview type.
4. Fix LinkPreviewCard layout to better accommodate different content variants (missing properties, long/short title, missing description, missing icon)
5. Fixing the link preview context menu and click actions

fix: Move inline components to separate files

Fixing the linux builds using Qt 5.15.2 affected by this bug:
https://bugreports.qt.io/browse/QTBUG-89180

* fix: Align LinkPreviewMiniCard implementation with LinkPreviewCard and remove state based model filtering
2023-10-25 18:20:02 +03:00
Anthony Laibe 466b57a536 fix(@wallet): sending big number
fixes #12497
2023-10-25 11:29:47 +02:00
Alex Jbanca 8ac6eb8916 fix(LinkPreviews): Fixing gif hyperlink detection in StatusChatInput
The link preview model can be filtered, but the hyperlink detection needs an unfiltered model to properly highlight all URLs. This brought in the need to separate the urls model and the link previews model.
2023-10-25 09:58:38 +03:00
Igor Sirotin b9867c2463
feature: copy channel link menu action (#12482) 2023-10-24 16:13:25 +01:00
Alex Jbanca 337a81fc49 fix: Update link preview border to match the new design
+ fix link preview highlighting
2023-10-23 18:53:34 +03:00
Anthony Laibe 0ba9ce9c8e fix(@wallet): token not always visible
fixes #12508
2023-10-23 16:05:19 +02:00
Igor Sirotin e5b68e8823
fix: messaging settings and url unfurling fixes (#12457)
* remove browser selection setting
* remove main whitelist settings. replace tenorGif setting with gifUnfurlingEnabled
* remove old unfurling
* move history nodes section
* disable outdated e2e tests step
* remove isGifWidgetEnabled setting
* fix: StatusMessage height when gif unfurling disabled

---------

Co-authored-by: Anastasiya Semenkevich <anastasija.ig@gmail.com>
2023-10-18 10:03:32 +01:00
Sale Djenic ae915b6036 feat(@desktop/wallet): align emoji with mobile
Closes: #12421
2023-10-17 13:21:26 +02:00
Igor Sirotin 22ce35cf9c
feature: support url unfurling settings (#12441) 2023-10-16 17:05:55 +01:00
Michał Cieślak ce18a52171 chore(StatusChatInput): Move inline LinkPreviewSettingsCard's menu to separate file
Because of https://bugreports.qt.io/browse/QTBUG-90740 inline context menu causes tests for StatusChatInput crashing (stack overflow) on 5.15.2 (this version is used on CI). The easiest option to solve that problem is moving inline component to a separate file.

Closes: #12435
2023-10-13 16:20:09 +02:00
Igor Sirotin 520d34240a
feature: support unfurled Status links (contact/community/channel) (#12303)
* chore: move `LinkPreviewThumbnail` to a separate file
2023-10-13 14:36:07 +01:00
Lukáš Tinkl 9581e6deb6 fix(ImportCommunityPopup): no UI information when requesting info failed
- track the import progress manually as
`root.store.getCommunityDetails(key)` can optionally return `null`
immediately if the community is not known and launch an async task
- as an additional measure, since the above async call sometimes never
finishes, add a `Timer` that unsets the internal `loading` state

Fixes #12358
2023-10-13 14:02:34 +02:00
Lukáš Tinkl 629d8b62b1 fix: Update the Beta dialog design to better fit the content
- no logo
- tighter content, smaller vertical spacing

Fixes #12400
2023-10-12 16:27:30 +02:00
Alex Jbanca 331f27b52a feat: highlight the hovered hyperlink and link preview 2023-10-12 15:46:20 +03:00
Alex Jbanca fcd9567677 feat: Add settings card to control link previews settings in chat input
This commit adds the link preview settings card in the chat input area and connects the settings to the controller.

Not included in this commit: Backend for the preserving the settings, syncing the settings and enforcing the settings on the backend side.

Whenever an url is detected in the chat input area, the link preview settings card is presented. This card enables the user to choose one of the following options:

1. `Show for this message` - All the link previews in the current message will be loaded without asking again. The current message can be defined as the message currently typed/pasted in the chat input. Deleting or sending the current content is resetting this setting and the link preview settings card will be presented again when a new url is detected.
2. `Always show previews` - All the link previews will be loaded automatically. The link preview settings card will not be presented again (in the current state, this settings is enabled for the lifetime of the controller. This will change once the settings are preserved and synced)
3. `Never show previews` - No link preview will be loaded. Same as the `Always show previews` option, this will be preserved for the lifetime of the controller for now.
4. Dismiss (x button) - The link preview settings card will be dismissed. It will be loaded again when a new link preview is detected

The same options can be loaded as a context menu on the link preview card.

Changes:
1. Adding `LinkPreviewSettingsCard`
2. Adding the settings context menu to `LinkPreviewSettingsCard` and `LinkPreviewMiniCard`
3. Connect settings events to the nim controller
4. Adding the controller logic for settings change
5. Adding the link preview dismiss settings flag to the preserverd properties and use it as a condition to load the settings.
6. Adding/Updating corresponding storybook pages
2023-10-12 15:40:01 +03:00
Alex Jbanca 422bb2c064 feat: Generate link previews in StatusChatInput - Small updates + Add basic zoom to Storybook InspectionWindow 2023-10-12 14:08:28 +03:00
Alex Jbanca d32af78bc0 feat: Generate link previews in StatusChatInput - Adding hyperlink formatting to StatusChatInput
Introducing TextEditHyperlinksFormatter.qml. This component is attached to a text edit and will provide the hyperlinks formatting based on the urls detected in the text. The URL detection is implemented in the backend and this component will receive the urls as a model. The formatting is done using regular expressions and the hyperlinks are inserted automatically in the TextEdit component. The purpose of this component is to insert the hyperlinks, remove the hyperlinks and update the hyperlinks style when a specific hyperlink needs to be highlighted.

+ integrate in StatusChatInput
2023-10-12 14:08:28 +03:00
Alex Jbanca 3ce9d66d25 feat: Generate link previews in StatusChatInput - introduce ChatInputLinksPreviewArea
This component is a wrapper for LinkPreviewMiniCard and StatusChatInputImageArea. The purpose of this component is to arrange the cards in a row layout and provide scrolling behaviour. This component also has an opacity mask that will provide a fade out appearance when the items are scrolled out of view.

+ adding storybook page
+ integrate ChatInputLinksPreviewArea in StatusChatInput
2023-10-12 14:08:28 +03:00
Alex Jbanca 2c8ad61947 feat: Generate link previews in StatusChatInput - introduce LinkPreviewMiniCard
Adding LinkPreviewMiniCard component based on Figma designs. This component is similar to LinkPreviewCard, but has less info and a different format.

There is also some additional functionality attached to this card: close button, reload button and hovered state. The LinkPreviewMiniCard can have multiple states, based on content type and loading state.

+ Adding storybook page

Figma design: https://www.figma.com/file/Mr3rqxxgKJ2zMQ06UAKiWL/💬-Chat⎜Desktop?type=design&node-id=22341-184809&mode=design&t=151TjdzkzI7flR4P-0
2023-10-12 14:08:28 +03:00
Lukáš Tinkl 2abe0358fc feat: Add URL trust options when the user clicks on a link
- add a popup asking the user before clicking on an unfurled link
preview
- add a checkbox for the above popup to remember the trust for such
domain
- use local Settings to persist the "trust domain" locally; for
global persistence across devices, see
https://github.com/status-im/status-go/issues/4132

Closes #12388
2023-10-12 10:57:15 +02:00
Alex Jbanca 56547c0ae1 feat: Arrange link previews in messages view in a flow layout
Changes:
1. Replace ColumnLayout with Flow
2. Move the image previews up to be presented before the link previews
2023-10-12 11:08:51 +03:00
Lukáš Tinkl 78b4fee587 fix: Add Copy/Open Link as context menu actions on GIF message previews
also fix the issue of not having the respective image context menu for
the new unfurled links component

Fixes #12183
2023-10-10 12:27:46 +02:00
Khushboo Mehta b5723db3c9 fix(@desktop/wallet): Wallet settings - various small enhancements identified via mobile wallet settings work
fixes #11675
2023-10-09 18:46:57 +02:00
Ivan Belyakov 955169112d feat(wallet): Fixed balance history chart to use new balance history data based on transfers 2023-10-06 15:53:30 +02:00
Lukáš Tinkl 7171094f01 fix(storybook): fix broken pages
It was mostly some missing or non-existing properties or the component
got moved somewhere else

Fixes #12285
2023-10-06 14:59:02 +02:00
Khushboo Mehta e5166c11d3 fix(@desktop/wallet): SendModal broken when token symbol is very long
fixes #12336
2023-10-05 17:19:13 +02:00
Khushboo Mehta 8252baf846 fix(@desktop/wallet): Selecting other than the mainnet doesn't display all tokens in the send popup
fixes #12255
2023-10-05 17:19:00 +02:00
Lukáš Tinkl bcb89c8818 fix(SyncingEnterCode): tweak to local pairing messaging
... to clarify both devices should be on the same network

- add the view to storybook
- fix some layout/margin issues

Fixes #12261
2023-10-05 10:12:48 +02:00
Lukáš Tinkl 621090174a fix(GetSyncCodeInstructionsPopup): mention same network
- integrate it into Settings/Syncing
- simplify the GetSyncCodeInstruction structure
2023-10-05 10:12:48 +02:00
Michal Iskierko 5981e946fd feat(@desktop/communities): Adjust owner and master tokens deployment flow to new API
Issue #11954
2023-10-04 12:08:50 +02:00
Cuteivist 158bb87b4a
@bug(wallet/activity): Implemented collectibles model (#12294) 2023-10-03 14:15:11 +02:00
Noelia 15927b0705 feat(Community/FinaliseOwnership): Added finalise flow in the app
- Button from community column.
- Button from community overview.
- Updated storybook pages (settings overview related) according to new components requirements.

Part of #12174
2023-10-03 13:53:42 +02:00
Cuteivist 7d852c3565
feat(@desktop/wallet): Refresh recipients model (#12298) 2023-10-03 12:48:47 +02:00
Shinnok 7cb1746c84
fix(messenger_contacts): Fix target name in confirm dialog for contact remove 2023-10-03 13:40:36 +03:00
Lukáš Tinkl ac1adcea32 fix(sharding): use StatusTextArea for multiline readonly text 2023-10-02 15:04:17 +02:00
Khushboo Mehta d19e95cb5b chore(@desktop/wallet): SendModal: complete storybook flow
closes #12244
2023-10-02 12:27:15 +02:00
Khushboo Mehta bcfabd3998 fix(@deaktop/wallet): fixes below issues in sendModal:
1. A dropdown arrow should not be visible in the context of selecting token
2. Unnecessary padding added when expanding balances in the send modal popup

fixes #12254,#12256
2023-09-29 15:49:33 +02:00
Khushboo Mehta 91de960e08 fix(@desktop/wallet): Wallet: Send a multi tx, the notification for the 2nd transfer is not visible
fixes #12242
2023-09-29 14:43:45 +02:00
Stefan e805a9bf26 feat(wallet) user can repeat a Send transaction from activity view
Enable user action to repeat a Send transaction from the activity view
(HistoryView) and details view (TransactionDetailView).

Extend AppMain send modal entry and SendModal API to allow for selecting
all the required parameters for repeating a transaction.

Optimize update of start timestamp for activity filter only when user
attempts to open the filter panel.

Closes #12122
2023-09-29 14:34:16 +02:00
Dario Gabriel Lipicar b7d4cb9605 feat(@desktop/wallet): implement collectibles error states and retry
Fixes #11636
2023-09-27 17:21:19 -03:00
Sale Djenic 1699189cec feat(@desktop/keycards): managing mocked keycards from the separate window 2023-09-27 18:20:43 +02:00
Sale Djenic d107a9f90b feat(@desktop/keycards): managing mocked keycards when running keycard flows 2023-09-27 18:20:43 +02:00
Khushboo Mehta 29629a3d6d fix(@desktop/wallet): Send Modal Improvements & missing features
fixes #12243
2023-09-26 12:58:28 +02:00
Noelia 89a559745b feat(Wallet/Collectibles): Added special format for owner and tmaster community tokens
- Updated `CollectibleDetailsView` to show owner and tMaster token collectible types with the correct design.

- Updated `CollectiblesView` to show owner and tMaster token collectible types with the correct design.

- Modified send footer option if collectible selected is an owner token.

- Added logic to wallet rootstore to handle selected collectible data.

- Reverted changes on property selectAccount in sendModal

Closes #12172
2023-09-26 12:44:15 +02:00
Anastasiya Semenkevich 6cdc631f04 chore(@sync_code_qml): added object names for testing purposes 2023-09-26 09:00:33 +03:00
Lukáš Tinkl e6408724c9 feat(settings): add Privacy Statement and Terms of Use
- bundle those 2 documents as Markdown
- some UI fixes according to latest Figma

Fixes #12192
2023-09-25 14:09:45 +02:00
Teodor M. Ionita 8969b410f4 fix(StatusChatInput): allow image drop only if currently visible
Fixes #10885
2023-09-25 14:08:18 +03:00
Shinnok e532abb448
fix(StatusChatInput): New handler method for large messages
Instead of silently cutting off user text beyond the 2000
char limit, handle it more gracefully within certain limits.

Closes #11767
2023-09-22 17:25:38 +03:00
Cuteivist 5bf905b91d
feat(@esktop/wallet): Implemented filter by similar option (#12232) 2023-09-22 12:57:24 +02:00