Commit Graph

2128 Commits

Author SHA1 Message Date
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
Anthony Laibe 542e5fdb6c feat(@wallet): remove usage of wallet section current 2023-04-27 11:58:27 +02: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
Anthony Laibe e6f88758dc feat(@wallet): wallet accounts module dedup
Second part of having profile section accounts
2023-04-25 14:56:20 +02:00
MishkaRogachev 2160b53e33 fix(ActivityCenter): Use ContactRequestId for accpeting and declining CRs from AC
Close #10127
2023-04-25 16:16:32 +04:00
Jonathan Rainville db6af0554a fix(chat-model): use setData to set the chat model
Fixes #10384

The problem was that doing the sort inside the insertRows messed up the model.
I removed it and it fixed the issues. However, it created an other issue with ordering.

The problem this time is that when populating the model at the start, we do not get the chats in order, so calculating the right position to insert a chat is difficult.

Instead, I use a setData function to just put all the chats in the items list, sort it and call it done, using the resetModel function.

I also did some clean ups.
2023-04-24 11:06:17 -04:00
Jonathan Rainville 435b08501b refactor(ChatContentView): only get contact details when 1-1 chat 2023-04-24 09:31:00 -04:00
Michał Cieślak 9fe3456e8f feat(Community/Airdrop): MembersDropdown
Closes: #9800
2023-04-21 11:53:11 +02:00
Patryk Osmaczko c867e8f98c fix(chat): wrap `contextMenu` and `chatInput` into Loader
Please note that this solution serves as a temporary workaround and
comes with variety of limitations, particulary concerning the chat
input state. For instance, the reply area is not retained when switching
between chats.
Ideally the root cause, which is the high memory consumption of both
`StatusChatInput` and `MessageContextMenuView`, should be fixed. Once
this issue is addressed, the current workaround can be reverted.

fixes: #10378
2023-04-21 11:38:36 +02:00
Michał Cieślak 1ce17ca3d4 feat(TokenPanel): Add support for amounts and network selection
Closes: #9797
2023-04-21 10:26:00 +02:00
Michał Cieślak ada4fdd407 feat(TokenItem): add possibility to display amount, storybook page added 2023-04-21 10:26:00 +02:00
Michał Cieślak b5ba4d1bf4 feat(Airdrops): InlineNetworksComboBox component added 2023-04-21 10:26:00 +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
Michał Cieślak 70a6327ad4 chore(TokenItem): component api simplified 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
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
Noelia 73b2ec2903 feat(Mint/Airdrop Collectible): Implement Airdrop footer option
It enables navigation from mint token page to airdrop page selecting a specific collectible to be airdropped.

It is now used `symbol` property as the identifier for a collectible but will be needed to update it to `key` once this key property is build in backend by hash(chainId + contractAddress).

Closes #10047
2023-04-20 11:57:29 +02:00
Alexandra Betouni f507e33cba feat(StatusChatList): adding drag n drop functionality
Closes #3364
2023-04-19 12:26:15 -04:00
Lukáš Tinkl 812c0e9705 fix: suggestions list displayed when mentioning, still searches by alias
explicitely leave out searching by the `alias` (3-word name); it's
already enabled as a fallback to `name`

Fixes #9738
2023-04-19 15:28:21 +02:00
Patryk Osmaczko 7f3a66b68d fix(chat): correct `isAdded` behavior
`isAdded` for specific chat was always reflecting the active chat
property, effectively causing the chat inputs of these chats to be
disabled and, as a consequence, making the input vanish.

fixes: https://github.com/status-im/status-desktop/pull/10343#issuecomment-1512825761
2023-04-19 11:13:01 +02:00
Patryk Osmaczko 36063f33f1 fix(chat): use proper section details data
It prevents `StatusChatInput::enabled` property to be changed when
switching sections, as a consequence the text is persisted.

fixes: #10286
2023-04-19 11:13:01 +02:00
Patryk Osmaczko ec7bd963e9 fix(chat): use loader for `ChatMessagesView` instead `ChatContentView`
fixes: #10285
2023-04-19 11:13:01 +02:00
Lukáš Tinkl e506bbfd6b fix(StatusStickerPackClickPopup): fix crash
the button to (un)install would be either greyed out or result in a crash:
- we were passing the popup a wrong store (w/o networkConnectionStore)
- the condition to `greyedOut` was inverted
2023-04-18 13:45:38 +02:00
Patryk Osmaczko e2697ae5aa feat(chat): implement jump to mention
closes: #9069
2023-04-17 18:53:42 +02:00
Michal Iskierko 7055a77a96 fix(@desktop/communities): Displaying toast messages when minting
Fix #9849
2023-04-17 15:11:35 +02:00
Noelia d5e5ba2796 fix(Mint/Airdrop tokens): Darkmode images
Updated images without background.

Closes #10299
2023-04-17 11:56:25 +02:00
Patryk Osmaczko 89efb1cd71 fix(chat): better integrate new messages marker with loading state
- new messages marker is reevaluated only if chat has unviewed messages
- loading state is reevaluated only when chat is made active, this fixes
  case described here:
https://github.com/status-im/status-desktop/pull/10151#discussion_r1158702638

fixes: #10275
2023-04-14 19:38:45 +02: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
Michał Cieślak c38e0701d5 fix(Settings): Spacing updated according to the design 2023-04-13 10:50:40 +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
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 99a9f2ace0 feat(MintToken): Self destruct flow integration
- Enabled self destruct option.
- Added self destruct flow.
- Created needed methods in CommunityTokensStore.

Closes #10051
2023-04-11 16:19:30 +02:00
Noelia 54582db3a6 feat(MintToken): Created self destruct alert popup
Created self destruct alert popup.

Part of #10051
2023-04-11 16:19:30 +02:00
Noelia 7a77748d32 feat(MintToken): Created remote self destruct popup
Created remote self destruct popup.

Part of #10051

remoteselfpopu
2023-04-11 16:19:30 +02:00
Noelia dbf05f4a58 feat(MintTokens): Holders panel updates
Added selector mode that contains a combobox and checkbox.

Part of #10051
2023-04-11 16:19:30 +02:00
Jonathan Rainville fe64d0eb04 fix(mentions): fix @everyone inserting incorrectly sometimes
Fixes #10212

The problem was that we were detecting that the name was empty string and comparing to another empty string and inserting that, which is incorrect.

There was also a problem with the detection of the name being completely written. onKeyPressed didn't take into account the new letter added, onKeyReleased does.
2023-04-11 09:30:20 -04:00
Patryk Osmaczko f9250e7dd4 feat(storybook): add ChatAnchorButtonsPanel
iterates: #9069
2023-04-11 13:35:04 +02:00
Alexandra Betouni 620cad159a [StartChat]: fixed text input scroll
Closes #9885
2023-04-11 12:39:11 +03:00
Alex Jbanca fb86d8745c fix(MintTokensPanel): Update input fields validation
Closing: https://github.com/status-im/status-desktop/issues/9850
Password: 7 characters max, ascii printable characters
Name and description: ascii characters
2023-04-11 11:18:41 +03: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
Patryk Osmaczko 65415ef34b fix(chat): load as much messages as view requires
fixes: #10221
2023-04-07 16:26:26 +02:00
Patryk Osmaczko 3e3c9e7bdf fix(chat): use `scrollTo` mechanism for `firstUnseenMessage`
- it ensures enough messages are loaded when `firstUnseenMessage` is not
  within the range of initially loaded messages

fixes: #10197
2023-04-07 16:26:26 +02: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 23f493f251 fix(MembershipRequests): Remove MembershipRequestsPopup and set-up the navigation to CommunityMembersSettingsPanel
Part of https://github.com/status-im/status-desktop/issues/9912
2023-04-07 11:21:34 +03:00
Alex Jbanca 5ec4360d8c fix(ChatMessagesView): Fixing scroll to message
Closing: https://github.com/status-im/status-desktop/issues/10131
2023-04-07 06:23:15 +03:00
Alex Jbanca 79ea3e7d66 fix(CommunityMembersSettings): Add member context menu + fix user click action
Part of https://github.com/status-im/status-desktop/issues/9912
2023-04-07 06:21:13 +03:00
Khushboo Mehta 2501520dda fix(@desktop/wallet): Handle errors in ENS and stickers views. Disbale action and show tooltip.
fixes #8597, #10034
2023-04-05 19:05:54 +02:00
Michał Cieślak 9f3d3514af fix(CommunityPermissionsSettingsPanel): fixing duplicates detection and permission updating
It's integral part of
https://github.com/status-im/status-desktop/pull/10166 but not pushed
together by mistake.
2023-04-05 16:43:12 +02:00
Patryk Osmaczko 9419c9acaf fix(chat): mark messages as read only if all messages have been viewed
fixes: #10150
2023-04-05 10:40:08 -04: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
Michal Iskierko 4ceeb905dc fix(@desktop/communities): Compute deployment fees in async way.
Improve showing errors when estimating fees.

Fix #10035
2023-04-05 12:42:02 +02:00
Michał Cieślak 8dafdfceb8 feat(CommunityPermissions): Switch to enable/disable 'Who holds' section
Closes: #8498
2023-04-05 11:46:20 +02:00
Lukáš Tinkl bef6092652 fix: Edit Community / Community Color selector dialogue does not need the back button
Fixes: #9790
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 cde9f810e6 fix(CreateCategoryPopup): move the delete button into footer
Adjust according to Figma design
- the asset size should be 40x40
- fix the listview's horizontal alignment
- fix the confirmation dialog(s!) title

Fixes #9887
2023-04-04 11:30:18 +02:00
Michał Cieślak 6768f62451 feat(Airdrops): Component for selecting recipient addresses and members
Closes: #9799
2023-04-04 09:56:47 +02:00
Alex Jbanca 5dc60f5782 fix(JoinCommunityView): Change Reveal Address button icon based on auth type 2023-04-01 08:33:06 +03:00
mprakhov f0d57d19cf fix(@desktop/messages): show reply header if we send image 2023-03-30 16:49:09 +02:00
Noelia 6752d274e1 fix(MintToken): Initial item updated according to `tokenModel` changes
Updated stackview with the corresponding initial item  when `tokenModel` changes.
2023-03-29 15:37:02 +02:00
Noelia 3db1ce70d1 fix(MintToken): Fixed `deployState` property binding
Created `instantiator` object as a mediator to establish appropriate binding between property model and `CommunityCollectibleView`

Closes #10013
2023-03-29 15:37:02 +02:00
Michał Cieślak 27c891fc18 feat(communities): AirdropTokensSelector component added
Closes: #9798
2023-03-29 14:25:46 +02:00
mprakhov b580f0a810 feat:(@desktop/channels): loading state when switching channels/chats 2023-03-28 13:12:58 -04:00
MishkaRogachev 8eba843a5e fix(Chat): Fix pin popup and actions for communities and group chats 2023-03-28 11:05:07 -04:00
MishkaRogachev 4d4ec22ba6 feat(Chat): Disable unpin action for PinnedMessagesPopup 2023-03-28 11:05:07 -04:00
MishkaRogachev 1f54d96f5f feat(Chat): Disable chat actions for non-contacts 2023-03-28 11:05:07 -04:00
MishkaRogachev ad4838e4f8 feat(Chat): Disable sending messages for non contacts
Close #9899
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 17834ecbc1 fix(MintTokens): Use localised amount for total supply
Fixing: https://github.com/status-im/status-desktop/issues/9763
Changes:
1. Use int to pass around the supply amount from one component to another
2. Transform the supply amount to localised string when it is displayed to the user.
2023-03-28 12:17:02 +03:00
Michal Iskierko c8aefe4e66 feat(@desktop/communities): Airdrop community tokens
Issue #9783
2023-03-27 19:43:10 +02:00
Jonathan Rainville caebc9b93f fix(community-members): fix pending request buttons + updates
Fixes #9973

The buttons didn't work because we weren't using the right model + the section model didn't expose the PendingMemberRequestsModel.
I also fixed the service to update the community correctly and send the event. It should feel snappy-er to approve someone now.
2023-03-27 11:17:34 -04:00
Michal Iskierko d759bda81d fix(@desktop/communities): Computing fees in ETH and USD for Sign Transaction dialog
Issue #10007
2023-03-27 16:25:49 +02:00
Alex Jbanca 2142a6bf9c fix(ActivitiCenterTolltip): Position tooltip arrow in the middle of the button 2023-03-27 14:19:43 +03:00
Pascal Precht 81d4ea05e9 fix(communities): only require auth for token gated communities
There's a bug that all requests to join a community require the user to
authenticate themselves. This should only be needed for community that
are token permissioned.

This commit fixes it by only performing auth when requesting from the
tokengated community view.

Fixes #10010
2023-03-24 15:22:47 -04:00
Jonathan Rainville 9d0e14b680 refactor(chats): separate calls to getChats for each section
Fixes #9858
2023-03-24 13:05:19 -04:00
Lukáš Tinkl c65de87ad0 fix: unbreak displaying community invitation bubble
it would fail to fetch the community info due to the undefined variable
name
2023-03-24 17:53:06 +01:00
Michał Cieślak 2f3392c7d5 feat(HoldingsDropdown): Open list of all tokens by default when no own/community tokens 2023-03-24 16:09:01 +01:00
Michał Cieślak 5b9017757f feat(HoldingsDropdown): All listed assets / collectibles submenu
Closes: #9263
2023-03-24 16:09:01 +01:00
Noelia b3af519476 feat(HoldingsDropdown): Enable navigation to mint tokens settings section
It enables navigation from holdings dropdown to mint tokens settings view.
2023-03-24 14:22:56 +01:00
Noelia 575ee6a226 feat(HoldingsDropdown): Added no data information message
- Added default no data information message for assets and collectibles.
- Added specific no data information message for airdrop functionality.
- Hidden searcher when there is no data available.

Part of #9938
2023-03-24 14:22:56 +01:00
Noelia a6e29ebc03 feat(Airdrop): Show only collectibles in holdings dropdown
Hide Assets tab in HoldingsDropdown until we can airdrop also assets.

Closes #9938
2023-03-24 14:22:56 +01:00
Noelia e36270c844 feat(HoldingsDropdown): Added property `isCollectiblesOnly`
- Added property that allows to switch the holdings dropdown to only be used in collectibles mode.
- Updated storybook accordingly.

Part of #9938
2023-03-24 14:22:56 +01:00
Boris Melnik 30b4d9eb5c fix(chat): Sent images with text correctly
Fixes: #9564 #6374
2023-03-24 14:33:17 +03:00
Noelia 6c3d5c3ab5 fix(MintTokens): Remote Self Desctruct property fix
Remote self destruct property was not rendered properly when minted item was selected.
2023-03-24 12:08:00 +01:00
Noelia 051fc625a2 feat(MintCollectibles): Add sign transaction dialog in minting creation flow
It integrates sign mint transaction dialog in mint collectibles flow.
Mocked fee data, it still needs backend integration.

Closes #9802
2023-03-24 12:08:00 +01:00
Noelia 6bd8a18d93 feat(MintToken): Created sign mint token transaction popup
New popup created.

Part of #9802.
2023-03-24 12:08:00 +01:00
Alex Jbanca d24d233615 fix(JoinCommunityView): Enable activity centre and disable start chat button 2023-03-24 10:41:34 +02:00
Michal Iskierko ec6d35a6bd fix(@desktop/communities): Fix transferable and self destruct token parameters
Fix #10000
2023-03-23 18:30:18 +01:00
mprakhov 21d2c00b40 feat(@desktop/chats): Keep only last 5 chats/channels in the memory 2023-03-23 17:41:24 +01:00
Boris Melnik c8ef6bcd9c fix(MembersSelectorView): Change paste event to parsing text for lookup contacts
Fixes: #9881
2023-03-23 19:16:22 +03:00
Pascal Precht 054ad18532 feat: add authentication modal to join commmunity view
Users that request access to community that are token permissioned
need to authenticate and enter their password, so they can reveal
their wallet addresses
2023-03-23 14:28:31 +01:00
Pascal Precht 5e965bcbb7 refactor: make accepting member requests to join async
This is necessary because with community token permissions, when owners
manually accept a request, we a) don't want to block the UI when the
users funds are check on chain and b) in case of insufficient funds,
we'll react with a modal that tells the owner that the user can't be
accepted.

All of that is done in this commit.
2023-03-23 14:11:04 +01:00
Alex Jbanca ee5e72b088 fix(HoldingsDropdown): Add basic focus management and keyboard support
Closing #9967

When Holdings dropdown is open, activate focus to searcher in assets and collectibles. Changes focus to ENS input in case ENS tab is active.
In Holdings dropdown, when ENS tab is active and Add button is enabled, pressing enter key should behave same than clicking on the button itself.
In Holdings dropdown, when one asset or collectible has been selected, activate focus in the amount input, then when Add button is enabled, pressing enter key should behave same than clicking on the button itself.
2023-03-23 12:24:05 +02:00
Alex Jbanca 7e9e3ee252 fix(HoldingsDropdown): Implement dynamic height 2023-03-23 09:29:19 +02:00
Noelia 66c32395fd feat(MintToken): Disabled token holders panel until backend ready
Disabled token holders panel until backend ready - Milestone 12
2023-03-23 08:24:45 +01:00
Noelia f691c85127 feat(MintToken) Add select wallet account option
- Added accounts selector in `Create new token` page.
- Added account name box in `Preview` page.
- Updated `storybook` with new account data.
- Updated `deployCollectible` method call account address property.

Closes #9842
2023-03-23 08:24:45 +01:00
Noelia 87f42e6074 fix(MintToken): Preview dark mode boxes color
Fixed dark mode boxes color in collectibles preview.
2023-03-23 08:24:45 +01:00
Jonathan Rainville fee9b31a88 chore(Community): remove unused popups 2023-03-22 15:13:19 -04:00
Michał Cieślak d219d32b72 feat(CommunityPermissions): Limit of 5 permissions for "Become member" permission type
Closes: #9536
2023-03-22 14:57:58 +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
mprakhov 8d955265dc fix(@desktop/sections): do not unload chat and communities sections during the switching between the sections 2023-03-21 16:44:40 +01:00
Pascal Precht cc1a89efef fix(JoinCommunityView): update amIMember state when kicked and joined
Also add handlers to JoinCommunityView for requesting and cancelling
requests. These will be extended in follow up commits to included
authentication modals
2023-03-21 12:16:53 +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 4e3263fddd chore(PermissionsDropdown): Temporarily hide channel-level permissions from the dropdown
Closes: #9537
2023-03-20 23:13:52 +01:00
Alex Jbanca 240fbfab60 fix(CommunityPermissionsSettingsPanel): Fix height and width for permissions views
Fixing: https://github.com/status-im/status-desktop/issues/9765
2023-03-20 10:55:05 +02:00
Pascal Precht 2ca8fd04e2 fix: apply proxy model to collectiblesModel
This is needed to render commnity NFT artwork
2023-03-17 13:59:13 +01:00
Noelia b8b6f36bd9 feat(Airdrop): Added welcome page and basic view to create airdrop
- Added basic navigation.
- Added welcome page.
- Added temporal basic create airdrop page.

Closes #9796
2023-03-17 13:12:08 +01:00
Noelia 3feddd892b fix(MintToken): Fix network property
enabledNetwork property now point to the corresponding data
2023-03-17 13:12:08 +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
mprakhov 494ab84fe1 fix(@desktop/chats): Always show message header in the private group chats after sestem message 2023-03-16 14:46:18 +01:00
Boris Melnik c7e99365a1 fix(contacts): Block unlimited counts of request contacts from create chat view
Fixes: #9485
2023-03-16 16:12:06 +03:00
Michal Iskierko 1c53d1e9b9 fix(@desktop/communities): Chain details (name, icon) are taken from model.
Introduce TokenItem struct.
TokenModel keeps TokenItems.
TokenItem keeps CommunityTokenDto and chain details.
Chain details are taken from networks service.

Fix #9867
2023-03-16 11:46:39 +01:00
Magnus e19f0aa7f7 test(tst_communityPermissions): permissions setting is available
new scenario
2023-03-16 09:20:36 +01:00
Noelia e8b1dad80f feat(MintTokens): Added list of collectibles view
Added list of collectibles view.

Closes #8736
2023-03-14 16:06:27 +01: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
Noelia c7f18978de chore(MintingToken): Refactor access to stores in minting components
- Refactored minting components store access, since some panels were accessing stores directly. Now `CommunitySettingsView` is the single place where stores are accessed.
- Renamed store `CommunitesStore` to `CommunityTokensStore` for handling minting / airdrop actions / request models.
- `NetworkFilter` refactored to prevent direct access to store inside the component.

Closes #9663
2023-03-14 16:06:27 +01:00
Alexandra Betouni db7256fd1a fix(StatusChatInput): fixed input loses focus when switching chats
Closes #9542
2023-03-10 20:07:59 +02:00
Pascal Precht 25b0641cc2 feat: introduce first JoinCommunityView for token-gated communities
This does a few things:

- It integrates with the latest `CommunityTokensMetadata` to access
  community specific ERC721 token
- It changes `ChatLayout` such that it conditionally loads either
  `ChatView` or `JoinCommunityView`. `JoinCommunityView` has been
  specifically designed for token-gated communities

Here's what works (in terms of token permissions):

1. If a community has token permissions and the the current users is not
   a member of that community, we show `JoinCommunityView` instead of
   `ChatView`
2. Any community token permissions of type "Become member" are listed in
   the `JoinCommunityView`
3. There are different types of token critera a permission can have:
   ERC20 token, ERC721 token, or ENS (which is also ERC721 but we have
   a type for that nonetheless)

   Only ERC20 token balances are checked for the known wallet accounts.
   This happens every time the known token list has been updated (every
   10 min atm).

   We still need to add balance checks for any ERC721 tokens and ENS.
4. If token permissions are created, updated or deleted by the community
   owner, the `JoinCommunityView` will update in real-time.

You'll also notice that the `Reveal my address and request access`
button will be enabled if any of the token permissions are fulfilled
(only ERC20 at the time being). Clicking that button will not yet send
a request.

This will be done in the next step as part of https://github.com/status-im/status-desktop/issues/9761
2023-03-09 16:35:06 +01:00
Michal Iskierko 8f3a965a49 fix(@desktop/communities): Rename minting module
Issue #9817
2023-03-09 16:34:55 +01:00
Michał Cieślak ab523ee19f fix(CommunityPermissions): Temporary solution for assets icons
Closes: #9613
2023-03-09 14:16:36 +01: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 3fd196323e chore: silence warnings 2023-03-08 18:45:27 +01:00
Michal Iskierko 2ac1216b68 fix(@desktop/communities): Fix community tokens model
Fix #9781
2023-03-08 13:36:41 +01:00
Michał Cieślak 0e92b69bc5 chore(CommunityPermissions): fixed warnings introduced during integration with backend 2023-03-08 12:02:55 +01:00
Michał Cieślak d813cc12b8 chore(CommunityPermissions): refactor access to stores in CP components
So far CP components (views, panels) were accessing stores directly.
Now `CommunitySettingsView` is a single place where stores are accessed.
Other components no longer depend on stores.

Moreover:
- dedicated store `PermissionsStore` created for handling permissions
  in a single, separated place
- storybook pages fixed

Closes: #9784
2023-03-08 12:02:55 +01:00
Pascal Precht 48c322cbe4 refactor(ChatLayout): expose emoji and sticker popup properties and signals
Prior to this change `ChatLayout` exposed `chatView` which let other
components access it, its properties and signals.

This is problematic as we need to be able to swap out the `ChatView`
with the `JoinCommunityView` for token gated communities, in which case
there won't be an instance of `chatView`.

This commit ensures that we rely purely on inputs and outputs of the
component, without exposing the component instance itself.
2023-03-07 18:16:42 +01:00
Noelia 02cf07044d feat(MintToken): Created Preview collectible page
- Added navigation between pages.
- Added main layout and properties (some backend integration still pending).
- Added holders model with mocked data.
- Added mint tokens footer component.

Closes #8734 and #8737
2023-03-07 13:24:45 +01:00
mprakhov cb924053c6 fix(@desktop/channels): allow capitals in channel name 2023-03-07 13:16:00 +01:00
Michal Iskierko 5722f67964 fix(@desktop/communities): Handling community token image
Handle image correctly and show in testing UI.
Improve fees for deployment.
Handle CommunityTokenMetadata in community structure.
2023-03-07 10:04:12 +01:00
Michał Cieślak a2a1da801c chore(CommunityPermissions): Use key role name for referencing channels 2023-03-06 17:36:36 +01:00
Michał Cieślak 480c249ee0 chore(CommunityPermissions): Refactor channels handling
Community permissions model refers to channels by id instead of
taking/serving all details. UI fetches necessary metadata form
appropriate channels model.

Closes: #9588
2023-03-06 17:36:36 +01:00
Jonathan Rainville 40a157a5af fix(test): fix create category test 2023-03-03 16:14:38 -05:00
Michał Cieślak 702d355e89 chore(InDropdown): Adapt to flattened model for channels
Closes: #9591
2023-03-03 16:51:45 +01:00
Pascal Precht e4b8814bfa feat(Communities): allow for creating community permissions
This commit is the first of implementing community permissions.
**It is not implementing the complete feature**, rather does it
introduce the first pieces, such that we can get code reviewed and
merged before it grows too big.

