Fix non-scrollable screens.

This commit is contained in:
Benoit Marty 2024-04-04 18:34:10 +02:00
parent ecaeb4b257
commit e3a1b5f4ed

View file

@ -17,8 +17,9 @@
package io.element.android.features.roomdetails.impl.rolesandpermissions.permissions package io.element.android.features.roomdetails.impl.rolesandpermissions.permissions
import androidx.activity.compose.BackHandler import androidx.activity.compose.BackHandler
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
@ -80,29 +81,35 @@ fun ChangeRoomPermissionsView(
) )
} }
) { padding -> ) { padding ->
Column(modifier = Modifier.padding(padding)) { LazyColumn(
modifier = Modifier
.padding(padding)
.fillMaxSize()
) {
for ((index, permissionItem) in state.items.withIndex()) { for ((index, permissionItem) in state.items.withIndex()) {
ListSectionHeader(titleForSection(item = permissionItem), hasDivider = index > 0) item {
SelectRoleItem( ListSectionHeader(titleForSection(item = permissionItem), hasDivider = index > 0)
permissionsItem = permissionItem, SelectRoleItem(
role = RoomMember.Role.ADMIN, permissionsItem = permissionItem,
currentPermissions = state.currentPermissions role = RoomMember.Role.ADMIN,
) { item, role -> currentPermissions = state.currentPermissions
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(item, role)) ) { item, role ->
} state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(item, role))
SelectRoleItem( }
permissionsItem = permissionItem, SelectRoleItem(
role = RoomMember.Role.MODERATOR, permissionsItem = permissionItem,
currentPermissions = state.currentPermissions role = RoomMember.Role.MODERATOR,
) { item, role -> currentPermissions = state.currentPermissions
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(item, role)) ) { item, role ->
} state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(item, role))
SelectRoleItem( }
permissionsItem = permissionItem, SelectRoleItem(
role = RoomMember.Role.USER, permissionsItem = permissionItem,
currentPermissions = state.currentPermissions role = RoomMember.Role.USER,
) { item, role -> currentPermissions = state.currentPermissions
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(item, role)) ) { item, role ->
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(item, role))
}
} }
} }
} }