diff --git a/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersStateProvider.kt b/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersStateProvider.kt index 6bc7c40b1e..c8e7d9e6e5 100644 --- a/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersStateProvider.kt +++ b/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersStateProvider.kt @@ -26,6 +26,11 @@ open class SelectUsersStateProvider : PreviewParameterProvider override val values: Sequence get() = sequenceOf( aSelectUsersState(), + aSelectUsersState().copy( + isSearchActive = false, + selectedUsers = aSetOfSelectedUsers(), + isMultiSelectionEnabled = true + ), aSelectUsersState().copy(isSearchActive = true), aSelectUsersState().copy(isSearchActive = true, searchQuery = "someone"), aSelectUsersState().copy(isSearchActive = true, searchQuery = "someone", isMultiSelectionEnabled = true), diff --git a/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersView.kt b/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersView.kt index f04ad011de..0c29e35f15 100644 --- a/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersView.kt +++ b/features/selectusers/api/src/main/kotlin/io/element/android/features/selectusers/api/SelectUsersView.kt @@ -92,6 +92,17 @@ fun SelectUsersView( onUserDeselected(it) }, ) + + if (state.isMultiSelectionEnabled && !state.isSearchActive && state.selectedUsers.isNotEmpty()) { + SelectedUsersList( + modifier = Modifier.padding(16.dp), + selectedUsers = state.selectedUsers, + onUserRemoved = { + eventSink(SelectUsersEvents.RemoveFromSelection(it)) + onUserDeselected(it) + }, + ) + } } } @@ -157,7 +168,7 @@ fun SearchUserBar( }, colors = if (!active) SearchBarDefaults.colors() else SearchBarDefaults.colors(containerColor = Color.Transparent), content = { - if (isMultiSelectionEnabled && selectedUsers.isNotEmpty()) { + if (isMultiSelectionEnabled && active && selectedUsers.isNotEmpty()) { SelectedUsersList( modifier = Modifier.padding(16.dp), selectedUsers = selectedUsers,