To review these features, please make sure to

1. Enable wallet (Settings -> Advanced -> Wallet toggle)
2. Enable community permissions (Settings -> Advanced -> Community
   Permissions toggle)

You'll have to restart the app after doing so.

The commit introduces the following:

**UI, API calls and view models to CRUD community permissions**

After creating a community, the user can go to the community
settings and create new token permissions. The user can also update
and delete existing permissions.

**Asset and collectible view models**

To create community token permissions, users have to select
the token criteria. This commit introduces the `assetsModel` for ERC20
tokens and `collectiblesModel` for `ERC721` tokens.

The latter only supports custom minted community tokens at this point.

**This commit requires:** https://github.com/status-im/status-go/pull/3207
2023-03-03 10:22:32 +01:00
Jonathan Rainville 5352ba8c6f refactor(chat-model): simplify chat model and put category as an Item
Fixes #9494
2023-02-28 11:58:40 -05:00
Noelia db3be56d42 feat(MintTokens): Create new collectible screen
Created new form screen for minting collectibles.

Closes #8733
2023-02-28 14:17:47 +01:00
Michal Iskierko 147288b47b feat(@desktop/community): Saving community tokens in database
Model with community tokens was moved to section_item - every section has its own model.
Every deployed smart contract is saved to database with "In Progress" state.
The app listenes to deployed transaction and updates contract state in database to "Failed" or "Deployed".
Corresponding model is updated.

Issue #9233
2023-02-27 11:01:35 +01:00
Alexandra Betouni 7c87bc8987 fix(scrollview instances): fixed dropdown&popup height
Fixes InDropdown & OutgoingContactVerificationRequestPopup
2023-02-23 20:52:29 +02:00
Michał Cieślak ad006cf105 fix(CommunityTokenPermissionsPopup): required models provided, storybook page fixed 2023-02-23 11:51:30 +01:00
Michał Cieślak e352dcfc11 chore(CommunityPermission): Use typed properties for CommunitiesStore
Additionally, pass assets/collectibles models to HoldingsDropdown
directly instead of store to reduce dependency.
2023-02-23 11:51:30 +01:00
Michał Cieślak 9693e19ba5 fix(CommunityPermissions): Adjust store API to not take models as parameters, move conversion to the caller
Closes: #9611
2023-02-22 18:27:19 +01:00
Michał Cieślak 34676d0ec7 fix(CommunityPermissions): clean warnings by preventing assigning when some roles doesn't exist
Closes: #9608
2023-02-22 14:43:40 +01:00
Michał Cieślak 1e7e2084a7 fix(CommunityNewPermissionView): Use only key/amount to compare holdings when tracking duplicates 2023-02-22 14:43:40 +01:00
Lukáš Tinkl 79645b53ce fix: truncation of channel description and pinned message text
The chat title/subtitle no longer bleed into the action buttons

- handle long texts in chat description, elide them and show the whole
text in a tooltip
- minor UI fixes in ChatHeaderContentView and StatusToolBar
- adjust Sandbox' Controls page

Fixes #9583
2023-02-21 16:53:06 +02:00
Noelia 852a826126 fix(CommunityPermissions): Update initial page dark mode image
Closes #8497
2023-02-21 08:46:52 +01:00
Michał Cieślak e2811fa290 feat(CommunityPermissions): Handle update/remove by permission's key instead of index 2023-02-20 22:54:43 +01:00
Michał Cieślak 03e1636cff feat(StatusQ): Add cpp model utils to allow handling ListModel and generic QAbstractItemModel uniformly
Closes: #9562
2023-02-20 22:25:56 +01:00
Michał Cieślak c23f4e173e fix(CommunityPermissions): Typos corrected 2023-02-20 18:40:59 +01:00
Michał Cieślak f6ac937dfd fix(CommunityPermissions): Warning regarding color assignment fixed 2023-02-20 18:40:59 +01:00
Michał Cieślak d025f17e2a feat(CommunityPermissions): Check if form filled completely when
updating

Closes: #9388
2023-02-20 18:40:59 +01:00
Michał Cieślak a97c8a720e feat(CommunityPermissions): Implement duplication checking
Moreover:
- adapt flow to the design
- introduce ModelChangeTracker utility component

Closes: #9048
2023-02-20 18:40:59 +01:00
Michał Cieślak c78eaef2b6 chore(CommunityPermissions): Permissions model and backend API simplified, separation of concerns improved 2023-02-20 18:40:59 +01:00
Michał Cieślak 9757002c7d chore(CommunityPermissions): Permissions model & backend API simplified, dirty state handling simplified
Additionally, permission types metadata excluded to PermissionTypes
singleton component, PermissionsDropdown simplified by using inline
components.
2023-02-20 18:40:59 +01:00
Michał Cieślak 7388bbfef3 chore(CommunityPermissionsView): component api unified and simplified 2023-02-20 18:40:59 +01:00
Michał Cieślak 0af9c27910 chore(CommunityNewPermissionView): simplified by introducing ModelsComparator component for tracking dirty state
Closes: #8830
2023-02-20 18:40:59 +01:00
Michał Cieślak 9f884605cb chore(CommunityNewPermissionView): Operations on models excluded to ModelUtils singleton 2023-02-20 18:40:59 +01:00
Michał Cieślak fb19385438 chore(CommunityNewPermissionView): refactor to improve separation of concerns, create/save actions moved up 2023-02-20 18:40:59 +01:00
Michał Cieślak 3a3d1657f0 chore(CommunityNewPermissionView): exclude subcomponent HidePermissionPanel 2023-02-20 18:40:59 +01:00
Michał Cieślak 9a0c682ca4 chore(CommunityNewPermissionView): Simplify dirty values handling, extend Storybook page 2023-02-20 18:40:59 +01:00
Michał Cieślak 411c2a0aab chore(CommunityNewPermissionView): refactor save/reset changes handlers 2023-02-20 18:40:59 +01:00
Noelia c1e3050d06 feat(MintingTokens): Created welcome view
- Created minting tokens welcome view.
- Added basic navigations.

Closes #8732
2023-02-20 12:06:22 +01:00
Noelia 8e9ae308d5 fix(qmlWarnings): Fixed minting module related warnings
Fixed minting module related warnings
2023-02-20 12:06:22 +01:00
Noelia 17fc999ca0 feat(CommunitySettings): Created base welcome settings view
- Component parametrised and renamed to `CommunityWelcomeSettingsView`. It will be the base class for some of the community settings functionalities.
- Updated `CommunityPermissionsSettingsPanel` to use the new welcome screen class.
2023-02-20 12:06:22 +01:00
MishkaRogachev b70e1f0fb4 feat(ActivityCenter): Add indication for visited/unvisited AC state
Close #347
2023-02-17 16:13:43 +04:00
Sale Djenic 8cc80694e2 fix(@desktop/general): qml warnings caused by undefined context props handled 2023-02-17 12:25:44 +01:00
Lukáš Tinkl 31be818e0e fix: Pinning messages - tweaks to UI and interactions
... to help align with original design intent

- dropped date breaks before msg groups
- show full date/timestamp in the msg header
- floating "Unpin" button on mouse hover
- no padding/spacing between messages
- some smaller code cleanups and dead code removals

Fixes #9396
2023-02-17 11:22:21 +01:00
Noelia fe5abb60da feat(TokensPermissionsPoupup): Created new popup
- Created new dialog.
- Created storybook page for that.
- Model properties renames.

Closes #9433
2023-02-17 11:13:51 +02:00
Michał Cieślak c05334c327 chore(CommunityPermissions): Use enum for token category, keep string labels in UI only
Closes: #9556
2023-02-16 13:39:55 +01:00
Alex Jbanca f9f860a215 fix(LinksMessageView): Refactor LinksMessageView to remove business logic from qml
LinksMessageView component will receive the urls from nim as string and it will only forward the string to getLinkPreviewData slot implemented in nim together with some settings (supported img extensions and unfurling preferences)
On nim side the urls will be parsed and validated using the settings received from qml.
Images are now validated before sending them to the UI using the HEAD request.
2023-02-14 08:55:24 +02:00
Michal Iskierko b6f5c558a9 feat(@desktop:communities): Minting functionality with dummy data
Add Community Tokens testing UI with minting button, enabled by a Advanced Settings toggle.
Add minting module,view and needed models.
Add community_tokens service to call collectibles smart contract functions.

Issue #8921
2023-02-13 13:42:29 +01:00
Noelia 2c809a56e6 feat(JoinCommunity): Integrated join community popup into the new view `JoinCommunityView`
- Integrated join community popup into the new view `JoinCommunityView`.
- Added support in storybook related page.

Closes #9268
2023-02-10 18:03:05 +02:00
Lukáš Tinkl eafee302d8 fix: pasting a user's profile link in the ad-hoc chat search
... doesn't work in the community section

Extract the `Chat.RootStore` as a toplevel/shared property and pass it
down to ChatLayouts, instead of cross referencing it between different
components. This was also problematic since the ChatLayouts now live
inside a Loader, so it's more appropriate to refer to the
`Chat.RootStore` directly, instead of
`personalChatLayoutLoader.item.rootStore`, since the
`personalChatLayoutLoader.item` might not be visible (due to it being
inside a Loader and a StackLayout) or it might even be a different
component (`loadingStateComponent` or `errorStateComponent`).

This also caused similar problems for other components, such as
ActivityCenterPopup or StatusStickersPopup.

Fixes #9513
2023-02-10 11:23:26 +01:00
Noelia 8e45d6c50e feat(JoinCommunity): Created `JoinCommunityView` page
Created new view to be used when a community needs permissions to join:
- Left panel blur layout created.
- Header panel blur layout created.
- Central panel blur layout created.
- Join permission overlay panel integrated.

Closes #9267
2023-02-10 10:45:38 +02:00
Noelia ec8b03be6e feat(JoinCommunity): Created join permission overlay panel
Created needed components to display permission requirements to join a community.

Part of #9267
2023-02-10 10:45:38 +02:00
Noelia 842c90a31e feat(Community): Create `CommunityColumnHeaderPanel` component
- `CommunityColumnHeaderPanel` created.
- Added corresponding `storybook` page.
- Modified `CommunityColumnView` to use new component `CommunityColumnHeaderPanel` instead.
2023-02-10 10:45:38 +02:00
Lukáš Tinkl f5d6c538c2 chore: consolidate & refactor popup handling
- all remaining global popup components moved into a separate Popups
entity
- removed some static objects from the Global singleton (appMain,
pinnedMessagesPopup, communityProfilePopup, sounds); rationale:
singletons should not contain any state
- fixed support for popups in storybook
- fixed some warnings (most of them broke the popups in one way or the other)
2023-02-09 15:01:57 +01:00
mprakhov 36dc3e4c53 fix(@desktop/chats): Scroll chat to the bottom or last unread msg when chat is first time opening 2023-02-09 13:54:08 +02:00
Jonathan Rainville f8ecd9dbce refactor(chat): make getChats async to speed up start time
Fixes #9340
2023-02-08 16:18:44 -05:00
Alexandra Betouni aa2e6386a2 fix(statusApp): resolving qml errors/warnings pt2.1
Relates to #8864
2023-02-08 18:43:51 +02:00
Lukáš Tinkl 78f4560a54 Nothing happens after clicking on a pinned message
implement jumping to message on a simple click

Fixes #9365
2023-02-02 18:33:19 +02:00
Lukáš Tinkl edc94c9d8d fix: unbreak community options layout
got broken with the recent scroll view fixes
2023-02-02 18:27:22 +02:00
Michał Cieślak dc3bcd7da1 feat(Community Permissions): Integrate In section with permission creation/editing
Closes: #8855
2023-02-02 16:36:46 +01:00
Michał Cieślak bd6dc02162 feat(Community Permissions): Add search option in assets / collectibles dropdown
Closes: #9042
2023-02-02 13:23:22 +01:00
Richard Ramos fb526840a4 feat: waku2 store
- add toggle to enable store functionality
- output messages to csv
- add custom waku2 nodes
2023-02-01 15:35:36 -05:00
Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
2023-01-31 20:39:19 +02:00
Alexandra Betouni 9a2ffc0fc7 Fix(desktopapp): adding scrollview to storybook
Cleaned up binding loop warnings related to
ScrollView and added StatusScrollView in
storybook

As part of #8864
2023-01-31 18:45:51 +02:00
Alexandra Betouni f7294c00f5 fix(statusApp): resolving qml errors/warnings pt2
Closes #8864
2023-01-31 18:45:18 +02:00
Jonathan Rainville baea10cacf refactor(chat-model): flatten chat model to only have chat items
Fixes #5286
2023-01-30 15:36:48 -05:00
mprakhov 44cc6bbf83 fix(@desktop/communities): enforce alphanumerical characters in community name, description, channel name 2023-01-30 20:51:31 +02:00
Michał Cieślak 63a0f51305 chore(CommunityPermissions): Adjust behavior of 'Hide permission' switch depending on selected permission
Closes: #9050
2023-01-26 13:03:26 +01:00
Michał Cieślak 5c3b9881c5 chore(CommunityPermissions): Setting icon/default values for 'In' section depending on chosen permission 2023-01-26 13:03:26 +01:00
Michał Cieślak ecf999eb37 chore(CommunityPermissions): Simplify InDropdown popup (selecting only channels, no add channel button) 2023-01-26 13:03:26 +01:00
Michał Cieślak e2dadeb15e chore(CommunityPermissions): Disable granting admin permission for non-owners 2023-01-26 13:03:26 +01:00
Michał Cieślak 9ac0c159fe feat(CommunityPermissions): prevent adding tokens and ens names that are already chosen
Closes: #8817
2023-01-26 01:20:28 +01:00
Lukáš Tinkl 8569ea5b41 chore: Optimize StatusMessageReply using more Loaders
also fix the sender display name to respect ensName/nickname

Fixes: #9016
2023-01-25 19:58:19 +01:00
Lukáš Tinkl a55a207bb2 fix: user display name discrepancies
restore taking local nickname into account in various places
2023-01-25 19:58:19 +01:00
Noelia a3313b563f feat(Community Permission): Add conflicts warning panel
It adds conflicts warning in `New permission` page. Mocked data.

Closes #8738
2023-01-25 17:05:27 +01:00
Jonathan Rainville fdc0dce782 chore: remove public chat functionnalities
Fixes #8504

Removes the ability to create public chats, see public chats and even leaves previously active public chats
2023-01-25 10:05:55 -05:00
Noelia 3136ffb54d feat(Community Permissions): Update `Who holds` tokens dropdown design and flow according to the new design
- Updated initial dropdown view for assets and collectibles to directly show the list of corresponding elements.
- Updated assets and collectibles panel when an item is selected, according to new design.
- Updated collectibles logic when amount is 1.
- Added collectibles group item as part of the selectable's options.
- Updated `storybook` according to new changes.
- Created reusable `TokenItem` component.
- Updated `CommunityPermissionsHelpers`.

Closes #9043
2023-01-24 14:16:38 +01:00