status-im / status-desktop

Status Desktop client made in Nim & QML
https://status.app
Mozilla Public License 2.0
298 stars 78 forks source link

As a group admin, I want to remove a user from a group using the member list #16130

Closed jrainville closed 1 month ago

jrainville commented 2 months ago

Description

Currently, the only way to remove someone, as an admin, from a group is to click the kebab menu at the top and select the "Add/remove from group" option.

Discord makes it simpler by being able to right click on a user in the member list and remove from there.

I suggest putting the option above "Mark as untrusted". I would call it "Remove from group" image

It could even be put in a different section (new separator) cc @benjthayer for your ideas.

Acceptance Criteria

benjthayer commented 2 months ago

Description

Currently, the only way to remove someone, as an admin, from a group is to click the kebab menu at the top and select the "Add/remove from group" option.

Discord makes it simpler by being able to right click on a user in the member list and remove from there.

I suggest putting the option above "Mark as untrusted". I would call it "Remove from group" image

It could even be put in a different section (new separator) cc @benjthayer for your ideas.

Acceptance Criteria

  • As an admin, right-clicking a member of a group chat in the member list shows the option to remove them from the group
  • Clicking that new option removes that user
  • Usual member removal stuff happens:

    • The user can no longer send messages to the chat or see new messages
    • People see updated list of members

Nice idea - do you think we should make these controls dynamic so they change based on where the admin is accessing the profile menu from?

I.e. if they are right-clicking a user in a group chat, we can include Remove from group but if they are right-clicking the user in the context of a community, we can include the options to Kick user and Ban user. I can see that being quite useful for quickfire moderation.

I have a feeling these controls should be in their own section of the menu so they are more clearly delineated from the controls that are omnipresent across all contexts.

jrainville commented 2 months ago

Nice idea - do you think we should make these controls dynamic so they change based on where the admin is accessing the profile menu from?

I.e. if they are right-clicking a user in a group chat, we can include Remove from group but if they are right-clicking the user in the context of a community, we can include the options to Kick user and Ban user. I can see that being quite useful for quickfire moderation.

Good idea! I didn't think of the community context, but it makes a lot of sense!

I have a feeling these controls should be in their own section of the menu so they are more clearly delineated from the controls that are omnipresent across all contexts.

I agree!

benjthayer commented 1 month ago

Hey @jrainville, flows for the community context menus containing Ban and Kick actions are now ready:

https://www.figma.com/design/qHfFm7C9LwtXpfdbxssCK3/Kuba%E2%8E%9CDesktop---Communities?node-id=54395-99078&t=7RwDONOwdy7qOmoZ-4

cc @xAlisher

jrainville commented 1 month ago

@benjthayer looks good. @iurimatias I think you can do those changes in this issue as well, it's all the same component. The backend calls are different though, so if you prefer, you can create a new issue

iurimatias commented 1 month ago

Confirmed, I will take care of this issue once the ProfileContextMenu refactor is done