quality: rename enum after PR review

This commit is contained in:
ganfra 2025-12-22 18:04:08 +01:00
parent 401fc26b80
commit 2dcfdf6e4f
4 changed files with 12 additions and 12 deletions

View file

@ -54,8 +54,8 @@ class RolesAndPermissionsPresenter(
derivedStateOf { derivedStateOf {
val currentRole = roomInfo.roleOf(room.sessionId) val currentRole = roomInfo.roleOf(room.sessionId)
when (currentRole) { when (currentRole) {
is RoomMember.Role.Admin -> persistentListOf(DemoteActions.ToModerator, DemoteActions.ToMember) is RoomMember.Role.Admin -> persistentListOf(SelfDemoteAction.ToModerator, SelfDemoteAction.ToMember)
is RoomMember.Role.Moderator -> persistentListOf(DemoteActions.ToMember) is RoomMember.Role.Moderator -> persistentListOf(SelfDemoteAction.ToMember)
else -> persistentListOf() else -> persistentListOf()
} }
} }
@ -88,7 +88,7 @@ class RolesAndPermissionsPresenter(
roomSupportsOwnerRole = roomInfo.privilegedCreatorRole, roomSupportsOwnerRole = roomInfo.privilegedCreatorRole,
adminCount = adminCount, adminCount = adminCount,
moderatorCount = moderatorCount, moderatorCount = moderatorCount,
availableDemoteActions = availableDemoteActions, availableSelfDemoteActions = availableDemoteActions,
changeOwnRoleAction = changeOwnRoleAction.value, changeOwnRoleAction = changeOwnRoleAction.value,
resetPermissionsAction = resetPermissionsAction.value, resetPermissionsAction = resetPermissionsAction.value,
eventSink = ::handleEvent, eventSink = ::handleEvent,

View file

@ -17,15 +17,15 @@ data class RolesAndPermissionsState(
val roomSupportsOwnerRole: Boolean, val roomSupportsOwnerRole: Boolean,
val adminCount: Int?, val adminCount: Int?,
val moderatorCount: Int?, val moderatorCount: Int?,
val availableDemoteActions: ImmutableList<DemoteActions>, val availableSelfDemoteActions: ImmutableList<SelfDemoteAction>,
val changeOwnRoleAction: AsyncAction<Unit>, val changeOwnRoleAction: AsyncAction<Unit>,
val resetPermissionsAction: AsyncAction<Unit>, val resetPermissionsAction: AsyncAction<Unit>,
val eventSink: (RolesAndPermissionsEvents) -> Unit, val eventSink: (RolesAndPermissionsEvents) -> Unit,
) { ) {
val canDemoteSelf = availableDemoteActions.isNotEmpty() val canSelfDemote = availableSelfDemoteActions.isNotEmpty()
} }
enum class DemoteActions(val role: RoomMember.Role, val titleRes: Int) { enum class SelfDemoteAction(val role: RoomMember.Role, val titleRes: Int) {
ToModerator(RoomMember.Role.Moderator, R.string.screen_room_roles_and_permissions_change_role_demote_to_moderator), ToModerator(RoomMember.Role.Moderator, R.string.screen_room_roles_and_permissions_change_role_demote_to_moderator),
ToMember(RoomMember.Role.User, R.string.screen_room_roles_and_permissions_change_role_demote_to_member) ToMember(RoomMember.Role.User, R.string.screen_room_roles_and_permissions_change_role_demote_to_member)
} }

View file

@ -47,7 +47,7 @@ class RolesAndPermissionsStateProvider : PreviewParameterProvider<RolesAndPermis
moderatorCount = 2, moderatorCount = 2,
resetPermissionsAction = AsyncAction.Failure(IllegalStateException("Failed to reset permissions")), resetPermissionsAction = AsyncAction.Failure(IllegalStateException("Failed to reset permissions")),
), ),
aRolesAndPermissionsState(availableDemoteActions = emptyList()), aRolesAndPermissionsState(availableSelfDemoteActions = emptyList()),
) )
} }
@ -55,14 +55,14 @@ internal fun aRolesAndPermissionsState(
roomSupportsOwners: Boolean = true, roomSupportsOwners: Boolean = true,
adminCount: Int = 0, adminCount: Int = 0,
moderatorCount: Int = 0, moderatorCount: Int = 0,
availableDemoteActions: List<DemoteActions> = listOf(DemoteActions.ToModerator, DemoteActions.ToMember), availableSelfDemoteActions: List<SelfDemoteAction> = listOf(SelfDemoteAction.ToModerator, SelfDemoteAction.ToMember),
changeOwnRoleAction: AsyncAction<Unit> = AsyncAction.Uninitialized, changeOwnRoleAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
resetPermissionsAction: AsyncAction<Unit> = AsyncAction.Uninitialized, resetPermissionsAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
eventSink: (RolesAndPermissionsEvents) -> Unit = {}, eventSink: (RolesAndPermissionsEvents) -> Unit = {},
) = RolesAndPermissionsState( ) = RolesAndPermissionsState(
roomSupportsOwnerRole = roomSupportsOwners, roomSupportsOwnerRole = roomSupportsOwners,
adminCount = adminCount, adminCount = adminCount,
availableDemoteActions = availableDemoteActions.toImmutableList(), availableSelfDemoteActions = availableSelfDemoteActions.toImmutableList(),
moderatorCount = moderatorCount, moderatorCount = moderatorCount,
changeOwnRoleAction = changeOwnRoleAction, changeOwnRoleAction = changeOwnRoleAction,
resetPermissionsAction = resetPermissionsAction, resetPermissionsAction = resetPermissionsAction,

View file

@ -76,7 +76,7 @@ fun RolesAndPermissionsView(
}, },
onClick = { rolesAndPermissionsNavigator.openModeratorList() }, onClick = { rolesAndPermissionsNavigator.openModeratorList() },
) )
if (state.canDemoteSelf) { if (state.canSelfDemote) {
ListItem( ListItem(
headlineContent = { Text(stringResource(R.string.screen_room_roles_and_permissions_change_my_role)) }, headlineContent = { Text(stringResource(R.string.screen_room_roles_and_permissions_change_my_role)) },
onClick = { state.eventSink(RolesAndPermissionsEvents.ChangeOwnRole) }, onClick = { state.eventSink(RolesAndPermissionsEvents.ChangeOwnRole) },
@ -117,7 +117,7 @@ fun RolesAndPermissionsView(
when (state.changeOwnRoleAction) { when (state.changeOwnRoleAction) {
is AsyncAction.Confirming -> { is AsyncAction.Confirming -> {
ChangeOwnRoleBottomSheet( ChangeOwnRoleBottomSheet(
availableDemoteActions = state.availableDemoteActions, availableDemoteActions = state.availableSelfDemoteActions,
eventSink = state.eventSink, eventSink = state.eventSink,
) )
} }
@ -137,7 +137,7 @@ fun RolesAndPermissionsView(
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
private fun ChangeOwnRoleBottomSheet( private fun ChangeOwnRoleBottomSheet(
availableDemoteActions: ImmutableList<DemoteActions>, availableDemoteActions: ImmutableList<SelfDemoteAction>,
eventSink: (RolesAndPermissionsEvents) -> Unit, eventSink: (RolesAndPermissionsEvents) -> Unit,
) { ) {
val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope()