Improve SpaceFilters: hide when empty and fix tests
This commit is contained in:
parent
5e0e1f8f4f
commit
0466663d64
4 changed files with 72 additions and 20 deletions
|
|
@ -36,14 +36,14 @@ class SpaceFiltersPresenter(
|
|||
.isFeatureEnabledFlow(FeatureFlags.RoomListSpaceFilters)
|
||||
.collectAsState(initial = false)
|
||||
|
||||
if (!isFeatureEnabled) {
|
||||
return SpaceFiltersState.Disabled
|
||||
}
|
||||
|
||||
val availableFilters by remember {
|
||||
matrixClient.spaceService.spaceFiltersFlow.map { it.toImmutableList() }
|
||||
}.collectAsState(initial = persistentListOf())
|
||||
|
||||
if (!isFeatureEnabled || availableFilters.isEmpty()) {
|
||||
return SpaceFiltersState.Disabled
|
||||
}
|
||||
|
||||
var selectionMode by remember { mutableStateOf<SelectionMode>(SelectionMode.Unselected) }
|
||||
|
||||
fun handleUnselectedEvent(event: SpaceFiltersEvent.Unselected) {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import io.element.android.libraries.matrix.api.core.RoomAlias
|
|||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.spaces.SpaceServiceFilter
|
||||
import io.element.android.libraries.previewutils.room.aSpaceRoom
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
class SpaceFiltersStateProvider : PreviewParameterProvider<SpaceFiltersState> {
|
||||
override val values: Sequence<SpaceFiltersState>
|
||||
|
|
@ -55,7 +55,7 @@ fun aSelectingSpaceFiltersState(
|
|||
searchQuery: String = "",
|
||||
eventSink: (SpaceFiltersEvent.Selecting) -> Unit = {},
|
||||
) = SpaceFiltersState.Selecting(
|
||||
availableFilters = persistentListOf(*availableFilters.toTypedArray()),
|
||||
availableFilters = availableFilters.toImmutableList(),
|
||||
searchQuery = TextFieldState(searchQuery),
|
||||
eventSink = eventSink,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ import io.element.android.libraries.designsystem.theme.components.Text
|
|||
import io.element.android.libraries.matrix.api.spaces.SpaceServiceFilter
|
||||
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import timber.log.Timber
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue