Commit Graph

172 Commits

Author SHA1 Message Date
Alex Jbanca 7be70ff010 fix(CommunitySettings): Load the community settings on demand and preserve the load state 2024-03-14 13:49:58 +02:00
Mykhailo Prakhov 996199b910
feat(desktop@communities): change kicked/banned member behavior (#13706)
feat: change kicked/banned member behavior
2024-02-27 12:55:56 +01:00
Khushboo Mehta fb4e9a1ed1 fix(@desktop/wallet): Updatebthe new assets models in Token mangement, Activity filters and SharedAddressPanel 2024-01-25 12:45:22 +00:00
Khushboo Mehta 087601e28e feat(@desktop/wallet): Apply flat assets model into SendModal
fixes #13016
2024-01-23 20:26:25 +01:00
Mykhailo Prakhov 02589421bb
feat(desktop/communities): show community users which will be automatically joined after the ownership change in the All Members tab (#12928) 2023-12-04 20:14:13 +01:00
Mykhailo Prakhov 4225873cf4
fix: show info about control node offline, during rejoin to the community after the ownership change (#12869) 2023-11-27 10:53:37 +01:00
Mykhailo Prakhov fae038df3b
fix: quit from community settings in UI if member privileged role changed (#12846) 2023-11-24 16:39:09 +01:00
Noelia 743ba6929c feat(MintToken): Validation on name / symbol if exists in standard token list
- It adds link to the corresponding tokens model in `EditCommunityTokenView`.
- It adds validation for `name` and `symbol`.
- It updates `storybook accordingly.`

Closes #12365
2023-11-23 12:07:46 +01:00
Alexandra Betouni 3d6bb8f52e fix(CommunityIntroDialog): Unable to join token gated community
Closes #12678
2023-11-22 17:09:22 +02:00
Noelia 88c09b3941 feat(@desktop/communtiies): Set signer flow
Setting signer logic and computing fees.
AC messages for different transfer ownership states.
Declining ownership logic.
Added `CommunityTokensStore.qml` stub.
Removed deprecated property.

Issue #11964
2023-11-08 14:35:51 +01:00
Noelia f1d4462f69 feat(FinaliseOwnershipPopup): Moved to Popups
- Moved finalise ownership and decline ownership popups from `ChatLayout` to `Popups`.
- Removed instance from `ChatLayout`.

Part of #12175
2023-11-08 14:35:51 +01:00
Sale Djenic ad7774799a feat(@desktop/keycard): joining communities using addresses migrated to a keycard
Closes: #12170
2023-11-03 16:14:18 +01:00
Mykhailo Prakhov b414d616a6
feat: info msg if owner is not awailable after community ownership change (#12560)
feat: info msg if the owner is not available after community ownership change
2023-10-31 18:55:41 +01:00
Noelia 15927b0705 feat(Community/FinaliseOwnership): Added finalise flow in the app
- Button from community column.
- Button from community overview.
- Updated storybook pages (settings overview related) according to new components requirements.

Part of #12174
2023-10-03 13:53:42 +02:00
Noelia 717c243e02 feat(TransferOwnershipPopup): Updated transfer ownership popup according to new design
- Applied new design to transfer ownership popup.
- Added support in storybook.
- Added navigation to transfer ownership popup from community settings / owner token footer.
- Added navigation to transfer ownership popup from community settings / overview.
- Linked wallet send modal to the transactions popup with the needed pre-populated data.

Closes #12171
2023-09-20 11:08:29 +02:00
Lukáš Tinkl e106be9b12 feat: Single discord channel import UI flow
Closes #12039
2023-09-07 14:52:53 +02:00
Jonathan Rainville 789a01cf09 feat(shared-addresses): add loading state for checking permissions
Fixes #11893
2023-08-30 10:48:12 -04:00
Jonathan Rainville cdfd10c592 fix(ChatLayout): fix isPrivileged user by using sectionItemModel 2023-08-30 10:38:47 -04:00
Jonathan Rainville 8336a6d08e fix(crash): fix crash about community permissions
Fixes #11996
2023-08-30 10:38:47 -04:00
Lukáš Tinkl a42ac076ca fix(shared-addresses): wrong account color and type
- rename `watchOnlyAccounts` to `nonWatchAccounts` to reflect what the
property returns
- some warning fixes

Fixes #12023
2023-08-30 10:30:50 +02:00
Mykhailo Prakhov 3f5df7e3ef
feat: owner and token master permissions (#11942) 2023-08-22 20:09:34 +02:00
Boris Melnik 95f829665b
feat(communities): Update permissions list for spectated community tokens model (#11803)
Fixes: #11480

* hook up join popup to permission model

* fix chats not being put in the permission model

* make it work with channel permissions as well

---------

Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2023-08-21 14:54:57 -04:00
Lukáš Tinkl 22258cc363 token-permissions: implement the UI "edit" flow for shared addresses
Fixes #11599
2023-08-11 15:38:42 +02:00
Noelia f721636452 refactor(CommunitySettings): Add SFPM for wallet accounts model in a single place
- It adds proxy of wallet accounts only in a single place (wallet root store) and pass the tuned model through the rest of views.

- It updates `storybook` accordingly.

Closes #11829
2023-08-11 13:02:29 +02:00
Patryk Osmaczko 15701e91aa feat(communities): add check permissions pending state
closes: #11157
2023-08-08 08:58:26 +02:00
Jonathan Rainville 6e346d2c0d feat(Communities): changes in import popup for public keys
Also: refactor(communities), moved request to join funcs to communities module
This is needed because we can now request to join from the Import popup

Closes #11242
2023-07-28 18:53:59 +03:00
Lukáš Tinkl a2e6227117 feat: disable community settings while in Testnet mode
- display an info box when in wallet testnet mode with a CTA to disable
it (functionality enabled for production builds only)
- the CTA can be tested/seen via OverviewSettingsPanelPage storybook page

Closes #11468
2023-07-24 19:29:13 +02:00
Lukáš Tinkl 02e40adfca feat: New design flows to integrate Revealing addresses...
... when joining Community functionality

Closes #11138
2023-07-19 12:44:16 +02:00
Jonathan Rainville e35945b76c feat(requestToJoin): add addressesToShare to requestToJoin call
Fixes #11154
2023-06-29 11:19:19 -04:00
Noelia 0ab8a62896 feat(Communities): Communities folder reorganization
- Renamed main `CommunitiesPortal` folder to `Communities`.
- Created new `layouts` folder.
- Moved layout files from chat to communities.
- Created new `helpers` folder.
- Moved helpers files from chat to communities.
- Moved `controls/community` files from chat to communities `controls`.
- Moved `panels/communities` files from chat to communities `panels`.
- Moved `popups/community` files from chat to communities `popups`.
- Moved `views/community` files from chat to communities `views`.
- Moved `CommunityBanner` file from shared to `Communities/controls`. Only used in communities context.
- Moved `CommunitySettingsView` and `CommunityColumnView` files from chat to communities `views`.
- Moved `PermissionsStore.qml` file to `shared/stores`.
- Updated imports.
- Updated storybook.

Part of #6204
2023-06-28 14:28:47 +02:00
Lukáš Tinkl 620c7a746d feat(Settings/Communities): implement new communities list
Closes #11145
2023-06-23 16:48:26 +02:00
Pascal Precht b3329d790e feat: channel permissions
Closes: #10996, #10995, #10993, #10997, #9537
2023-06-20 21:57:37 +02:00
Lukáš Tinkl 7bf7f272f3 fix: community context menu should not say "Leave community" if not joined
- differentiate between "Close" and "Leave" a community where the former
applies to spectated communities
- move the "leave community" confirmation popup to a shared place
(Popups.qml), extend it with the outro message and reuse it everywhere
- don't let admins leave a community
- some minor cleanups and dead code removals

Fixes #10963
2023-06-15 12:22:04 +02:00
Mykhailo Prakhov 82a1ed2f7a
feat(@desktop/community): Community admin permissions (#10909)
* chore:
- replaced admin bool to memberRole
- activate admin permissions
- configured admin restrictions
2023-06-14 18:00:41 +02:00
Jonathan Rainville 0e5c566dcd fix(newChat): fix sending messages in new ad hoc chat with new store
Fixes #10523

The problem was that the CreateChatView now uses an isolated Chat RootStore, since we can't be sure if the personal chat section will be loaded yet.

To fix that, I created a new store that is only for storing the properties needed for that new chat. That way we are sure that it is created and shared to necessary components.
2023-05-05 09:36:14 -04:00
Boris Melnik 7e4419d239 chore(CommunitySettings): Remove old legacy community popup
Fixes: #9913
2023-05-04 12:14:39 -04: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
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 5dc60f5782 fix(JoinCommunityView): Change Reveal Address button icon based on auth type 2023-04-01 08:33:06 +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
Alex Jbanca d24d233615 fix(JoinCommunityView): Enable activity centre and disable start chat button 2023-03-24 10:41:34 +02: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
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
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
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
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
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
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
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