mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:01:40 +00:00
UserListEvents -> UserListEvent
This commit is contained in:
+7
-7
@@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.startchat.impl.userlist.UserListEvents
|
||||
import io.element.android.features.startchat.impl.userlist.UserListEvent
|
||||
import io.element.android.features.startchat.impl.userlist.UserListState
|
||||
import io.element.android.features.startchat.impl.userlist.UserListStatePreviewParam
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||
@@ -63,13 +63,13 @@ fun UserListView(
|
||||
showLoader = state.showSearchLoader,
|
||||
isMultiSelectionEnable = state.isMultiSelectionEnabled,
|
||||
showBackButton = showBackButton,
|
||||
onActiveChange = { state.eventSink(UserListEvents.OnSearchActiveChanged(it)) },
|
||||
onActiveChange = { state.eventSink(UserListEvent.OnSearchActiveChanged(it)) },
|
||||
onUserSelect = {
|
||||
state.eventSink(UserListEvents.AddToSelection(it))
|
||||
state.eventSink(UserListEvent.AddToSelection(it))
|
||||
onSelectUser(it)
|
||||
},
|
||||
onUserDeselect = {
|
||||
state.eventSink(UserListEvents.RemoveFromSelection(it))
|
||||
state.eventSink(UserListEvent.RemoveFromSelection(it))
|
||||
onDeselectUser(it)
|
||||
},
|
||||
)
|
||||
@@ -80,7 +80,7 @@ fun UserListView(
|
||||
selectedUsers = state.selectedUsers,
|
||||
autoScroll = true,
|
||||
onUserRemove = {
|
||||
state.eventSink(UserListEvents.RemoveFromSelection(it))
|
||||
state.eventSink(UserListEvent.RemoveFromSelection(it))
|
||||
onDeselectUser(it)
|
||||
},
|
||||
)
|
||||
@@ -104,10 +104,10 @@ fun UserListView(
|
||||
checked = isSelected,
|
||||
onCheckedChange = {
|
||||
if (isSelected) {
|
||||
state.eventSink(UserListEvents.RemoveFromSelection(recentDirectRoom.matrixUser))
|
||||
state.eventSink(UserListEvent.RemoveFromSelection(recentDirectRoom.matrixUser))
|
||||
onDeselectUser(recentDirectRoom.matrixUser)
|
||||
} else {
|
||||
state.eventSink(UserListEvents.AddToSelection(recentDirectRoom.matrixUser))
|
||||
state.eventSink(UserListEvent.AddToSelection(recentDirectRoom.matrixUser))
|
||||
onSelectUser(recentDirectRoom.matrixUser)
|
||||
}
|
||||
},
|
||||
|
||||
+4
-4
@@ -85,11 +85,11 @@ class DefaultUserListPresenter(
|
||||
}.launchIn(this)
|
||||
}
|
||||
|
||||
fun handleEvent(event: UserListEvents) {
|
||||
fun handleEvent(event: UserListEvent) {
|
||||
when (event) {
|
||||
is UserListEvents.OnSearchActiveChanged -> isSearchActive = event.active
|
||||
is UserListEvents.AddToSelection -> userListDataStore.selectUser(event.matrixUser)
|
||||
is UserListEvents.RemoveFromSelection -> userListDataStore.removeUserFromSelection(event.matrixUser)
|
||||
is UserListEvent.OnSearchActiveChanged -> isSearchActive = event.active
|
||||
is UserListEvent.AddToSelection -> userListDataStore.selectUser(event.matrixUser)
|
||||
is UserListEvent.RemoveFromSelection -> userListDataStore.removeUserFromSelection(event.matrixUser)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -10,8 +10,8 @@ package io.element.android.features.startchat.impl.userlist
|
||||
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
|
||||
sealed interface UserListEvents {
|
||||
data class AddToSelection(val matrixUser: MatrixUser) : UserListEvents
|
||||
data class RemoveFromSelection(val matrixUser: MatrixUser) : UserListEvents
|
||||
data class OnSearchActiveChanged(val active: Boolean) : UserListEvents
|
||||
sealed interface UserListEvent {
|
||||
data class AddToSelection(val matrixUser: MatrixUser) : UserListEvent
|
||||
data class RemoveFromSelection(val matrixUser: MatrixUser) : UserListEvent
|
||||
data class OnSearchActiveChanged(val active: Boolean) : UserListEvent
|
||||
}
|
||||
+1
-1
@@ -23,7 +23,7 @@ data class UserListState(
|
||||
val isSearchActive: Boolean,
|
||||
val selectionMode: SelectionMode,
|
||||
val recentDirectRooms: ImmutableList<RecentDirectRoom>,
|
||||
val eventSink: (UserListEvents) -> Unit,
|
||||
val eventSink: (UserListEvent) -> Unit,
|
||||
) {
|
||||
val isMultiSelectionEnabled = selectionMode == SelectionMode.Multiple
|
||||
}
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ fun aUserListState(
|
||||
showSearchLoader: Boolean = false,
|
||||
selectionMode: SelectionMode = SelectionMode.Single,
|
||||
recentDirectRooms: List<RecentDirectRoom> = emptyList(),
|
||||
eventSink: (UserListEvents) -> Unit = {},
|
||||
eventSink: (UserListEvent) -> Unit = {},
|
||||
) = UserListState(
|
||||
searchQuery = TextFieldState(initialText = searchQuery),
|
||||
isSearchActive = isSearchActive,
|
||||
|
||||
Reference in New Issue
Block a user