Commit Graph

2236 Commits

Author SHA1 Message Date
MishkaRogachev 0fc84852f3 feat(chat): Update chat ui for the blocked contact
Close #9935
2023-05-02 13:56:36 -04:00
Boris Melnik df88984b45 feat(image-album): Display album of images in replies
Fixes: #9957
2023-05-02 11:24:48 +03:00
Lukáš Tinkl e1c9f2f93f perf(AppMain): wrap CommunitiesPortalLayout in a Loader
- CommunitiesPortalLayout was the last piece still unconditionally loaded
on startup -> fixed
- extract the `communitiesStore` into AppMain to be able to reuse it from
other components
- move the import/create community dialogs to `Popups` (reusability)
- cleanup and remove some dead code, fix warnings

Iterates #6204
2023-04-28 21:35:29 +02:00
Alexandra Betouni 5615a534ea (settings): removed community permissions,tokens,airdrop and discord options
Also:
test(suite_communities): Fixed community related tests

- A new intermediate popup is now displayed when user clicks on `Create New Community` button from `Community Portal`.
- Reformulated `tst_communityPermissions` since now it is a default option without the need of activating it from experimental feature's section.

Closes #10115
2023-04-28 16:52:41 +03:00
Lukáš Tinkl 28374eb836 fix(ChatColumnView): unbreak 1-1 chats
the StatusChatInput (among other things) was disabled due to wrong
`activeChatType` being passed down to `ChatContentView` which does all
sorts of checks whether we are allowed to chat with that contact

The `root.activeChatType` no longer reflects the chat that we are going
to activate (probably due to the extensive use of `Loader`s)

(plus remove some dead code)

Fixes: #10463
2023-04-27 20:44:41 +02:00
Noelia 3400f5e276 feat(CommunityPermissionsRow): Created new component
Permissions tags row created.

Closes #8018
2023-04-27 16:10:20 +02:00
Noelia 8ca70ea018 feat(Community Permissions): Update ENS icon in permission pills
Closes #10341
2023-04-27 16:10:20 +02:00
Igor Sirotin 6fe82ef133
fix: Fix and rework "start chat" text field input (#10450) 2023-04-27 17:03:49 +03: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
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
Noelia e08fdcb78c feat(Community Permissions): Hide `Who holds - Add` button when there are 5 items already added
Added logic to hidden  'Add' button when the number of items 5 is reached.

Closes #9195
2023-01-24 08:45:34 +01:00
Alexandra Betouni 7f2563edf4 fix(message): removed extra markup when typing before mention
Closes #8495
2023-01-23 16:17:36 +02:00
Michał Cieślak d980c177a4 chore(CommunityPermissions): ENS tab simplified according to updated design
Closes: #8818
2023-01-20 14:00:02 +01:00
Michał Cieślak a6dc4e9011 fix(CommunityPermissions): ens icon fixed, locale fixed in AmountInput 2023-01-20 14:00:02 +01:00
Igor Sirotin 8736dd8a94 fix: Community importing notification fixes and improvements 2023-01-20 13:15:50 +03:00
Alex Jbanca 54e91e0ba7 perf(chatScroll): Reduce loadMoreMessagesIfScrollBelowThreshold to 100. 2023-01-19 19:24:18 +02:00
Alex Jbanca e44427ceed perf(chatScroll): Prepare more data for scroll 2023-01-19 19:24:18 +02:00
Alex Jbanca bf1d59c0ad perf(chatScroll): Avoid calling the backend on delegate creation/binding
Provide the needed data from the nim model directly to the delegate. This way whenever a delegate needs to display the data it doesn't need to reach the backend.

perf(chatScroll): Fix comments on Avoid calling the backend on delegate creation/binding

perf(chatScroll): Avoid calling the backend on delegate creation/binding  - add TODO comment on senderColorHash default

perf(chatScroll): merge quotedMessageAuthor details

perf(chatScroll): Fix nim tests

perf(chatScroll): Fix merge error - messages_model.nim
2023-01-19 19:24:18 +02:00
Michał Cieślak 162fe76273 chore(CommunityPermissions): don't PermissionQualificationPanel for MVP 2023-01-19 13:38:47 +01:00
Michał Cieślak 769a41ea9c feat(CommunityPermissions): UI support to show the % of members fulfilling permission
Closes: #9044
2023-01-19 13:38:47 +01:00
Igor Sirotin 7f67c885c8 fix(ContactsColumnView): Open add/remove group member on context menu 2023-01-19 12:35:03 +03:00
Dario Gabriel Lipicar a6afdb5266 fix(@desktop): use system locale across the application 2023-01-17 16:39:56 -03:00
Patryk Osmaczko ae55e78faf feat(chat): ignore not loaded messages
closes: #8838
2023-01-17 18:58:53 +01:00
Lukáš Tinkl b2328d6643 chore: Consolidate date/time formatting
- simplify locale settings
- extract/fix datetime related functions into LocaleUtils
- port code to the new LocaleUtils

Closes #7230
2023-01-17 16:42:34 +01:00
Alex Jbanca d07136481c perf(chatScroll): Adding signals for chat settings in MessageStore
perf(chatScroll): Fix comment
2023-01-16 10:26:53 -05:00
Alexandra Betouni 7620061ba3 fix(CommunityEdit): content width should have fixed size
Closes #9051
2023-01-16 17:00:08 +02:00
Jonathan Rainville f8c4682885 chore(contact-request): remove old contact request button and popup
Fixes #9072

I made clicking on the OS notification open the AC instead of the old popup
2023-01-13 16:16:14 -05:00
Noelia ea0db55361 fix(Community Permissions): Update `tokens` names to `assets`
- Updated enumerators that were defining `tokens` instead of `assets`.
- Updated property names and labels.
- Updated signals and components names.
- Updated storybook.

Fixes #8816
2023-01-13 14:51:31 +01:00
Dario Gabriel Lipicar ac7b322ee7 fix(@desktop): fix AmountInput locale
Fixes #9103
2023-01-13 09:59:14 -03:00
Noelia 5676fb96ef fix(Community Permissions): Update `Who holds` add new item with always AND action
- Logic related to operators removed.
- Dropdown `and/or` removed.
- Updated `PermissionItem` to display only the tag and not the operator.
- Updated `storybook` according to new changes.

Fixes #8500
2023-01-13 10:51:10 +01:00
Jonathan Rainville af0c9767d1 feat(context-menu): add Copy message action in message context menu
Adds the action to copy the right-clicked message's text.

It copies the unparsed text (no html).
For that, I had to add it in the MessageItem and expose it in the model.

I also fixed the copy MessageId action that didn't show + didn't work even if it would have shown.

Plus some small cleanups.
2023-01-12 16:15:17 -05:00
Jonathan Rainville c3945f33c0 feat(replies): add deleted to QuotedMessage to change msg displayed
Adds `deleted` to the QuotedMessage object so that on the frontend, we can show "Delete message" only when we know the message was deleted.
Otherwise, when we don't know the quoted message, we show "Unknown message [...]"
2023-01-12 15:18:03 -05:00
Jonathan Rainville 91c2e6d257 feat: use QuotedMessage object for replies to better show the replies
Fixes #7754
ok
2023-01-12 15:18:03 -05:00
Dario Gabriel Lipicar 7c4022e4ac feat(@desktop/wallet): implement unified currency formatting
Fixes #8640
2023-01-12 15:21:27 -03:00
Noelia 5e2fa14cd6 fix(Community Permissions): Update change detected buttons labels according to the new design
Exposed new properties in `SettingsDirtyToastMessage` to customise buttons texts.
Exposed new properties in `SettingsPageLayout` to customise dirty toast buttons texts.

Fixes #9046
2023-01-12 13:37:49 +01:00
Noelia cc4ebc0ec8 fix(Community Permissions): Update `PermissionItem` according to the new design
Removed `and` text between items in `In` section.

Fixes #9049
2023-01-12 11:17:00 +01:00
Noelia a181d1d867 fix(Community Permissions): Remove (hide) minting and import option in assets dropdown
Removed (hidden) minting and import option in assets dropdown

Fixes #8827
2023-01-12 08:58:43 +01:00
mprakhov 52d336b5a6 fix(@desktop/chat): allow to send attached image without text input 2023-01-11 18:27:31 +02:00
Alexandra Betouni 055fec9109 fix(Community): banners where overlapping
Closes #8947
2023-01-11 16:46:51 +02:00
mprakhov 3de073edb8 fix(@desktop/community): empty tag string creation 2023-01-11 15:41:57 +02:00
mprakhov 3994f8b2fb fix(@desktop/chat): show message which was sent during group chat creation 2023-01-10 23:53:46 +02:00
Jonathan Rainville 5e8f3e6565 fix(CreateChatView): enable mentioning people selected in create chat
Fixes #8749

I couldn't fully test it because it needs #8991 to be fixed to see if the message is sent correctly
2023-01-10 13:58:37 -05:00
Lukáš Tinkl 9e396f7344 chore: refactor/improve/optimize StatusMessage & friends
- drop dead code
- reduce number of direct bindings
- use Loaders whenever possible

Fixes #8744
2023-01-10 10:55:53 +01:00
mprakhov 0cc64774af fix(desktop/chat) show the badge during receiving the mention in inactive section 2023-01-09 20:00:51 +02:00
Lukáš Tinkl 785110b410 chore: remove dead code 2023-01-09 16:41:51 +01:00
Boris Melnik 9b8a86a3cb feat(communities): Add ban state for spectated community
Fixes: #8761
2023-01-09 10:30:54 -05:00
mprakhov 0675d6a7d9 fix(@desktop/chat): message box buttons do not work in group chat creation screen 2023-01-09 12:51:35 +02:00
Lukáš Tinkl b086d432d1 fix: Chat Input isn't focused after editing a message
Fixes #8966
2023-01-06 14:35:07 +01:00
Lukáš Tinkl f6355dc4a6 fix(StatusBaseInput): No padding for input fields
- make the left/right padding and internal spacing consistent with the
Figma design

- the padding itself got broken by a behavior-incompatible change introduced in
17aaec2d53 (diff-451194c72ab50ea2586b6f1d6521b81d9a93206069788117326788be28b638fd);
this change is however correct but we can no longer rely on the
implementation detail that used to "reset" the left/right padding to its
default value when we set  `leftPadding: 0`

Fixes #8910
2023-01-06 00:59:42 +01:00
Lukáš Tinkl 6fc1d0951b fix: Cannot open the link in the channel's description
Hook up the signal to open a hyper link

Fixes #8939
2023-01-04 18:54:14 +01:00
Jonathan Rainville 235c0d3042 test(community): add a test where the admin can delete a user's message
Fixes #6891
2023-01-04 11:12:47 -05:00
Jonathan Rainville 29450d34a7 feat(admin): enable admins to delete messages from other users
Fixes #8869
2023-01-04 11:12:47 -05:00
Patryk Osmaczko fe87cbaada fix(chat/messages): load messages even if fetch is ongoing
fixes: #8831
2023-01-04 11:05:11 -05:00
Alexandra Betouni ba811acc27 fix(improvements): remove console warnings pt1
Closes #7959
2023-01-04 17:28:59 +02:00
Igor Sirotin 38353af413 fix(PinnedMessagesPopup): Force show repeat header 2022-12-29 11:58:40 +03:00
mprakhov 8b3319a1f3 fix(@desktop/communities): empty chat view during adding/removing active channel to the category 2022-12-22 20:02:09 +02:00
Pascal Precht f3eb29bfea feat(chat): allow for editing last user message using arrow-up key 2022-12-22 17:31:32 +01:00
Michał Cieślak fe7884cd29 feat(CommunityPermissions): InDropdown integration
Closes: #6041
2022-12-21 21:48:51 +01:00
Michał Cieślak d58dd3331b feat(CommunityPermissions): Dropdown for channels selection added 2022-12-21 21:48:51 +01:00
Khushboo Mehta f84404c956 feat(@desktop/wallet): Custom routing
fixes #8237
2022-12-21 19:25:11 +01:00
Noelia 265b0b5a8f fix(CommunityPermissions/NewPermissionsView): Holdings tags icon size/position didn't fit the design
- Updated `StatusItemSelector` API to allow other asset sizes and leftPadding.
- Applied different asset size in holdings tags in `NewPermissionView` to fit the design.
2022-12-21 18:42:16 +01:00
Noelia 73b2fb2271 fix(CommunityPermissions/PermissionItem): The component allowed adding labels with long texts that exceed the content itself
- Updated `PermissionItem` to avoid the `StatusListItemTag` exceeding the content itself.
Fixes #8580
2022-12-21 18:42:16 +01:00
Noelia 579075d6cc fix(StatusQ/StatusListItemTag): Changed API and added test elide property when a specific width is forced
- Changed `StatusListItemTag` API. Now it is based on `Control` component.
- Updated needed qml files to fit with the new `StatusListItemTag` API.
- Added `elide` property in `Text` component to better visualise the content when a specific width is forced.
2022-12-21 18:42:16 +01:00
Pascal Precht 865ed32deb feat: introduce ability to @everyone
Closes #8479

This needs: status-im/status-go#3026
2022-12-21 10:19:48 +01:00
Noelia a9d25697dd feat(CommunitySettings): Implement UI for`edit`, `duplicate` and `remove` actions in community permissions page
feat(CommunitySettings): Implement UI for`edit`, `duplicate` and `remove` actions in community permissions page

- Enabled `duplicate` action (mocked).
- Enabled `delete` action (mocked) and added / updated navigations in case all permissions are removed.
- Added delete confirmation popup.
- Enabled `edit` action (mocked) where changes are detected and the `dirty changes toast` appears properly.

Closes #8581
2022-12-19 15:25:16 +01:00
Patryk Osmaczko 87674064d0 feat(chat/messages): implement new messages marker
closes: #8572
iterates: #7488
2022-12-16 19:12:12 +01:00
Michał Cieślak 9dcaf86e42 feat(CommunityPermissions): search for collectibles dropdown
Closes: #7158
2022-12-16 00:52:09 +01:00
Michał Cieślak 7234e49fee chore(Storybook): Add HoldingsDropdown page 2022-12-16 00:52:09 +01:00
Boris Melnik f35468963c fix(warnings): Rid off warnings
Fixes: #8293
2022-12-15 19:31:18 +03:00
Igor Sirotin 50427390dd ens: Fix ens name inconsistency across app 2022-12-14 23:46:50 +03:00
Michal Iskierko 3f01af4446 fix(@desktop/chat): Fix user names propagation.
Add ProfileUtils for displaying correct name.
Set names in models correctly.
Fill names in qml correctly.

Fix #8343
2022-12-14 17:44:26 +01:00
Noelia 8a749846df fix(CommunityPermissions): Change `Flickable` to `StatusScrollView`
Modified `Flickable` in `CommunityNewPermissionView`, CommunityWelcomePermissionsView` and CommunityPermissionView` to `StatusScrollView`

Fixes #8584
2022-12-14 16:38:59 +01:00
Boris Melnik 123b8e320a fix(warnings): Fix chat, community settings warnings
Fixes: #8293
2022-12-13 17:46:30 +03:00
Boris Melnik 046e1d1073 fix(warnings): Avoid flickable manipulations in SettingsPageLayout when dirty toast message isn't active
Fixes: #8293
2022-12-13 13:05:28 +03:00
Jonathan Rainville 194e3048bc fix(messages): fix Resend btn not working and add Sending visual state
Fixes #7643

This adds the backend to resend. It then hooks the button to it.
This also adds a visual state for when we are sending. This gives a good indication that a message was sent.
2022-12-12 11:56:21 -05:00
Noelia 5d318d0304 fix(CommunitySettings): Previous page navigations are broken in community settings sections
Added property `previousPageName` into `SettingsPageLayout`.
Added needed slots in `CommunitySettingsView` to get `previousPageName` property changes and display the correct string.
Renamed `updateState` method to `navigateBack` to have a better accurate name.

Fixes #8455
2022-12-12 12:54:15 +01:00
Noelia 2087a5322b feat(storybook): Added `CommunityPermissionsViewPage` to storybook
- Created page and added editor for specific page.
- Created needed mocked models.
- Added background in permission related pages to ensure correct dark mode visualization.
2022-12-10 14:02:02 +01:00
Noelia 1db0a0077d feat(storybook): Added `CommunityPermissionsSettingsPanel`
- Added `CommunityPermissionsSettingsPanel`.

- Created panel item editor and basic panel editor layout for `CommunityPermissionsSettingsPanelPage`. Still not linked to a model.

- Added mocked data for collectibles and tokens.

- Created `ChannelsModel` mocked data.

- Added edit / duplicate / remove signals logs.
2022-12-10 14:02:02 +01:00
Noelia 1cbb3e2ad3 feat(CommunityPermissions): Created `CommunityPermissionsView` layout
- Created `CommunityPermissionsView` and integrated into the flow.
- Created `PermissionItem` component.
- Added `holdingsListModel`, `permissionsObjectModel` and `channelsListModel` flows with mocked data.
- Added `isPrivate` permission property.
- Added button header in `SettingsPageLayout`
- Added signals/methods for edit/duplicate/remove permissions
- Created new file `OperatorsUtils.qml` specific for `Operators`
2022-12-10 14:02:02 +01:00
Pascal Precht b510b33730 feat(communities): allow community import via public key
Status allows for importing communities via their private keys.

There's a requested feature that users should be able to import a community via
its public key as well.

This will behave differently as private keys won't give users ownership
of the communities. When importing via a (compressed) public key, Status
will try to fetch information about the community from the network. If it
finds such information, it'll load it into the app and create
a communitiy view from which users can then request access.

If it can't find a community or community information in the network,
the user will get a dedicated error message.

This commit also refactors the `ImportCommunityPopup` such that it uses
`StatusDialog` and updates the copy accordingly since importing via
public key is now possible as well.

Closes #8339
2022-12-07 14:18:08 +01:00
Patryk Osmaczko 9601ab2668 fix(chat/messages): make initial messages load without scroll
fixes: #8602
2022-12-07 00:23:25 +01:00
mprakhov d60a4b0c97 fix(@desktop/chat): open 121 chat by pasting chat key of existing mutual contact 2022-12-06 15:01:09 +02:00
mprakhov 32d1d927ef fix(@desktop/chat): Hide 'no results found' when entering the chat key in start chat 2022-12-06 12:39:02 +02:00
Khushboo Mehta 779df7628b fix(@desktop/wallet): Remove gas selector for slow, optimal and fast
fixes #8516
2022-12-05 14:51:39 +01:00
Igor Sirotin e3bfdc0f09 fix(StatusPopupMenu): Refactoring 2022-12-02 10:30:50 +03:00
Lukáš Tinkl 9559789030 chore: reduce the number of (verification) RPC calls
- when calling `Utils.getColorHashAsJson()` we don't actually need to
issue ID verification requests at all and there might be situations when
we know beforehand that we don't need the ENS verification either
- change these helper functions' syntax and do early returns in that case
- in MessageContextMenuView, the "contact details" were duplicated, so
remove one
- remove dead code, fix some warnings
2022-12-01 16:50:23 +01:00
Jonathan Rainville b65211ac94 feat(Settings): Enable Community Archive by default and remove toggle
Closes: #6098
Original commit by @borismelnik
2022-11-30 14:41:48 -05:00
Pascal Precht 3af77c9c96 fix(chat): rename 'Chat' -> 'Messages' headline
Closes #8483
2022-11-30 14:33:20 +01:00
Boris Melnik bff6b22fc4 fix(replies): Get original message from status-go for replies
Fixes: #7248
2022-11-30 14:07:49 +01:00
Pascal Precht 213924f6e9 feat(chat): support copy & pasting images into chat input
This adds support for receiving copied images from the clipboard
and pasting it into the chat input.

After pasting, chat input will recognize the image and render a preview
similar to how it would do it when selecting images via the file dialog.

**Also important to note**:

At the time of this PR, it seems that desktop only supports sending
jpegs to status-go. I'm not sure if this was deliberately done this way
because the protocol says it supports jpg, png, webp and gif.

Because of this, pasting for example pngs will work, however
transparency will be lost (which is also most likely the cause of #8820)

This PR operates on that assumption. So while it adds support for
copy/pasting images, it does not address the lack of file type support.

Closes #3395
2022-11-29 12:31:18 +01:00
Michal Iskierko a46206e4fd fix(@desktop/chat): Hide create chat panel when some other menu items are selected
Fix #7675
2022-11-25 14:17:23 +01:00
Lukáš Tinkl 8767f37bad fix(PinnedMessagesPopup): Pinned messages cover rounded corners of modal
similar to the profile dialog, we need to add an opacity mask in front of
the contentItem to ensure the rounded corners at the bottom are preserved
when we have no margins/padding inside the popup

Fixes #7759
2022-11-23 09:59:21 +01:00
Noelia 1da0cf9c79 test(onboarding): Improved validation after login
Added validation of empty chat panel image to check that `StatusMainScreen` is ready.
2022-11-22 18:55:02 +01:00
Patryk Osmaczko bd7f890cce feat(storybook): add MembersSelector to storybook
closes: #8178
fixes: #8210
2022-11-18 13:13:38 +01:00
Lukáš Tinkl 6e5b98d157 fix(ChatHeaderContentView): reflect nickname changes in 1-1 chat
Fixes #8303
2022-11-17 12:59:19 +01:00
Jonathan Rainville 312dd72955 fix(windows): fix windows chat list empty because of popup overflow
Fixes #7906
2022-11-16 15:41:32 -05:00
Michał Cieślak 93428d8b2e feat(Storybook): adding UsersList in storybook
Closes #8186
2022-11-16 11:37:35 +01:00
Noelia 4cdc2f8a91 fix(CreateChat): Text input is displayed when choosing contacts for new chat
Applied the following solution agreed with design team: When a user types their message, hitting enter, or pressing send, should automatically create the chat and send the message, removing the 'To' input field and Confirm/Reject buttons (that means, directly navigating to the new created chat).

Fixes #7706
2022-11-16 09:33:56 +01:00
mprakhov 707aa16462 fix(@desktop/chat): Limit chat name length #6938 2022-11-14 21:11:04 +02:00
Alexandra Betouni 019a65a786 fix(CreateChatView): fixed tagselector various issues
Closes #7340
2022-11-14 09:46:22 -05:00
Michał Cieślak cb4380582e fix(CreateChannelPopup): cursor not jumping to the end
When typing at non-end position (in channel name filed) cursor
is no longer jumping to the end. Additionally binding loop
on "contentWidth" is fixed.

Closes: #7805
2022-11-11 15:14:44 +02:00
Michał Cieślak 1ca1866993 chore(Storybook): page for CreateChannelPopup added 2022-11-11 15:14:44 +02:00