Render Owner in the horizontal list when editing Admins. Closes #5634.
This commit is contained in:
parent
2120b5c5bd
commit
8586e25774
2 changed files with 18 additions and 3 deletions
|
|
@ -126,8 +126,6 @@ internal fun aChangeRolesStateWithOwners() = aChangeRolesState(
|
|||
}
|
||||
},
|
||||
selectedUsers = persistentListOf(
|
||||
aMatrixUser(id = "@alice:server.org", displayName = "Alice"),
|
||||
aMatrixUser(id = "@bob:server.org", displayName = "Bob"),
|
||||
aMatrixUser(id = "@carol:server.org", displayName = "Carol"),
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,9 @@ import androidx.compose.foundation.lazy.items
|
|||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.derivedStateOf
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
|
|
@ -71,6 +74,7 @@ import io.element.android.libraries.matrix.ui.components.SelectedUsersRowList
|
|||
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
|
|
@ -226,7 +230,20 @@ private fun SearchResultsList(
|
|||
state = lazyListState,
|
||||
) {
|
||||
item {
|
||||
selectedUsersList(selectedUsers)
|
||||
if (currentRole == RoomMember.Role.Admin) {
|
||||
val ownersAndSelectedUsers by remember {
|
||||
derivedStateOf {
|
||||
// Also include the owners in the horizontal list
|
||||
val owners = searchResults.owners.map {
|
||||
it.toMatrixUser()
|
||||
}
|
||||
(owners + selectedUsers).toImmutableList()
|
||||
}
|
||||
}
|
||||
selectedUsersList(ownersAndSelectedUsers)
|
||||
} else {
|
||||
selectedUsersList(selectedUsers)
|
||||
}
|
||||
}
|
||||
if (searchResults.owners.isNotEmpty()) {
|
||||
stickyHeader { ListSectionHeader(text = stringResource(R.string.screen_room_roles_and_permissions_owners)) }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue