Merge branch 'develop' into ismail/5068_start_thread

This commit is contained in:
ismailgulek
2022-01-17 11:35:10 +03:00
300 changed files with 6253 additions and 924 deletions

View File

@@ -21,11 +21,10 @@ import UIKit
import SwiftUI
struct PollEditFormCoordinatorParameters {
let navigationRouter: NavigationRouterType?
let room: MXRoom
}
final class PollEditFormCoordinator: Coordinator {
final class PollEditFormCoordinator: Coordinator, Presentable {
// MARK: - Properties
@@ -42,9 +41,10 @@ final class PollEditFormCoordinator: Coordinator {
// MARK: Public
// Must be used only internally
var childCoordinators: [Coordinator] = []
var completion: (() -> Void)?
// MARK: - Setup
@available(iOS 14.0, *)
@@ -65,13 +65,11 @@ final class PollEditFormCoordinator: Coordinator {
return
}
parameters.navigationRouter?.present(pollEditFormHostingController, animated: true)
pollEditFormViewModel.completion = { [weak self] result in
guard let self = self else { return }
switch result {
case .cancel:
self.parameters.navigationRouter?.dismissModule(animated: true, completion: nil)
self.completion?()
case .create(let question, let answerOptions):
var options = [MXEventContentPollStartAnswerOption]()
for answerOption in answerOptions {
@@ -88,8 +86,8 @@ final class PollEditFormCoordinator: Coordinator {
self.parameters.room.sendPollStart(withContent: pollStartContent, threadId: nil, localEcho: nil) { [weak self] result in
guard let self = self else { return }
self.parameters.navigationRouter?.dismissModule(animated: true, completion: nil)
self.pollEditFormViewModel.dispatch(action: .stopLoading(nil))
self.completion?()
} failure: { [weak self] error in
guard let self = self else { return }
@@ -99,4 +97,10 @@ final class PollEditFormCoordinator: Coordinator {
}
}
}
// MARK: - Private
func toPresentable() -> UIViewController {
return pollEditFormHostingController
}
}

View File

@@ -87,7 +87,7 @@ struct PollEditForm: View {
.alert(isPresented: $viewModel.showsFailureAlert) {
Alert(title: Text(VectorL10n.pollEditFormPostFailureTitle),
message: Text(VectorL10n.pollEditFormPostFailureSubtitle),
dismissButton: .default(Text(VectorL10n.pollEditFormPostFailureAction)))
dismissButton: .default(Text(VectorL10n.ok)))
}
.frame(minHeight: proxy.size.height) // Make the VStack fill the ScrollView's parent
.toolbar {