Display the list of selected users when search is not active

This commit is contained in:
Maxime NATUREL 2023-03-16 10:29:31 +01:00 committed by Florian Renaud
parent bb0edaf8d8
commit 997d4c87a1
2 changed files with 17 additions and 1 deletions

View file

@ -26,6 +26,11 @@ open class SelectUsersStateProvider : PreviewParameterProvider<SelectUsersState>
override val values: Sequence<SelectUsersState>
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),

View file

@ -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,