Commit Graph

1501 Commits

Author SHA1 Message Date
Igor Sirotin 7e34260aef
feat: Unfurl GIFs locally (#11977) 2023-08-22 11:46:26 -04:00
Michał Cieślak 0cba5eccbd feat(StatusQ/Utils): Add StringUtils to expose string-related C++ routines
So far methods like escapeHtml were available via backend, creating
unnecessary dependency on backing in UI components.
2023-08-18 17:07:20 +02:00
Michał Cieślak 81cc2070e9 fix(Communities): Remotely destruct popup for regular collectibles integrated
Closes: #11924
2023-08-17 17:26:30 +02:00
Michał Cieślak 1c50ec17a8 chore(Communities): Refactor amounts handling for displaying, minting, airdropping and burning
Closes: #11491
2023-08-17 11:26:25 +02:00
Cuteivist beaca31664
fix(@desktop/activity): Fix filter layout and added recipient search (#11883) 2023-08-16 16:06:56 +02:00
Lukáš Tinkl 22258cc363 token-permissions: implement the UI "edit" flow for shared addresses
Fixes #11599
2023-08-11 15:38:42 +02:00
Igor Sirotin 34dba08b7a
fix: Only `scrollToMessage` when it's available in the database (#11784)
* rename `fetchMessageByMessageId` to `getMessageByMessageId`
* move reply clicking logic to `StatusMessageReply`
* make message found animation faster
* `asyncGetMessageById`
2023-08-07 23:52:04 +03:00
Alexandra Betouni a36f0d8ce8 feat(Communities): changes in import popup for private keys
Closes #11245
2023-08-07 15:26:35 +03:00
Alex Jbanca 9be2a8d799 feat(Community Overview): Trigger chart data updates on specific actions + optimise the backend calls
This commit includes the following changes:
1. Request from backend the messages count in a specific interval as opposed to all messages timestamps in that interval.
2. Update the chart end date before refreshing the data
3. Fix metrics type parsing in community service
4. Fix a bug where the new incoming data was not processed by ChartJs without a hover event on the chart. The fix here is to manually request paint() on model changes.d

Issues found and not handled here:
1. On large communities the backend request can take 3 minutes to complete
2. CPU usage can easily go to 100% when switching chart tabs on large communities. All the requests are processed by the backend.
2023-08-07 11:12:21 +03:00
Sale Djenic 6e5469f5aa chore(@desktop/wallet): sorting out keypair/account menu 2023-08-04 15:43:03 +02:00
Michał Cieślak f85986bfb0 fix(StatusDropdown, StatusDialog): height calculation improved
It improves workaround for QTBUG-87804 in StatusDropdown, to work
nicely whenever content is set via contentItem or not. The same
solution is added to StatusDialog.

Closes: #11768
2023-08-03 14:52:19 +02:00
Lukáš Tinkl cdc5a90940 fix(SendContactRequestModal): Display name / image problems with CR dialog
- fix missing profile image
- fix displaying wrong name when a nickname or ENS name is present
- fix ID verification flow ignoring nickname
- fix empty results when a contact has only an alias name
- fix needlessly requesting contact details several times (and
overwriting it); we get this info already from Popups.qml
- switch the popup to `StatusDialog` and fix hardcoded height

Fixes #11726
2023-08-02 09:52:32 +02:00
Noelia d832a306a4 fix(Minting): After minting completed 1 airdrop button is enabled and the other disabled
- Added `buttonEnabled` property to `StatusInfoBoxPanel` so it can be set from outside.
- Fixed airdrop button enable condition in minting flow. It is enabled when minting state is completed and if the token properties are infinite supply or there are still remaining tokens to be airdropped.
- Updated storybook accordingly.

Fixes #11496
2023-08-01 13:20:31 +02:00
Jonathan Rainville 6e346d2c0d feat(Communities): changes in import popup for public keys
Also: refactor(communities), moved request to join funcs to communities module
This is needed because we can now request to join from the Import popup

Closes #11242
2023-07-28 18:53:59 +03:00
Lukáš Tinkl bb2bbfb5b6 fix: Review scrolling behavior for holdings dropdown
- remove padding and use margins so that the listview can span the whole
width while having the scrollbar neatly next to it
- make the section header both inline and floatable (which makes it
always visible, even when scrolled away)
- fix the special search results "section" to behave the same way
- sort the results by category and name
- expose the `allTokensMode` for easy testing with storybook

Closes #10201
2023-07-28 17:46:29 +02:00
Igor Sirotin f9685a0a46
StatusScrollView usage docs (#11422) 2023-07-28 13:51:41 +03:00
Michał Cieślak f4d66a244e feat(Communities): Add fee box and updated sign popup to owner/token master tokens minting 2023-07-28 12:49:14 +02:00
Michał Cieślak 720971c9db fix(StatusEmojiAndColorComboBox): proper setting initial selection 2023-07-28 12:49:14 +02:00
Michał Cieślak f1d2646fec feat(ModelUtils): modelToArray: roles param made optional, support for nested models 2023-07-28 12:49:14 +02:00
Alex Jbanca c7aa1cf9e8 fix(StatusQ): Allow two lines text content in StatusToastMessage 2023-07-28 10:03:10 +03:00
Michał Cieślak 3c65d2e69e chore(Communities): Fees box - use danger outline for account selector when error 2023-07-26 17:59:45 +02:00
Igor Sirotin 4a4e3c5663
fix: Propagate `root.linkPreviewModel` (#11673) 2023-07-26 17:09:36 +03:00
Lukáš Tinkl 94c29d1e60 fix: Mint tokens screen uses different border colors for boxes
plus a couple of other dark mode fixes

Fixes #11633
2023-07-26 14:38:27 +02:00
Lukáš Tinkl a2e6227117 feat: disable community settings while in Testnet mode
- display an info box when in wallet testnet mode with a CTA to disable
it (functionality enabled for production builds only)
- the CTA can be tested/seen via OverviewSettingsPanelPage storybook page

Closes #11468
2023-07-24 19:29:13 +02:00
Lukáš Tinkl 1332fdc0d9 feat(StatusInfoBox): add support for icons
with predefined Info, Danger, Success and Warning colors
2023-07-24 19:29:13 +02:00
Lukáš Tinkl ed855e5fad fix(StatusBanner): use consistent `warning` color 2023-07-24 19:29:13 +02:00
Lukáš Tinkl d42892eec8 fix(StatusListItem): fix icon color when disabled 2023-07-24 19:29:13 +02:00
Michał Cieślak 715ed2a918 feat(Communities): Redesigned fees box and sign tx popup components added
Closes: #11600
2023-07-24 17:14:00 +02:00
Michał Cieślak 6d7a018aaf fix(general): added check if role passed to ModelUtils.get exists 2023-07-24 17:14:00 +02:00
Cuteivist 9b8340b695
feat(@desktop/wallet): Handle contract deployment (#11570)
closes #9047
2023-07-24 13:18:42 +02:00
Igor Sirotin cc5f057b3a
Replace link previews with new unfurled data from the message (#11603) 2023-07-22 02:08:44 +03:00
Lukáš Tinkl e744c847ad feat(token-permissions): display channel names in SharedAddressesPanel
Modify the PermissionUtils a bit to return an array of `[key, channelName]`
instead of just the keys and use it to display the channel names in the
permissions overview panel

(I could have used `QVariantMap` or `QJSonObject` here but those are
always sorted by `key`, so had to resort to using a plain vector/array)

Fixes #11584
2023-07-21 13:47:07 +02:00
Sale Djenic c47a432bae fix(@desktop/wallet): `Wallet -> Settings -> Account order` - watch-only accounts and keycard accounts should have appropriate icon
Fixes: #11513
2023-07-20 18:01:14 +02:00
Cuteivist db363b3782
feat(@desktop/wallet): Use separate filter for each wallet account (#11528)
closes #11412
2023-07-19 16:16:45 +02:00
Lukáš Tinkl 02e40adfca feat: New design flows to integrate Revealing addresses...
... when joining Community functionality

Closes #11138
2023-07-19 12:44:16 +02:00
Sale Djenic 6d25a888d3 feat(@desktop/wallet): keypair rename (a profile keypair name should follow display name)
Fixes: #10769
2023-07-18 09:20:09 +02:00
Alex Jbanca bed7db5528 feat(communityChart): Add messages over time chart - mocked data
Implementing community messages over time chart
Adding `OverviewSettingsChart.qml` to storybook
2023-07-18 08:43:59 +03:00
Lukáš Tinkl 875e17b061 fix: Channels stay highlighted when they are not selected
disable the highlight also when not exiting the DropArea

Fixes #11459
2023-07-17 10:39:24 +02:00
Noelia c973605831 feat(OwnerToken): Admin view of Tokens home - pre-Owner token minting
- New `Get started` panel for admins in `Tokens` section added.
- Added support in `storybook`.

Part of #11472
2023-07-14 12:57:18 +02:00
Khushboo Mehta a468635ddc feat(@desktop/wallet): Networks - New List UX with link mainnet/testnet + testnet mode enable/disable
fixes #11252
2023-07-14 08:57:36 +02:00
Lukáš Tinkl 5b118f43f8 fix(Chat): Confirmation button UI is broken when deleting 1-1 chat
fixes a `StatusModal` porting error that broke `title` in a couple of
popups/modals

Closes #11503
2023-07-13 16:44:30 +02:00
Mikhail Rogachev 1a7532d92c
fix: Fix behaviour issues with CRs and mutual update messages (#11178)
Close #11121
2023-07-13 01:39:56 +04:00
Michał Cieślak 4a3e8ca1b2 feat: Adds AmountsArithmetic utility exposing basic functionality for handling arbitrary precision decimals
Closes: #11484
2023-07-12 11:59:40 +02:00
Michał Cieślak e1177617b9 feat: Add big.js library for arbitrary precision decimal arithmetic
big.js v6.2.1 (minified using terser)
2023-07-12 11:59:40 +02:00
Noelia c59758b377 feat(SQ/StatusInfoBoxPanel): Created SQ panel
- Created general `StatusInfoBoxPanel` component. It includes a box with a title, text and button.
- Added storybook page support.
2023-07-11 11:07:01 +02:00
Cuteivist 9b293f9c34
feat(@desktop/wallet): Loading animation for input data decoding (#11378)
closes #11333
2023-07-10 15:36:29 +02:00
Alex Jbanca 3b57915155 feat: Implement Community Overview footer with mocked data
1. Adding OverviewSettingsFooter.qml according to design
2. Adding the footer to storybook
3. Add the footer in the overview page
4. Remove the squish tests for the old footer
2023-07-07 21:07:35 +03:00
Stefan 7a9c76966d feat(wallet) reload on new transaction downloaded quick win
Show a reload hint button for user to refresh the filter

Updates #11233
2023-07-05 23:45:34 +02:00
Noelia 0e730b38e7 feat(SQ/StatusTagItem): Extend text properties customization
Binding added for `font`  property to allow more component customization.
2023-07-05 11:14:38 +02:00
Cuteivist d0f3b6d652
feat(@desktop/wallet): Update activity feed sections date markers (#11332)
closes #11306
2023-06-30 14:55:59 +02:00
Lukáš Tinkl 9107f15a77 [Mint Token] Update validation rule for name property
Fixes checking for duplicate token name in a case insensitive manner

Redo the `ModelUtils.contains(model, roleName, value, mode =
Qt.CaseSensitive)` in C++; more speed and add ability to search case in/
sensitive

Some more smaller fixes/speedups

Fixes #11204
2023-06-28 11:55:11 +02:00
Cuteivist 91e0d3f0cd
fix(@desktop/wallet): Hide disabled copy address action (#11269)
fixes #10507
2023-06-28 08:27:18 +02:00
Michał Cieślak 8cd6de5013 chore(StatusQ/Utils): return StackView's push/pop return values from push/pop methods in StackViewStates
It allows to access pushed/popped items when using StackViewStates for
managing StackView.
2023-06-26 10:01:14 +02:00
Lukáš Tinkl 620c7a746d feat(Settings/Communities): implement new communities list
Closes #11145
2023-06-23 16:48:26 +02:00
Alex Jbanca ef837a9c9c fix(StatusQ): Dynamic width calculation for StatusMenu 2023-06-21 14:42:00 +03:00
Pascal Precht b3329d790e feat: channel permissions
Closes: #10996, #10995, #10993, #10997, #9537
2023-06-20 21:57:37 +02:00
Lukáš Tinkl fe9bb7d398 chore: Update StatusBaseButton content item layout
- introduce StatusButton storybook page with controls to play around
with the its options and variants
- StatusBaseButton: make the content item horizontally centered by
default
- StatusBaseButton: remove `textAlignment` and fix `textFillWidth` for
the intended usage
- fixup usage of the 2 above options which were introduced merely as a
workaround, mostly in wallet + corresponding storybook pages

Fixes #10903
2023-06-20 14:10:35 +02:00
Jonathan Rainville fe8a58c5db fix(badges): fix muted chat not being marked as read
Fixes #11041

Fixes the bug where going to a muted channel with a mention doesn't mark it as read. This was because the QML doesn't call mark as read when a channel doesn't have unviewed messages. That was because our Nim code put 0 as unviewedMessageCount when a channel is muted.

I changed it so that channels always have the value from status-go. No more conditions on the Nim side. Now the condition is on the QML side. So we hide the badge in QML instead. That also means that showing the number of unviewed message, even in a muted channel works.

I also fixed a bug where we counted muted messages on app restart for the normal badge. Usually it didn't cause issues, because it's rare that you had messages in a muted channel and nothing else. You'd also have unread messages in an unmuted channel. so you'd go there, read it, and it would then update the parent badge. 
While testing this issue, I discovered that we in fact count muted channels for the parent badge.
So i fixed it in this one too.
So while chats don't have any Nim code for muted chats, sections do, because status-go doesn't really give us that information.
2023-06-16 15:12:12 -04:00
Lukáš Tinkl 045dfe60a0 fix: Channel picker doesn't render 1-1 chats correctly
- expose `colorId` and `colorHash`, the latter only for non-ENS verified
users
- use them in the results :)

Fixes #11086
2023-06-15 11:13:36 +02:00
Igor Sirotin 11bd51fc27
fix(SyncingView): only suggest to sync non-synced devices (#11083) 2023-06-15 11:53:35 +03:00
Michał Cieślak 8b44e686f4 feat(CommunityAirdrops): Fees popup with multiple entries for airdrops
Closes: #10484
2023-06-14 12:59:05 +02:00
Jonathan Rainville 125593369f fix(CodeScanner): fix QrCode Scanner not working on Linux
Fixes #10101

The problem was quite weird. The camera worked, but only when not **directly** in a Loader.

So I fixed by moving the Loader outside of StatusQrCodeScanner and into its parent SyncDeviceFromMobile.

The bahaviour is the same. We get a button asking to enable the camera, then we load the Scanner component. Before the Loader contained only the Camera component.
2023-06-13 12:49:55 -04:00
Lukáš Tinkl 2cb2f8354d fix: invalid width for items chat list
- simplify StatusChatListAndCategories, and propagate the width
- set the correct width in StatusChatList's actions (using
`Layout.fillWidth: true`)
- add a width slider to the storybook page to be able experiment with
the whole component width

Fixes #11047
2023-06-13 16:12:26 +02:00
Michał Cieślak d479077e60 feat(StatusQ): StatusSortableColumnHeader component added 2023-06-13 12:37:10 +02:00
Cuteivist a4731517d6
feat(@desktop/wallet): Add copy details and repeat transaction buttons (#10904)
closes #10776
2023-06-13 10:18:53 +02:00
Lukáš Tinkl c21c7cf705 feat: Add support for "locked" icons in chat list items
- introduce 2 new bool properties: `requiresPermissions` and `locked`
- import the new icons
- add a respective storybook to play around with the StatusChatListItem
properties

Fixes #11012
2023-06-12 16:57:39 +02:00
Jonathan Rainville be958d5a1e chore: remove dictionary 2023-06-09 14:50:08 -04:00
Lukáš Tinkl 0b94c2b541 fix: revert to not destroy popups on close by default
- causing too many regressions along the way
- most of our popups are already destroyed properly inside Popups.qml
- in general, a Popup (Dialog, Menu, etc.) can be manually destroyed iff
it had been created using `Component.createObject()`, otherwise it's gone
for good until restart
- manually enabled the destroy-on-close in verified cases

Fixes #10948 (maybe some other dupes)
2023-06-09 00:44:27 +02:00
Lukáš Tinkl 0cf01871b4 fix(Chat): Quoted message in a reply is not clickable
wrap the reply contents area (excluding the profile header) in a
ColumnLayout and move the MouseArea that handles the `messageClicked()`
signal there, thus avoiding the collisions between the two

Fixes #10950
2023-06-08 17:20:03 +02:00
Lukáš Tinkl b5a7df685a fix(QClipboardProxy): use more reliable clipboard/DND checks
- getFileSize: NIM version would crash on non-existing or remote files
- isValidImageUrl: properly detect file extensions when the URL contains
a query (eg "file.jpeg?width=1000&height=600")
2023-06-08 15:33:46 +02:00
Mikhail Rogachev 010640acd0
feat(Chat): display MutualStateUpdate system messages in 1-to-1 chats (#10847)
* feat(Chat): Display MutualStateUpdate system messages in 1-to-1 chats

* feat(ActivityCenter): Add AC notification when a user get removed by another contact

* fix: crutch fixing segfault on contact removal
2023-06-08 16:52:03 +04:00
Patryk Osmaczko dfbac49302 chore(qml): adapt assets to support mediaserver images 2023-06-08 13:09:59 +02:00
Igor Sirotin bc4492b53a
fix: Create only one instance of `StatusChatInput` (#10928)
* Chat input area preserved properties
* Fix emoji/gif/stickers popups open/close logic
2023-06-07 16:18:29 +03:00
Lukáš Tinkl 274fc98839 fix(StatusDateRangePicker): use StatusDatePicker for the range selection
- exchange the direct input with a calendar popup
- extend the validation of the range (so that from < to === true, etc)
- remove direct input components (Status[Base]DateInput.qml)

Fixes #10900
2023-06-07 10:54:44 +02:00
Khushboo Mehta 28654e0187 \chore(@desktop/wallet): Change customisation colours on desktop to match those used on mobile
fixes #10637
2023-06-02 19:48:19 +02:00
Patryk Osmaczko 35a2dd5244 [Popups]: added destroy() function in all popups by default
Also switched StatusModal to derive from StatusDialog instead
of Popup type

Closes #10149
2023-06-02 14:28:39 +03:00
Igor Sirotin 278654f694
fix: Use `StatusCursorDelegate` for password inputs (#10890) 2023-06-01 21:23:22 +03:00
Jonathan Rainville 500ee972ac go back to old model with SortProxyModel 2023-06-01 09:45:18 -04:00
Lukáš Tinkl c3b1a5f2ab feat: New date picker for Status desktop
- aligns the StatusDatePicker component with the latest UI/UX
- adds a storybook page to explore the options

Closes #10862
2023-06-01 09:43:38 -04:00
Igor Sirotin 7eed470829
fix(StatusScrollView): Change implementation to inherit ScrollView (#10789) 2023-05-31 23:58:23 +03:00
Jonathan Rainville 7d0a77ef0d chore(links): update to use the new external link format
Fixes #10777
2023-05-31 10:36:08 -04:00
Jonathan Rainville d04e121ab5 chore: update deep link to status-app on Windows 2023-05-31 10:36:08 -04:00
Khushboo Mehta 5678d86a54 fix(@desktop/wallet): Simple Custom Date range date picker
fixes #10796
2023-05-31 14:28:22 +02:00
Cuteivist 7caa89b050
feat(@desktop/wallet): Transaction activity summary (#10809)
closes #10751
2023-05-31 11:25:16 +02:00
Cuteivist fb85c46727
fix(@desktop/wallet): Small navigation fixes (#10839) 2023-05-31 09:47:52 +02:00
Boris Melnik 91bdb5824b feat(mute): Adds intervals for muting channels and chats
Part of: #9369
2023-05-30 16:43:48 +03:00
Lukáš Tinkl 130976957f fix: blurry icons in Network Filter combobox
- detect SVG images and apply the same fix as we do in StatusIcon
- do not load a lowres (tiny) variant

Fixes #9853
2023-05-30 11:39:00 +02:00
Lukáš Tinkl 8ae48d9181 feat(StatusRoundIcon): allow loading a rounded icon from "source"
the same way it's already implemented in the underlying StatusIcon
2023-05-30 11:39:00 +02:00
Lukáš Tinkl a0020761eb fix(NavBar) right clicking on Wallet, Community Portal and Settings highlight them
check if there indeed is a popup menu

Fixes #10824
2023-05-30 11:25:45 +02:00
Sale Djenic 0b9d7e1962 fix(@desktop/keycard): updated information for listed keypairs for migration to a keycard
Fixes: #10808
2023-05-26 10:54:12 +02:00
Lukáš Tinkl bf6758b68e fix(ShowcaseDelegate): community icon is not rounded
- this needs proper bg color (transparent) and a `border.width: 0` to
work properly with the

Fixes #10754
2023-05-25 16:30:10 +02:00
Jonathan Rainville 4dd383ffb5 refactor(DnD): improve chat reorder by passing destination directly 2023-05-25 09:27:14 -04:00
Jonathan Rainville a69b8de3c3 feat(category): hook category Drag and Drop to backend correctly
Fixes #10733
2023-05-25 09:27:14 -04:00
Noelia 0862273baf feat(SQ/StatusInput): Added new property to override char limit label
Added `charLimitLabel`. If it is set, the default char limit label will be overriden.
2023-05-25 11:11:44 +02:00
Igor Sirotin 5ff4b5a435
fix(MessageContextMenu): Cleanup. Separate menu for profile. (#10729) 2023-05-19 19:07:50 +03:00
Cuteivist f7e75208a5
feat(@desktop/wallet): Added transaction address component (#10665)
closes #10583
2023-05-19 11:51:47 +02:00
Noelia 7aaf8fcec2 feat(MintToken/RemoteDestruct): Review and update remote self destruct flow
Updated strings and renamed files.

Part of #10603
2023-05-18 15:28:44 +02:00
Khushboo Mehta 3ac9edbe96 feat(@desktop/wallet): Activity Details Progress bar
fixes #10639
2023-05-18 09:26:37 -04:00
Igor Sirotin 63bbc72b54
fix(StatusMessageReply): Fix clicking on sender (#10717) 2023-05-16 18:06:38 +03:00
Michał Cieślak f3a50ebf65 fix(StatusDropdown): added to Binding to avoid warning (QTBUG-81787) 2023-05-15 12:52:17 +02:00
Michał Cieślak 79789e50d2 feat(StatusQ/Utils): ClippingWrapper component for convenient clipping with margins 2023-05-12 20:14:02 +02:00
Michał Cieślak 3b2a5995aa fix(StatusDropdown): Add workaround for QTBUG-87804
The workaround has no known side-effects and it doesn't break
any bindings.
2023-05-12 16:38:15 +02:00
Khushboo Mehta 43bd5631de feat(@desktop/wallet): Header Gradient
fixes #10333
2023-05-12 11:39:03 +02:00
Khushboo Mehta 47d971a3dd feat(@desktop/wallet): Handle large numbers in the desktop as per new design
1. Support upto numbers 999B
2. No decimal points after 1M

fixes #10590
2023-05-11 17:54:13 +02:00
Khushboo Mehta a57c0b414b feat(@desktop/wallet): New Account header
fixes #10330
2023-05-10 16:02:37 +02:00
Cuteivist ec04b8668f
Feat/10473 Updated activity list delegate and activity details header (#10580)
closes #10473
closes #10542
fixes #10408
2023-05-10 13:54:06 +02:00
Michał Cieślak 27aac8d83a feat(CommunityNewAirdropView): design-compliant token airdrop flow for collectibles 2023-05-08 11:44:10 +02:00
Alex Jbanca a674ec57a8 fix(blockChat): Disable chat input when minimal conditions are not met 2023-05-05 19:44:39 +03:00
Igor Sirotin a3ec245b44
fix(Sandbox): Fixed hot reloading. Fixed MacOS arm64 builds. (#10562) 2023-05-05 19:05:44 +03:00
Igor Sirotin 88cd44c302
fix(StatusMessage): Highlight rectangle size matches the background (#10553) 2023-05-04 18:37:33 +03:00
Patryk Osmaczko 606598735e fix(StatusQ/StatusBaseButton): use `Layout.*` properties properly
fixes: #10480
2023-05-04 13:31:03 +02:00
Khushboo Mehta 2401bb52bb feat(@desktop/wallet): New floating header as a drop down list
fixes #10392
2023-05-03 18:52:19 +02:00
Lukáš Tinkl b07ba7fb2d fix: personal chat item wrong width
- do not hardcode width of child elements (impossible to propagate
setting the width from the toplevel/parent component)
- made both the community and non-community chat item look the same and
according to the Figma designs (including margins, scrollbar positions,
spacing etc)
- cleaned up some hardcoded values and dead code

Fixes #10469
2023-05-03 16:39:33 +02:00
Lukáš Tinkl f14fb65e44 fix(StatusChatListCategoryItem): fix flicker on hover over add channel button
do not fight with the child MouseAreas, use a TapHandler above the whole
element

Fixes #10380
2023-05-03 16:39:33 +02:00
Igor Sirotin 98d8a70572 fix: Added `SystemMessagePinnedMessage` contentType 2023-05-02 17:00:54 -04:00
Boris Melnik df88984b45 feat(image-album): Display album of images in replies
Fixes: #9957
2023-05-02 11:24:48 +03:00
Igor Sirotin abf58b008f
fix(Pairing): Added installation info to pairing results (#10418) 2023-04-29 13:33:08 +03:00
Noelia 8ccd091ebc feat(CommunityPortal/StatusCommunityCard): Prepared `StatusCommunityCard` to display permissions row
- `StatusCommunityCard` updated with a new hearder component.
- `CommunitiesGridView` updated to use `CommunityPermissionsRow` component inside card.
- Added needed models.
- Updated storybook.

Pending backend integration: Part of task #10410
2023-04-27 16:10:20 +02:00
Noelia 3400f5e276 feat(CommunityPermissionsRow): Created new component
Permissions tags row created.

Closes #8018
2023-04-27 16:10:20 +02:00
Noelia 87fa7cfe5a feat(SQ/StatusRoundedImage): Added border
If border is specified, the image has the same margin as the border, so the component embeds a border around the image.
2023-04-27 16:10:20 +02:00
Lukáš Tinkl 9aebf588a1 fix: reduce Image cache
for everything that's not a user interface element, esp. for static/big
images or chat/message elements which get served from locally anyway from
status-go

Iterates #10339
2023-04-27 13:56:39 +02:00
Cuteivist 75d17b4a07
Fix/wallet small fixes (#10427)
* fix(wallet): back button #10374

* fix(wallet): Bottom bar missing #10394

* fix(Wallet): Remove WalletFooter flickering

* fix(@desktop/wallet): Added footer for section layout
2023-04-26 19:31:34 +02:00
Boris Melnik 22ee49c551 feat(edit-message): Edit image messages
Fixes: #10072
2023-04-26 14:47:03 +03:00
Lukáš Tinkl 7d6a2bae5f fix: community logo/banner edit icon fixes
- move the add/edit FAB icon to the topright corner as designed
- prepare UI changes for being able to delete banner/logo (missing impl
in status-go)

Fixes: #9680
2023-04-25 21:42:03 +02:00
Igor Sirotin 70e8370aae
fix(Makefile): Bugfixes and minor improvements (#10423) 2023-04-25 18:01:19 +03:00
Lukáš Tinkl 0009ebd68f fix: device sync timestamp is wrong
- prevent QML `int` overflow
- use `LocaleUtils.formatRelativeTimestamp()` to perform the timestamp
formatting

Fixes #10412
2023-04-25 13:24:17 +02:00
Lukáš Tinkl e170af5115 chore: use the "next" icon consistently
instead of variations of "chevron-*" and rotation
2023-04-25 13:24:17 +02:00
Khushboo Mehta c94997ddec feat(@desktop/wallet): Wallet -> Send: polish Send/Bridge Modals
fixes #10344, #10321, #10320
2023-04-24 22:07:22 +02:00
Lukáš Tinkl 1fa8dffe3a fix(StatusChatListItem): fix mute icon overlapping badges 2023-04-21 17:36:52 +02:00
Michał Cieślak fb60d019b6 chore(StatusItemDelegate): api extended, internals improved
Id removed from StatusBaseText used in default contentItem, what was
causing that default contentItem was instantiated even when overridden
by user. Radius and cursorShape properties exposed.
2023-04-21 10:26:00 +02:00
Lukáš Tinkl 038ab08765 fix: do not display ENS name when not ENS verified
- expose "isEnsVerified" as model role
- fix returning "ensName" when the user is not ensVerified
- react to nickname updates correctly
- fix sorting in the user/member list view
2023-04-21 00:24:32 +02:00
Lukáš Tinkl c209e7c282 fix(ActivityNotificationMessage): use ProfileUtils.displayName()
to compose the primary/secondary user names, just like we do in the
message views, or the Profile dialog
2023-04-21 00:24:32 +02:00
Stefan 691de11211 fix(Wallet) network selection and unify network implementations
Major changes:

- Don't allow empty network selection. End up using the nim model
  directly instead because of individual row changes issues
  encountered with nim models
- Made the clone model a generic implementation to be used in other
places where we need to clone a model: ReceiveModal,
AddEditSavedAddressPopup
- Use cloned model as alternative to NetworksExtraStoreProxy in
  ReceiveModal
- Added tristate support to our generic checkbox control
- UX improvements as per design
- Fix save address tests naming and zero address issue
- Various fixes

Notes:
- Failed to make NetworkSelectPopup follow ground-truth: show partially
  checked as user intention until the network is selected in the
  source model. Got stuck on nim models not being stable models and
  report wrong entry change when reset. Tried sorting and only updating
  changes without reset but it didn't work.
- Moved grouped property SingleSelectionInfo to its own file from
  an inline component after finding out that it fails to load on Linux
  with error "Cannot assign to property of unknown type: "*".".
  It works on MacOS as expected

Closes: #10119
2023-04-20 19:34:24 +02:00
Jonathan Rainville 2aa759adcf refactor(section-model): change model to be sorted to fix reorder
Part of #3364

To make the drag and drop reorder work correctly on channels, we needed to change the model again so that it was sorted in the model itself.
That is because the drag and drop gives us the value of the position it is dropped to as a single list, so dragging the second item of the second category would mean from position 5 to position to position 4, but what the backend wants is moving the item 2 to position 1.
Sorting the model enables us to get the category that is the parent of that position and call the service with the right positions and id.
It also enables us to reorder the channel in and out of the category.
See the module code to see how the calculation is done with an explanatory comment.
The model needed some changes to support that. Some of the function where changed from dataChange calls to resetModel calls, since we need to re-sort the model.
I tried using beginMove, but it would crash. Maybe there is a bug in NimQML or I used it badly, I'm not sure.
2023-04-19 12:26:15 -04:00
Alexandra Betouni f507e33cba feat(StatusChatList): adding drag n drop functionality
Closes #3364
2023-04-19 12:26:15 -04:00
Dario Gabriel Lipicar da1839fbbb feat(@desktop/wallet) reduce number of digits shown for large currency amounts
Fixes #8917
2023-04-18 10:11:18 -03:00
Lukáš Tinkl 7a5dbbd952 chore(StatusStickerButton): refactor to use StatusButton
- make it possible for StatusBaseButton to be icon-only (ie just icon, no
text, rounded if needed)
2023-04-18 13:45:38 +02:00
Igor Sirotin 56633f6ce3
fix(StatusQ): Remove debug postfix (#10337) 2023-04-18 13:35:23 +03:00
Igor Sirotin aefa2b9f48
fix(StatusQ): StatusQ is QML module (#10207)
* StatusQ QML module
* qzxing is static lib again
* updated StatusQ resources
* fixed Emoji lookup
* added display to tests-imports ci
2023-04-14 11:18:56 +03:00
Sale Djenic 06ba89661b chore(@desktop/wallet): object names added to wallet account related qml components 2023-04-13 19:51:10 +02:00
Lukáš Tinkl a8eed304c0 feat: implement ProfileShowcase settings
Implement the UI part of Profile/Settings/Showcase:

- Communities/Accounts/Collectibles/Assets tabs
- drag and drop of items between "hidden" and "in showcase" sections
- ability to set individual items' visibility
- persistency (showcase saved across restarts), not exposed yet due to
  missing backend API

Closes #9936
2023-04-12 11:39:37 +02:00
Lukáš Tinkl d180001f84 feat(StatusMenuItem): add support for "checked" indicator
- it is displayed on the trailing edge, next to the main text, iff the
item/action is `checked`
- fix the text elide (must have a width set)
- fix for setting the icon name/source/color if we directly use a
(Status)MenuItem (as opposed to going via (Status)Action)
2023-04-12 11:39:37 +02:00
Dario Gabriel Lipicar ed6ea5d90c feat(@desktop/wallet): add support for more NFTs media types
Fixes #9836
2023-04-11 12:40:38 -03:00
Noelia 7882147eaf feat(SQ/StatusItemDelegate): Added property to customize text horizontal alignment
Added property `textHorizontalAligment` to customize text horizontal alignment
2023-04-11 16:19:30 +02:00
Patryk Osmaczko f9250e7dd4 feat(storybook): add ChatAnchorButtonsPanel
iterates: #9069
2023-04-11 13:35:04 +02:00
Lukáš Tinkl 19e7c42cc2 chore: extract input cursor delegate into StatusCursorDelegate
- unified UI/UX; no code changes, just reduces code duplication
- use the correct OS/platform blink interval with
  `Qt.styleHints.cursorFlashTime`
2023-04-07 20:40:56 +02:00
Alexandra Betouni e35086f448 [StatusChatList]: added marks indicating unread msg and mentions
Closes #8265
2023-04-07 17:21:11 +03:00
Boris Melnik cbdc3e61b5 fix(images): Display image placeholder when image from album not loaded
Fixes: #9990
2023-04-07 15:42:12 +03:00
Alex Jbanca 731846c54c fix(StatusPasswordInput): Fix background image and content colors 2023-04-05 22:14:03 +03:00
Dario Gabriel Lipicar 6d7fda53f6 fix(@desktop): only allow dot as decimal separator for user input
Fixes #10125
2023-04-05 11:11:36 -03:00
Alexandra Betouni 840b9986dc fix(MembersListSelectro): tag item should be removed only when x is clicked
Closes #8259
2023-04-05 15:30:04 +03:00
Michał Cieślak 8dafdfceb8 feat(CommunityPermissions): Switch to enable/disable 'Who holds' section
Closes: #8498
2023-04-05 11:46:20 +02:00
Michał Cieślak 43196d9e31 feat(StatusGroupBox): Use StatusIcon to gray out label when disabled 2023-04-05 11:46:20 +02:00
Lukáš Tinkl c964e99b0c chore: make it possible to customize/remove the back button 2023-04-04 13:54:39 +02:00
Lukáš Tinkl 3252eaf340 fix: Excessive vertical spacing between subtitle and standard colour selector in all colour selectors
- use spacing as designed in Figma
- re-use StatusColorSelectorGrid title label component (not leaving extra
space behind whern empty)
- always use white text for the color previews (our color palette/picker
are designed for this)
- give Channel color dialog a title (as designed)
- use BE spelling (as designed, and to be consistent with the rest of the app)

Fixes: #9841
2023-04-04 11:32:55 +02:00
Lukáš Tinkl 7523b1a62b fix: draw the inner radio indicator border
... as designed/intended in Figma

plus fix a TODO, use HoverHandler instead of a MouseArea to chaneg the
mouse cursor shape
2023-04-04 11:32:55 +02:00
Lukáš Tinkl 0ebc5e4194 fix(StatusPasswordInput): enable mouse interaction
enables selecting text with mouse

Fixes: #9837
2023-04-03 21:24:46 +02:00
Sale Djenic ea53fce030 feat(@desktop/wallet): edit account reusing new "Add Account" popup
Closes: #9847
2023-04-03 14:13:53 +02:00
Sale Djenic d8b1e47984 feat(@desktop/wallet): right click context menu added for wallet accounts
Handled options from the context menu for wallet accounts:
- Copy address
- Add new account
- Add watch-only account
2023-04-03 14:13:53 +02:00
Stefan 81c3463816 feat(wallet): implement DerivationPathInput control
The enforcing of the derivation path editing rules is done in a structured
way by handling all the changes on the array of `Element` stored in
d.elements and then recomposing the HTML string to be displayed after
every change.

Main limitation is the workaround in `onTextChanged` that regenerates
the text in order to dismiss foreign characters introduced by pasting
which I couldn't find a way to disable without disabling also the ability
to copy content to clipboard.

Highlights:
- Implement DerivationPathInput control that intercepts the modifiable
keyboard events in order to edit the visible TextEdit.text while
respecting the requirements of the derivation path editing
- Implement a JS Controller that handles the logic of the
  decomposing and recomposing the derivation path string
- Add anew StatusQ with the TextEdit basic look and feel to be used
  in DerivationPathInput control without duplicating the style
- Allow passing modifiable events that are not generating characters in
  order to allow copy to clipboard
- Disable add account when control is in error state
- Limit to maximum 5 elements in the derivation path

Testing:
- Integrate the control with StoryBook for a quick preview of the
  control
- Add unit tests for the Controller basic functionality and regression
  for the main control Item
- Removed forcing x64 architecture on apple arm64 hardware from the
  storybook build configuration

Note: initially the implementation was suppose to be simple parse the
derivation path string edit elements and format it. However, I could not
find a quick way fix the circular dependency issue between editing the
text and reformatting it. The solution was to use a one way from the
structured data to the formatted string which complicates the
implementation logic.

Closes: #9890
2023-03-31 18:14:50 +04:00
Boris Melnik 3566d64f39 fix(images): Wrap text in image message
Fixes: #10044
2023-03-31 13:36:51 +03:00
Jonathan Rainville 0424715810 fix(edit): fix edit message not sending mentions correctly
Fixes #10074
2023-03-30 15:51:23 -04:00
Igor Sirotin 14c264e350
feature(Syncing): Embed QR code scanner for syncing devices on onboarding (#9981)
* fix(StatusQrCodeScanner): Improve QR code scanner
- Almost async loading
- Added camera selector
- Added `captureRectangle` property
- Add component info to sandbox qr code scanner page
- Embed QrCodeScanner into desktop app
* Compile and link qzxing as shared library
* Hardcode settingCurrentNetwork. Propagate inputConnectionString errors.
* Added qzxing libdir to e2e tests ld_library_path
2023-03-30 20:57:18 +03:00
Lukáš Tinkl 40e4a3670f fix: StatusComboBox doesn't react on click outside indicator
Redirect the click event and let the CustomComboItem fill the whole
`contentItem` (otherwise a Button over another Button eats all the mouse
events)

Fixes: #9977
2023-03-29 17:18:07 +02:00
Michał Cieślak 27c891fc18 feat(communities): AirdropTokensSelector component added
Closes: #9798
2023-03-29 14:25:46 +02:00
Michał Cieślak 2dc9c950d9 fix(StatusFlowSelector): minor adjustments to the design 2023-03-29 14:25:46 +02:00
Anthony Laibe 063198fc1f feat(@wallet): do not change value of symbol
fixes #9201
2023-03-29 10:14:08 +02:00
Sale Djenic 223e4f1bc2 feat(@desktop/wallet): new "Add Account" modal added
Closes: #9733
2023-03-28 18:09:39 +02:00
Sale Djenic 388fab4a4a feat(StatusQ.Components): `StatusPageIndicator` component introduced
Added `StatusPageIndicator` component which displays buttons in a row,
representing pages from the set range.

Corresponding page in API Documentation added.
2023-03-28 18:09:39 +02:00
MishkaRogachev 1f54d96f5f feat(Chat): Disable chat actions for non-contacts 2023-03-28 11:05:07 -04:00
Alex Jbanca 75571c9f22 fix(StatusItemsSelector): Allow icons to be provided by the model
Fixing https://github.com/status-im/status-desktop/issues/9766
The main change is that the model will now provide the image type, on top of the image source. The image type can be either icon or image. Icons will be coloured with the same colour as the text.
2023-03-28 12:46:20 +03:00
Alex Jbanca 2142a6bf9c fix(ActivitiCenterTolltip): Position tooltip arrow in the middle of the button 2023-03-27 14:19:43 +03:00
Khushboo Mehta 5b3a115f55 fix(@desktop/wallet): Loading screen after adding account
1. Removing logic for loading to nim
2. Handling error state for asset view also on the nim side

fixes #9648
2023-03-24 17:09:09 +01:00
Boris Melnik 30b4d9eb5c fix(chat): Sent images with text correctly
Fixes: #9564 #6374
2023-03-24 14:33:17 +03:00
Noelia e751f8c658 feat(SQ/StatusDialogFooter): Added new property spacing
Added new property spacing, between buttons.
2023-03-24 12:08:00 +01:00
Khushboo Mehta 072537f61a feat(@desktop/wallet): Implement connection error screens
fixes #9835
2023-03-23 15:26:22 +01:00
Jakub Sokołowski f39dfa87f7 move qzxing and SortFilterProxyModel to vendor folder
Lets avoid creating chaos by having multiple vendor folders.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-23 12:09:19 +01:00
Alex Jbanca f18ceff600 fix(StatusInput): forward focus to the input component 2023-03-23 12:24:05 +02:00
Alex Jbanca ad8ce70e09 fix(StatusBaseInput): forward focus to the input component and send signals on Enter/Return pressed 2023-03-23 12:24:05 +02:00
Noelia c6517c00f3 feat(SQ/StatusEmojiAndColorComboBox): Created new component
Created new `StatusEmojiAndColorComboBox` component that behaves like a combobox but with specific content item and delegate look (emoji + color + text).
2023-03-23 08:24:45 +01:00
Noelia b4355f8003 feat(SQ/StatusComboBox): Added new variant
Added variants related to type and size.
2023-03-23 08:24:45 +01:00
Michał Cieślak 083bea0954 fix(CommunityNewPermissionView): proper color of icons in "Is allowed to" section
Closes: #9280
2023-03-22 14:57:58 +01:00
Lukáš Tinkl eecaa0c7b9 fix(StatusEmojiReactions): Text in own reactions has wrong color in dark mode
always use "white on blue"

Fixes #9944
2023-03-22 12:31:11 +01:00
Michał Cieślak bef14365aa chore(StatusItemSelector): Use StatusFlowSelector as a base component
Closes: #9851
2023-03-21 11:59:12 +01:00
Michał Cieślak 7df80bfa1c StatusQ: StatusFlowSelector added 2023-03-21 11:59:12 +01:00
Michał Cieślak 347da1e007 StatusGroupBox used as a base for StatusItemSelector 2023-03-21 11:59:12 +01:00
Michał Cieślak 840ebbe1eb feat(StatusQ): StatusGroupBox component added 2023-03-21 11:59:12 +01:00
Michał Cieślak 0db5790f76 chore(Storybook): StatusItemSelectorPage moved from Sandbox to Storybook 2023-03-21 11:59:12 +01:00
Igor Sirotin 0689a8f386
fix(Syncing): Fixed synced devices list UI bugs (#9929)
* Added online badge to device delegates
* Fixing device last timestamp processing
* Synced devices sorting - current device is always first
* Devices list scrolling fixes
* Fix device list duplication
* Hide online badge for "Synced device" subtitle
2023-03-21 16:10:06 +11:00
Lukáš Tinkl 8aa8b8b7ce fix(StatusTooltip): long text goes out of bounds
Fixes #9918
2023-03-17 12:23:40 +01:00
Lukáš Tinkl 411961aee7 fix: ‘Share community’ URL is unnecessarily ellipsed
- set the width on title/subtitle
- put the subtitle with its optional icon into a Row
- elide title/subtitle
- update Sandbox

Fixes #9701
2023-03-17 11:45:16 +01:00
Lukáš Tinkl 1998a6556a feat(Profile): New Social Links workflow
TLDR;
- all links visible in settings/popup
- persistent order of items
- drag'n'drop to reorder
- editing/deleting in a new popup
- several links of the same type

Needs changes in nimqml (to expose QAIM::begin/endMoveRows), in
DOtherSide (to expose those to NIM), in status-go (to preserve the links
order and fully save them to DB)

Fixes #9777
2023-03-16 16:08:23 +01:00
Igor Sirotin 33d38a4081 fix: Device syncing
- Added local pairing signals
- Remove slash ending from keystorePath
- Implemented localPairingState. Fixed sync new device workflow. 
- Error message view design update 
- Moved local pairing status to devices service
- ConnectionString automatic validation
- Async inputConnectionString
- Added all installation properties to model. Minor renaming.
- Removed emoji and color customization
- Show display name, colorhash and color in device being synced
- Add timeout to pairing server
- Add device type
Fix `DeviceSyncingView` sizing. Fix `inputConnectionString` async task slot.
2023-03-16 00:27:21 +13:00
Noelia 79a1a60c70 refactor(MintingToken): Navigations refactor
- It has been added a `StackView` in main mint tokens panel to easily switch back / forward between views.

- It has been created a SQ component `StackViewStatesManager` that allows a managing together a stackview and states.

- Updated `HoldingsDropdown` to use new stack states component
2023-03-14 16:06:27 +01:00
MishkaRogachev ab1393b7f0 fix(Chat): Show message's text for community invitation
Close #9812
2023-03-14 12:00:17 +05:30
Alexandra Betouni ef8860edbb fix(StatusChatList): fixed dnd uncategorized channels
Part of #3364
2023-03-10 19:40:04 +02:00
Dario Gabriel Lipicar 2fb158b810 fix(@desktop/wallet): fix send input for some locales
Fixes #9324
2023-03-09 10:59:51 -03:00
Lukáš Tinkl 5c0f1981ad feat: Profile Showcase: Proof of concept for own Profile Dialog
- the goal of this PR is to get some bsais UI building blocks done for
the followup PRs
- the order of showcase tabs now is:
Communities/Accounts/Collectibles/Assets
- there will be further changes to accomodate for different types of
backend models as those get developed (for other users' profiles)

Fixes #9664
2023-03-08 18:45:27 +01:00
Lukáš Tinkl 2204273a22 chore: don't let text overflow
set maximum line count + elide + visibility
2023-03-08 18:45:27 +01:00
Igor Sirotin 7c1c178d37
QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00