change (member moderation) : allow disabled action and render unban too

This commit is contained in:
ganfra 2025-05-16 18:38:15 +02:00
parent f22b921768
commit c6eea91d69
11 changed files with 119 additions and 77 deletions

View file

@ -75,10 +75,10 @@ class RoomMemberListNode @AssistedInject constructor(
)
roomMemberModerationRenderer.Render(
state = state.moderationState,
onSelectAction = { action ->
onSelectAction = { action, target ->
when (action) {
is ModerationAction.DisplayProfile -> openRoomMemberDetails(action.user.userId)
else -> state.moderationState.eventSink(RoomMemberModerationEvents.ProcessAction(action))
is ModerationAction.DisplayProfile -> openRoomMemberDetails(target.userId)
else -> state.moderationState.eventSink(RoomMemberModerationEvents.ProcessAction(action, target))
}
},
modifier = Modifier,

View file

@ -167,7 +167,7 @@ class RoomMemberListPresenter @AssistedInject constructor(
is RoomMemberListEvents.UpdateSearchQuery -> searchQuery = event.query
is RoomMemberListEvents.RoomMemberSelected ->
if (event.roomMember.membership == RoomMembershipState.BAN) {
roomModerationState.eventSink(RoomMemberModerationEvents.ProcessAction(ModerationAction.UnbanUser(event.roomMember.toMatrixUser())))
roomModerationState.eventSink(RoomMemberModerationEvents.ProcessAction(ModerationAction.UnbanUser, event.roomMember.toMatrixUser()))
} else if (!isDm.value && (roomModerationState.canBan || roomModerationState.canKick)) {
roomModerationState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(event.roomMember.toMatrixUser()))
} else {