Fixes #1140 - Dismiss all modals when presenting a room

This commit is contained in:
Stefan Ceriu
2023-08-10 09:55:10 +03:00
committed by Stefan Ceriu
parent 8a69ca1ce0
commit a73502a146
12 changed files with 56 additions and 5 deletions
@@ -106,6 +106,10 @@ final class RoomScreenCoordinator: CoordinatorProtocol {
.store(in: &cancellables)
}
func stop() {
viewModel.stop()
}
func toPresentable() -> AnyView {
AnyView(RoomScreen(context: viewModel.context, composerToolbar: ComposerToolbar(context: composerViewModel.context)))
}
@@ -89,6 +89,11 @@ class RoomScreenViewModel: RoomScreenViewModelType, RoomScreenViewModelProtocol
actionsSubject.eraseToAnyPublisher()
}
func stop() {
// Work around QLPreviewController dismissal issues, see the InteractiveQuickLookModifier.
state.bindings.mediaPreviewItem = nil
}
override func process(viewAction: RoomScreenViewAction) {
switch viewAction {
case .displayRoomDetails:
@@ -23,4 +23,5 @@ protocol RoomScreenViewModelProtocol {
var actions: AnyPublisher<RoomScreenViewModelAction, Never> { get }
var context: RoomScreenViewModelType.Context { get }
func process(composerAction: ComposerToolbarViewModelAction)
func stop()
}