diff --git a/Session/Conversations/ConversationVC+Interaction.swift b/Session/Conversations/ConversationVC+Interaction.swift index 585f18583..e3857d8c2 100644 --- a/Session/Conversations/ConversationVC+Interaction.swift +++ b/Session/Conversations/ConversationVC+Interaction.swift @@ -2036,6 +2036,7 @@ extension ConversationVC: confirmStyle: .danger, cancelTitle: "cancel".localized(), cancelStyle: .alert_text, + dismissOnConfirm: false, onConfirm: { [weak self, dependencies = viewModel.dependencies] modal in /// Determine the selected action index let selectedIndex: Int = { @@ -2061,24 +2062,29 @@ extension ConversationVC: .publisherForAction(at: selectedIndex, using: dependencies) .sinkUntilComplete( receiveCompletion: { result in - DispatchQueue.main.async { - self?.viewModel.showToast( - text: { - switch result { - case .finished: - return "deleteMessageDeleted" - .putNumber(messagesToDelete.count) - .localized() - - case .failure: - return "deleteMessageFailed" - .putNumber(messagesToDelete.count) - .localized() - } - }(), - backgroundColor: .backgroundSecondary, - inset: (self?.inputAccessoryView?.frame.height ?? Values.mediumSpacing) + Values.smallSpacing - ) + switch result { + case .finished: + DispatchQueue.main.async { + self?.viewModel.showToast( + text: "deleteMessageDeleted" + .putNumber(messagesToDelete.count) + .localized(), + backgroundColor: .backgroundSecondary, + inset: (self?.inputAccessoryView?.frame.height ?? Values.mediumSpacing) + Values.smallSpacing + ) + + modal.dismiss(animated: true) + } + case .failure: + DispatchQueue.main.async { + self?.viewModel.showToast( + text: "deleteMessageFailed" + .putNumber(messagesToDelete.count) + .localized(), + backgroundColor: .backgroundSecondary, + inset: (self?.inputAccessoryView?.frame.height ?? Values.mediumSpacing) + Values.smallSpacing + ) + } } } )