change (member moderation) : branch moderation on timeline

This commit is contained in:
ganfra 2025-05-13 11:39:19 +02:00
parent 5272587897
commit f22b921768
22 changed files with 169 additions and 95 deletions

View file

@ -77,7 +77,7 @@ class RoomMemberListNode @AssistedInject constructor(
state = state.moderationState,
onSelectAction = { action ->
when (action) {
is ModerationAction.DisplayProfile -> openRoomMemberDetails(action.member.userId)
is ModerationAction.DisplayProfile -> openRoomMemberDetails(action.user.userId)
else -> state.moderationState.eventSink(RoomMemberModerationEvents.ProcessAction(action))
}
},

View file

@ -34,6 +34,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomMembersState
import io.element.android.libraries.matrix.api.room.RoomMembershipState
import io.element.android.libraries.matrix.api.room.roomMembers
import io.element.android.libraries.matrix.api.room.toMatrixUser
import io.element.android.libraries.matrix.ui.room.canInviteAsState
import io.element.android.libraries.matrix.ui.room.isDmAsState
import io.element.android.libraries.matrix.ui.room.roomMemberIdentityStateChange
@ -166,9 +167,9 @@ 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)))
roomModerationState.eventSink(RoomMemberModerationEvents.ProcessAction(ModerationAction.UnbanUser(event.roomMember.toMatrixUser())))
} else if (!isDm.value && (roomModerationState.canBan || roomModerationState.canKick)) {
roomModerationState.eventSink(RoomMemberModerationEvents.RenderActions(event.roomMember))
roomModerationState.eventSink(RoomMemberModerationEvents.ShowActionsForUser(event.roomMember.toMatrixUser()))
} else {
navigator.openRoomMemberDetails(event.roomMember.userId)
}