change (member moderation) : allow disabled action and render unban too
This commit is contained in:
parent
a09cc8de97
commit
e405bf80a6
11 changed files with 119 additions and 77 deletions
|
|
@ -11,5 +11,5 @@ import io.element.android.libraries.matrix.api.user.MatrixUser
|
|||
|
||||
interface RoomMemberModerationEvents {
|
||||
data class ShowActionsForUser(val user: MatrixUser) : RoomMemberModerationEvents
|
||||
data class ProcessAction(val action: ModerationAction) : RoomMemberModerationEvents
|
||||
data class ProcessAction(val action: ModerationAction, val targetUser: MatrixUser) : RoomMemberModerationEvents
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,12 +9,13 @@ package io.element.android.features.roommembermoderation.api
|
|||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
|
||||
interface RoomMemberModerationRenderer {
|
||||
@Composable
|
||||
fun Render(
|
||||
state: RoomMemberModerationState,
|
||||
onSelectAction: (ModerationAction) -> Unit,
|
||||
onSelectAction: (ModerationAction, MatrixUser) -> Unit,
|
||||
modifier: Modifier,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,17 +7,20 @@
|
|||
|
||||
package io.element.android.features.roommembermoderation.api
|
||||
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
|
||||
interface RoomMemberModerationState {
|
||||
val canKick: Boolean
|
||||
val canBan: Boolean
|
||||
val eventSink: (RoomMemberModerationEvents) -> Unit
|
||||
}
|
||||
|
||||
data class ModerationActionState(
|
||||
val action: ModerationAction,
|
||||
val isEnabled: Boolean,
|
||||
)
|
||||
|
||||
sealed interface ModerationAction {
|
||||
data class DisplayProfile(val user: MatrixUser) : ModerationAction
|
||||
data class KickUser(val user: MatrixUser) : ModerationAction
|
||||
data class BanUser(val user: MatrixUser) : ModerationAction
|
||||
data class UnbanUser(val user: MatrixUser) : ModerationAction
|
||||
data object DisplayProfile : ModerationAction
|
||||
data object KickUser : ModerationAction
|
||||
data object BanUser : ModerationAction
|
||||
data object UnbanUser : ModerationAction
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue