status-desktop/ui/app/AppLayouts/Chat/views
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
..
communities fix(@desktop/communities): Rename minting module 2023-03-09 16:34:55 +01:00
private feat(storybook): add MembersSelector to storybook 2022-11-18 13:13:38 +01:00
ChatColumnView.qml 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
ChatContentView.qml chore: consolidate & refactor popup handling 2023-02-09 15:01:57 +01:00
ChatContextMenuView.qml fix(StatusPopupMenu): Refactoring 2022-12-02 10:30:50 +03:00
ChatHeaderContentView.qml fix: truncation of channel description and pinned message text 2023-02-21 16:53:06 +02:00
ChatMessagesView.qml fix: Pinning messages - tweaks to UI and interactions 2023-02-17 11:22:21 +01:00
ChatView.qml feat(ActivityCenter): Add indication for visited/unvisited AC state 2023-02-17 16:13:43 +04:00
CommunityColumnView.qml chore: silence warnings 2023-03-08 18:45:27 +01:00
CommunitySettingsView.qml feat: introduce first JoinCommunityView for token-gated communities 2023-03-09 16:35:06 +01:00
ContactsColumnView.qml refactor(chat): make getChats async to speed up start time 2023-02-08 16:18:44 -05:00
CreateChatView.qml feat(ActivityCenter): Add indication for visited/unvisited AC state 2023-02-17 16:13:43 +04:00
MembersEditSelectorView.qml feat(storybook): add MembersSelector to storybook 2022-11-18 13:13:38 +01:00
MembersSelectorView.qml chore(Qt5.15): Fix qml warnings after qt 5.15 migration 2023-01-31 20:39:19 +02:00
qmldir feat(storybook): add MembersSelector to storybook 2022-11-18 13:13:38 +01:00