Make sure we pass the via parameters with all the routes.

Put the event ID first.

Fix tests.

Bump the SDK.
This commit is contained in:
Doug
2024-05-09 12:25:54 +01:00
committed by Stefan Ceriu
parent 52b6c25bd8
commit 1e0a6d76ae
23 changed files with 293 additions and 199 deletions
@@ -24,7 +24,8 @@ struct RoomDirectorySearchScreenCoordinatorParameters {
}
enum RoomDirectorySearchScreenCoordinatorAction {
case select(roomID: String)
case selectAlias(String)
case selectRoomID(String)
case dismiss
}
@@ -48,8 +49,10 @@ final class RoomDirectorySearchScreenCoordinator: CoordinatorProtocol {
viewModel.actionsPublisher.sink { [weak self] action in
guard let self else { return }
switch action {
case .select(let roomID):
actionsSubject.send(.select(roomID: roomID))
case .selectAlias(let alias):
actionsSubject.send(.selectAlias(alias))
case .selectRoomID(let roomID):
actionsSubject.send(.selectRoomID(roomID))
case .dismiss:
actionsSubject.send(.dismiss)
}
@@ -17,7 +17,8 @@
import Foundation
enum RoomDirectorySearchScreenViewModelAction {
case select(roomID: String)
case selectAlias(String)
case selectRoomID(String)
case dismiss
}
@@ -35,6 +36,6 @@ struct RoomDirectorySearchScreenViewStateBindings {
enum RoomDirectorySearchScreenViewAction {
case dismiss
case select(roomID: String)
case select(room: RoomDirectorySearchResult)
case reachedBottom
}
@@ -65,8 +65,12 @@ class RoomDirectorySearchScreenViewModel: RoomDirectorySearchScreenViewModelType
switch viewAction {
case .dismiss:
actionsSubject.send(.dismiss)
case .select(roomID: let roomID):
actionsSubject.send(.select(roomID: roomID))
case .select(let room):
if let alias = room.alias {
actionsSubject.send(.selectAlias(alias))
} else {
actionsSubject.send(.selectRoomID(room.id))
}
case .reachedBottom:
loadNextPage()
}
@@ -26,7 +26,7 @@ struct RoomDirectorySearchScreen: View {
Section {
ForEach(context.viewState.rooms) { room in
RoomDirectorySearchCell(result: room, imageProvider: context.imageProvider) {
context.send(viewAction: .select(roomID: room.id))
context.send(viewAction: .select(room: room))
}
}
} footer: {