Skip to content
Snippets Groups Projects
Commit 12d752e2 authored by Bruno Muniz's avatar Bruno Muniz :apple:
Browse files

Fix compilation issues

parent 30fb4cb3
Branches
No related tags found
1 merge request!66Using new client wrapper
Showing
with 167 additions and 155 deletions
...@@ -223,6 +223,7 @@ let package = Package( ...@@ -223,6 +223,7 @@ let package = Package(
dependencies: [ dependencies: [
.target(name: "Models"), .target(name: "Models"),
.target(name: "Defaults"), .target(name: "Defaults"),
.target(name: "ReportingFeature"),
.target(name: "DependencyInjection"), .target(name: "DependencyInjection"),
.product(name: "XXDatabase", package: "client-ios-db"), .product(name: "XXDatabase", package: "client-ios-db"),
] ]
...@@ -625,6 +626,7 @@ let package = Package( ...@@ -625,6 +626,7 @@ let package = Package(
.target(name: "Defaults"), .target(name: "Defaults"),
.target(name: "Presentation"), .target(name: "Presentation"),
.target(name: "DrawerFeature"), .target(name: "DrawerFeature"),
.target(name: "ReportingFeature"),
.target(name: "DependencyInjection"), .target(name: "DependencyInjection"),
] ]
), ),
......
...@@ -129,14 +129,14 @@ struct DependencyRegistrator { ...@@ -129,14 +129,14 @@ struct DependencyRegistrator {
container.register( container.register(
TermsCoordinator.live( TermsCoordinator.live(
usernameFactory: OnboardingUsernameController.init(_:), usernameFactory: OnboardingUsernameController.init,
chatListFactory: ChatListController.init chatListFactory: ChatListController.init
) )
) )
container.register( container.register(
LaunchCoordinator( LaunchCoordinator(
termsFactory: TermsConditionsController.init(_:), termsFactory: TermsConditionsController.init,
searchFactory: SearchContainerController.init, searchFactory: SearchContainerController.init,
requestsFactory: RequestsContainerController.init, requestsFactory: RequestsContainerController.init,
chatListFactory: ChatListController.init, chatListFactory: ChatListController.init,
......
...@@ -7,7 +7,6 @@ import Combine ...@@ -7,7 +7,6 @@ import Combine
import XXModels import XXModels
import Voxophone import Voxophone
import ChatLayout import ChatLayout
import Integration
import DrawerFeature import DrawerFeature
import DifferenceKit import DifferenceKit
import ReportingFeature import ReportingFeature
...@@ -23,7 +22,7 @@ typealias OutgoingFailedGroupReplyCell = CollectionCell<FlexibleSpace, ReplyStac ...@@ -23,7 +22,7 @@ typealias OutgoingFailedGroupReplyCell = CollectionCell<FlexibleSpace, ReplyStac
public final class GroupChatController: UIViewController { public final class GroupChatController: UIViewController {
@Dependency private var hud: HUD @Dependency private var hud: HUD
@Dependency private var session: SessionType @Dependency private var database: Database
@Dependency private var coordinator: ChatCoordinating @Dependency private var coordinator: ChatCoordinating
@Dependency private var reportingStatus: ReportingStatus @Dependency private var reportingStatus: ReportingStatus
@Dependency private var makeReportDrawer: MakeReportDrawer @Dependency private var makeReportDrawer: MakeReportDrawer
...@@ -360,7 +359,7 @@ extension GroupChatController: UICollectionViewDataSource { ...@@ -360,7 +359,7 @@ extension GroupChatController: UICollectionViewDataSource {
var isSenderBanned = false var isSenderBanned = false
if let sender = try? session.dbManager.fetchContacts(.init(id: [item.senderId])).first { if let sender = try? database.fetchContacts(.init(id: [item.senderId])).first {
isSenderBanned = sender.isBanned isSenderBanned = sender.isBanned
} }
......
...@@ -93,7 +93,7 @@ final class GroupChatViewModel { ...@@ -93,7 +93,7 @@ final class GroupChatViewModel {
} }
func didRequestReport(_ message: Message) { func didRequestReport(_ message: Message) {
if let contact = try? session.dbManager.fetchContacts(.init(id: [message.senderId])).first { if let contact = try? database.fetchContacts(.init(id: [message.senderId])).first {
reportPopupSubject.send(contact) reportPopupSubject.send(contact)
} }
} }
...@@ -253,7 +253,7 @@ final class GroupChatViewModel { ...@@ -253,7 +253,7 @@ final class GroupChatViewModel {
username: contact.username! username: contact.username!
), ),
recipient: .init( recipient: .init(
userId: session.myId.base64EncodedString(), userId: myId.base64EncodedString(),
username: username! username: username!
), ),
type: .group, type: .group,
...@@ -288,7 +288,7 @@ final class GroupChatViewModel { ...@@ -288,7 +288,7 @@ final class GroupChatViewModel {
private func blockContact(_ contact: Contact) { private func blockContact(_ contact: Contact) {
var contact = contact var contact = contact
contact.isBlocked = true contact.isBlocked = true
_ = try? session.dbManager.saveContact(contact) _ = try? database.saveContact(contact)
} }
private func presentReportConfirmation(contact: Contact) { private func presentReportConfirmation(contact: Contact) {
......
...@@ -6,6 +6,7 @@ import Combine ...@@ -6,6 +6,7 @@ import Combine
import XXLogger import XXLogger
import XXModels import XXModels
import XXClient import XXClient
import Defaults
import Foundation import Foundation
import Permissions import Permissions
import ToastFeature import ToastFeature
...@@ -424,7 +425,7 @@ final class SingleChatViewModel: NSObject { ...@@ -424,7 +425,7 @@ final class SingleChatViewModel: NSObject {
username: contact.username! username: contact.username!
), ),
recipient: .init( recipient: .init(
userId: session.myId.base64EncodedString(), userId: myId.base64EncodedString(),
username: username! username: username!
), ),
type: .dm, type: .dm,
...@@ -454,7 +455,7 @@ final class SingleChatViewModel: NSObject { ...@@ -454,7 +455,7 @@ final class SingleChatViewModel: NSObject {
private func blockContact() { private func blockContact() {
var contact = contact var contact = contact
contact.isBlocked = true contact.isBlocked = true
_ = try? session.dbManager.saveContact(contact) _ = try? database.saveContact(contact)
} }
private func presentReportConfirmation() { private func presentReportConfirmation() {
......
...@@ -71,10 +71,10 @@ final class ChatListViewModel { ...@@ -71,10 +71,10 @@ final class ChatListViewModel {
isBanned: reportingStatus.isEnabled() ? false : nil isBanned: reportingStatus.isEnabled() ? false : nil
) )
Publishers.CombineLatest3( return Publishers.CombineLatest3(
database.fetchContactsPublisher(contactsQuery) database.fetchContactsPublisher(contactsQuery)
.assertNoFailure() .assertNoFailure()
.map { $0.filter { $0.id != self.session.myId }}, .map { $0.filter { $0.id != self.myId }},
chatsPublisher, chatsPublisher,
searchSubject searchSubject
.removeDuplicates() .removeDuplicates()
......
...@@ -16,7 +16,7 @@ public protocol LaunchCoordinating { ...@@ -16,7 +16,7 @@ public protocol LaunchCoordinating {
public struct LaunchCoordinator: LaunchCoordinating { public struct LaunchCoordinator: LaunchCoordinating {
var replacePresenter: Presenting = ReplacePresenter() var replacePresenter: Presenting = ReplacePresenter()
var termsFactory: (String?) -> UIViewController var termsFactory: () -> UIViewController
var searchFactory: (String) -> UIViewController var searchFactory: (String) -> UIViewController
var requestsFactory: () -> UIViewController var requestsFactory: () -> UIViewController
var chatListFactory: () -> UIViewController var chatListFactory: () -> UIViewController
...@@ -25,7 +25,7 @@ public struct LaunchCoordinator: LaunchCoordinating { ...@@ -25,7 +25,7 @@ public struct LaunchCoordinator: LaunchCoordinating {
var groupChatFactory: (GroupInfo) -> UIViewController var groupChatFactory: (GroupInfo) -> UIViewController
public init( public init(
termsFactory: @escaping (String?) -> UIViewController, termsFactory: @escaping () -> UIViewController,
searchFactory: @escaping (String) -> UIViewController, searchFactory: @escaping (String) -> UIViewController,
requestsFactory: @escaping () -> UIViewController, requestsFactory: @escaping () -> UIViewController,
chatListFactory: @escaping () -> UIViewController, chatListFactory: @escaping () -> UIViewController,
...@@ -51,7 +51,7 @@ public extension LaunchCoordinator { ...@@ -51,7 +51,7 @@ public extension LaunchCoordinator {
} }
func toTerms(from parent: UIViewController) { func toTerms(from parent: UIViewController) {
let screen = termsFactory(nil) let screen = termsFactory()
replacePresenter.present(screen, from: parent) replacePresenter.present(screen, from: parent)
} }
......
...@@ -93,14 +93,15 @@ final class LaunchViewModel { ...@@ -93,14 +93,15 @@ final class LaunchViewModel {
} }
func versionApproved() { func versionApproved() {
//self.updateBannedList { updateBannedList { [weak self] in
guard let self = self else { return }
_ = try? SetLogLevel.live(.trace) _ = try? SetLogLevel.live(.trace)
try! setupDatabase() try! self.setupDatabase()
if cMixManager.hasStorage(), username != nil { if self.cMixManager.hasStorage(), self.username != nil {
checkBiometrics { [weak self] in self.checkBiometrics { [weak self] in
guard let self = self else { return } guard let self = self else { return }
switch $0 { switch $0 {
...@@ -112,7 +113,7 @@ final class LaunchViewModel { ...@@ -112,7 +113,7 @@ final class LaunchViewModel {
let cMix = try self.initCMix() let cMix = try self.initCMix()
try cMix.startNetworkFollower(timeoutMS: 10_000) try cMix.startNetworkFollower(timeoutMS: 10_000)
guard cMix.waitForNetwork(timeoutMS: 10_000) else { guard cMix.waitForNetwork(timeoutMS: 30_000) else {
fatalError("^^^ cMix.waitForNetwork returned FALSE") fatalError("^^^ cMix.waitForNetwork returned FALSE")
} }
...@@ -122,7 +123,6 @@ final class LaunchViewModel { ...@@ -122,7 +123,6 @@ final class LaunchViewModel {
_ = try self.initTransferManager(e2e) _ = try self.initTransferManager(e2e)
_ = try self.initDummyTrafficManager(e2e) _ = try self.initDummyTrafficManager(e2e)
self.hudSubject.send(.none) self.hudSubject.send(.none)
self.routeSubject.send(.chats) self.routeSubject.send(.chats)
} catch { } catch {
...@@ -131,12 +131,11 @@ final class LaunchViewModel { ...@@ -131,12 +131,11 @@ final class LaunchViewModel {
case .failure(let error): case .failure(let error):
self.hudSubject.send(.error(.init(with: error))) self.hudSubject.send(.error(.init(with: error)))
} }
case .failure(let error):
self.hudSubject.send(.error(HUDError(with: error)))
} }
} else { } else {
cleanUp() self.cleanUp()
presentOnboardingFlow() self.presentOnboardingFlow()
}
} }
} }
...@@ -326,15 +325,17 @@ final class LaunchViewModel { ...@@ -326,15 +325,17 @@ final class LaunchViewModel {
let cert = alternative ? try Data(contentsOf: URL(fileURLWithPath: certPath)) : e2e.getUdCertFromNdf() let cert = alternative ? try Data(contentsOf: URL(fileURLWithPath: certPath)) : e2e.getUdCertFromNdf()
let contactFile = alternative ? try Data(contentsOf: URL(fileURLWithPath: contactFilePath)) : try e2e.getUdContactFromNdf() let contactFile = alternative ? try Data(contentsOf: URL(fileURLWithPath: contactFilePath)) : try e2e.getUdContactFromNdf()
let userDiscovery = try NewOrLoadUd.live(.init( let userDiscovery = try NewOrLoadUd.live(
params: .init(
e2eId: e2e.getId(), e2eId: e2e.getId(),
follower: .init(handle: { cMix.networkFollowerStatus().rawValue }),
username: username!, username: username!,
registrationValidationSignature: cMix.getReceptionRegistrationValidationSignature(), registrationValidationSignature: cMix.getReceptionRegistrationValidationSignature(),
cert: cert, cert: cert,
contactFile: contactFile, contactFile: contactFile,
address: address address: address
)) ),
follower: .init(handle: { cMix.networkFollowerStatus() })
)
DependencyInjection.Container.shared.register(userDiscovery) DependencyInjection.Container.shared.register(userDiscovery)
return userDiscovery return userDiscovery
...@@ -519,14 +520,14 @@ final class LaunchViewModel { ...@@ -519,14 +520,14 @@ final class LaunchViewModel {
switch result { switch result {
case .success(let userId): case .success(let userId):
let query = Contact.Query(id: [userId]) let query = Contact.Query(id: [userId])
if var contact = try! self.session.dbManager.fetchContacts(query).first { if var contact = try! database.fetchContacts(query).first {
if contact.isBanned == false { if contact.isBanned == false {
contact.isBanned = true contact.isBanned = true
try! self.session.dbManager.saveContact(contact) try! database.saveContact(contact)
self.enqueueBanWarning(contact: contact) self.enqueueBanWarning(contact: contact)
} }
} else { } else {
try! self.session.dbManager.saveContact(.init(id: userId, isBanned: true)) try! database.saveContact(.init(id: userId, isBanned: true))
} }
case .failure(_): case .failure(_):
......
<xxc(2)7mbKFLE201WzH4SGxAOpHjjehwztIV+KGifi5L/PYPcDkAZiB9kZo+Dl3Vc7dD2SdZCFMOJVgwqGzfYRDkjc8RGEllBqNxq2sRRX09iQVef0kJQUgJCHNCOcvm6Ki0JJwvjLceyFh36iwK8oLbhLgqEZY86UScdACTyBCzBIab3ob5mBthYc3mheV88yq5PGF2DQ+dEvueUm+QhOSfwzppAJA/rpW9Wq9xzYcQzaqc3ztAGYfm2BBAHS7HVmkCbvZ/K07Xrl4EBPGHJYq12tWAN/C3mcbbBYUOQXyEzbSl/mO7sL3ORr0B4FMuqCi8EdlD6RO52pVhY+Cg6roRH1t5Ng1JxPt8Mv1yyjbifPhZ5fLKwxBz8UiFORfk0/jnhwgm25LRHqtNRRUlYXLvhv0HhqyYTUt17WNtCLATSVbqLrFGdy2EGadn8mP+kQNHp93f27d/uHgBNNe7LpuYCJMdWpoG6bOqmHEftxt0/MIQA8fTtTm3jJzv+7/QjZJDvQIv0SNdp8HFogpuwde+GuS4BcY7v5xz+ArGWcRR63ct2z83MqQEn9ODr1/gAAAgA7szRpDDQIdFUQo9mkWg8xBA==xxc> <xxc(2)TMJw0XHBSzVPUAo/ZsAuD5DiOF1RH8uxZxUHW2KG9PYDkAZiB9kZo+Dl3a+leHJP1aP7KQtifEOGqQAxsBnOtd2nIe3/jw//LDqs8mZcL8wsMydDoFwycEZQIHg85L17q6u3pRMXcSfvFLBuL6H2HxP+U3Sox9YTgaPNK191opr14t03jfM7gaBcdbk9PE/hwUeotu3eTavqy4lFNIa917wZCDf+n9aGz9jB2q/axf0x+h0h1uVQD6xaAJD5gqyvCmECU/iCaYCbPUh+zFfSEymujIFWscZAJL6ocPn9DCYw80mbKpm0BDQRBm+EVqo4KVMsLqbx0hJJ8Vh5a8c9f+aiBXjlwnZJ2Z8DzxbsVg7VzJc5sn5Dl0ajrkzBdZBWbgOJEgN7nIdmb3gW7poVUR1JtRIctW3wS+7/qHmLZC1SQ+x3O+eEFmb5HrulsvsUkIkFKRPQguwql9HLDA00zqg5tuDzy5yqyP//xZY4SelSTMDO/pkOMP921LaXsRzBWMGCRWa/uzaDhIgnXVs2cyxM1K5jLwQml44QWAxxTGBX/EhYpMbHLAn4+QAAAgA7Nv4tnMt8oC0Ffog/appCEA==xxc>
\ No newline at end of file
...@@ -132,15 +132,17 @@ final class OnboardingUsernameViewModel { ...@@ -132,15 +132,17 @@ final class OnboardingUsernameViewModel {
let cert = alternative ? try Data(contentsOf: URL(fileURLWithPath: certPath)) : e2e.getUdCertFromNdf() let cert = alternative ? try Data(contentsOf: URL(fileURLWithPath: certPath)) : e2e.getUdCertFromNdf()
let contactFile = alternative ? try Data(contentsOf: URL(fileURLWithPath: contactFilePath)) : try e2e.getUdContactFromNdf() let contactFile = alternative ? try Data(contentsOf: URL(fileURLWithPath: contactFilePath)) : try e2e.getUdContactFromNdf()
let userDiscovery = try NewOrLoadUd.live(.init( let userDiscovery = try NewOrLoadUd.live(
params: .init(
e2eId: e2e.getId(), e2eId: e2e.getId(),
follower: .init(handle: { cMix.networkFollowerStatus().rawValue }),
username: self.stateRelay.value.input, username: self.stateRelay.value.input,
registrationValidationSignature: cMix.getReceptionRegistrationValidationSignature(), registrationValidationSignature: cMix.getReceptionRegistrationValidationSignature(),
cert: cert, cert: cert,
contactFile: contactFile, contactFile: contactFile,
address: address address: address
)) ),
follower: .init(handle: { cMix.networkFollowerStatus() })
)
username = self.stateRelay.value.input username = self.stateRelay.value.input
DependencyInjection.Container.shared.register(userDiscovery) DependencyInjection.Container.shared.register(userDiscovery)
......
...@@ -179,11 +179,19 @@ final class RestoreViewModel { ...@@ -179,11 +179,19 @@ final class RestoreViewModel {
from: paramsData from: paramsData
) )
var phoneFact: Fact?
self.phone = facts.phone self.phone = facts.phone
self.email = facts.email self.email = facts.email
var emailFact: Fact? = {
if let email = facts.email { return Fact(fact: email, type: FactType.email.rawValue) }
return nil
}()
var phoneFact: Fact? = {
if let phone = facts.phone { return Fact(fact: phone, type: FactType.phone.rawValue) }
return nil
}()
let cMix = try self.cMixManager.load() let cMix = try self.cMixManager.load()
DependencyInjection.Container.shared.register(cMix) DependencyInjection.Container.shared.register(cMix)
...@@ -225,15 +233,18 @@ final class RestoreViewModel { ...@@ -225,15 +233,18 @@ final class RestoreViewModel {
fatalError("Couldn't retrieve alternative UD credentials") fatalError("Couldn't retrieve alternative UD credentials")
} }
let userDiscovery = try NewUdManagerFromBackup.live(.init( let userDiscovery = try NewUdManagerFromBackup.live(
params: .init(
e2eId: e2e.getId(), e2eId: e2e.getId(),
follower: .init(handle: { cMix.networkFollowerStatus().rawValue }), username: Fact(fact: facts.username, type: 0),
email: nil, email: emailFact,
phone: nil, phone: phoneFact,
cert: Data(contentsOf: URL(fileURLWithPath: certPath)), cert: Data(contentsOf: URL(fileURLWithPath: certPath)),
contactFile: Data(contentsOf: URL(fileURLWithPath: contactFilePath)), contactFile: Data(contentsOf: URL(fileURLWithPath: contactFilePath)),
address: "46.101.98.49:18001" address: "46.101.98.49:18001"
)) ),
follower: .init(handle: { cMix.networkFollowerStatus() })
)
DependencyInjection.Container.shared.register(userDiscovery) DependencyInjection.Container.shared.register(userDiscovery)
......
...@@ -25,6 +25,7 @@ struct SearchLeftViewState { ...@@ -25,6 +25,7 @@ struct SearchLeftViewState {
final class SearchLeftViewModel { final class SearchLeftViewModel {
@Dependency var e2e: E2E @Dependency var e2e: E2E
@Dependency var cMix: CMix
@Dependency var database: Database @Dependency var database: Database
@Dependency var userDiscovery: UserDiscovery @Dependency var userDiscovery: UserDiscovery
@Dependency var reportingStatus: ReportingStatus @Dependency var reportingStatus: ReportingStatus
...@@ -107,41 +108,43 @@ final class SearchLeftViewModel { ...@@ -107,41 +108,43 @@ final class SearchLeftViewModel {
hudSubject.send(.onAction(Localized.Ud.Search.cancel)) hudSubject.send(.onAction(Localized.Ud.Search.cancel))
var content = stateSubject.value.input var content = stateSubject.value.input
let prefix = stateSubject.value.item.written.first!.uppercased()
if stateSubject.value.item == .phone { if stateSubject.value.item == .phone {
content += stateSubject.value.country.code content += stateSubject.value.country.code
} }
// backgroundScheduler.schedule { [weak self] in let nrr = try! cMix.getNodeRegistrationStatus()
// guard let self = self else { return } print("^^^ NRR: \(nrr.ratio)")
backgroundScheduler.schedule { [weak self] in
guard let self = self else { return }
do { do {
let report = try SearchUD.live( let report = try SearchUD.live(
e2eId: self.e2e.getId(), e2eId: self.e2e.getId(),
udContact: self.userDiscovery.getContact(), udContact: self.userDiscovery.getContact(),
facts: [Fact(fact: "teste", type: 0)], facts: [Fact(fact: content, type: self.stateSubject.value.item.rawValue)],
callback: .init(handle: { callback: .init(handle: {
switch $0 { switch $0 {
case .success(let dataArray): case .success(let dataArray):
print("^^^ \(#file):\(#line) \(dataArray.map { $0.base64EncodedString() })") print("^^^ searchUD success: \(dataArray.map { $0.base64EncodedString() })")
// self.hudSubject.send(.none) self.hudSubject.send(.none)
// self.appendToLocalSearch(contact) // self.appendToLocalSearch(contact)
case .failure(let error): case .failure(let error):
print("^^^ \(#file):\(#line) error: \(error.localizedDescription)") print("^^^ searchUD error: \(error.localizedDescription)")
self.appendToLocalSearch(nil) self.appendToLocalSearch(nil)
self.hudSubject.send(.error(.init(with: error))) self.hudSubject.send(.error(.init(with: error)))
} }
}) })
) )
print(report) print("^^^ report: \(report))")
} catch { } catch {
print("^^^ \(#file):\(#line) error: \(error.localizedDescription)") print("^^^ exception: \(error.localizedDescription)")
}
} }
// }
} }
func didTapResend(contact: Contact) { func didTapResend(contact: Contact) {
......
...@@ -10,20 +10,13 @@ public final class TermsConditionsController: UIViewController { ...@@ -10,20 +10,13 @@ public final class TermsConditionsController: UIViewController {
@Dependency var coordinator: TermsCoordinator @Dependency var coordinator: TermsCoordinator
@Dependency var statusBarController: StatusBarStyleControlling @Dependency var statusBarController: StatusBarStyleControlling
@KeyObject(.username, defaultValue: nil) var username: String?
@KeyObject(.acceptedTerms, defaultValue: false) var didAcceptTerms: Bool @KeyObject(.acceptedTerms, defaultValue: false) var didAcceptTerms: Bool
lazy private var screenView = TermsConditionsView() lazy private var screenView = TermsConditionsView()
private let ndf: String?
private var cancellables = Set<AnyCancellable>() private var cancellables = Set<AnyCancellable>()
public init(_ ndf: String?) {
self.ndf = ndf
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) { nil }
public override func loadView() { public override func loadView() {
view = screenView view = screenView
} }
...@@ -72,10 +65,10 @@ public final class TermsConditionsController: UIViewController { ...@@ -72,10 +65,10 @@ public final class TermsConditionsController: UIViewController {
.sink { [unowned self] in .sink { [unowned self] in
didAcceptTerms = true didAcceptTerms = true
if let ndf = ndf { if let _ = username {
coordinator.presentUsername(ndf, self)
} else {
coordinator.presentChatList(self) coordinator.presentChatList(self)
} else {
coordinator.presentUsername(self)
} }
}.store(in: &cancellables) }.store(in: &cancellables)
......
...@@ -3,12 +3,12 @@ import Presentation ...@@ -3,12 +3,12 @@ import Presentation
public struct TermsCoordinator { public struct TermsCoordinator {
var presentChatList: (UIViewController) -> Void var presentChatList: (UIViewController) -> Void
var presentUsername: (String, UIViewController) -> Void var presentUsername: (UIViewController) -> Void
} }
public extension TermsCoordinator { public extension TermsCoordinator {
static func live( static func live(
usernameFactory: @escaping (String) -> UIViewController, usernameFactory: @escaping () -> UIViewController,
chatListFactory: @escaping () -> UIViewController chatListFactory: @escaping () -> UIViewController
) -> Self { ) -> Self {
.init( .init(
...@@ -16,9 +16,9 @@ public extension TermsCoordinator { ...@@ -16,9 +16,9 @@ public extension TermsCoordinator {
let presenter = ReplacePresenter() let presenter = ReplacePresenter()
presenter.present(chatListFactory(), from: parent) presenter.present(chatListFactory(), from: parent)
}, },
presentUsername: { ndf, parent in presentUsername: { parent in
let presenter = PushPresenter() let presenter = PushPresenter()
presenter.present(usernameFactory(ndf), from: parent) presenter.present(usernameFactory(), from: parent)
} }
) )
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment