diff --git a/Wikipedia/Code/LoginCoordinator.swift b/Wikipedia/Code/LoginCoordinator.swift index ec75684fbef..465656edbdb 100644 --- a/Wikipedia/Code/LoginCoordinator.swift +++ b/Wikipedia/Code/LoginCoordinator.swift @@ -7,6 +7,7 @@ final class LoginCoordinator: Coordinator { var navigationController: UINavigationController var loginSuccessCompletion: (() -> Void)? + var createAccountSuccessCustomDismissBlock: (() -> Void)? // MARK: Properties @@ -24,6 +25,7 @@ final class LoginCoordinator: Coordinator { loginVC.apply(theme: theme) let loginNavVC = WMFThemeableNavigationController(rootViewController: loginVC, theme: theme) loginVC.loginSuccessCompletion = loginSuccessCompletion + loginVC.createAccountSuccessCustomDismissBlock = createAccountSuccessCustomDismissBlock if let presentedVC = navigationController.presentedViewController { presentedVC.present(loginNavVC, animated: true) diff --git a/Wikipedia/Code/ProfileCoordinator.swift b/Wikipedia/Code/ProfileCoordinator.swift index d27570c098b..fcce76baa91 100644 --- a/Wikipedia/Code/ProfileCoordinator.swift +++ b/Wikipedia/Code/ProfileCoordinator.swift @@ -201,6 +201,12 @@ final class ProfileCoordinator: NSObject, Coordinator, ProfileCoordinatorDelegat self.showYearInReview() } } + + loginCoordinator.createAccountSuccessCustomDismissBlock = { + self.dismissProfile { + self.showYearInReview() + } + } loginCoordinator.start() } diff --git a/Wikipedia/Code/WMFAccountCreationViewController.swift b/Wikipedia/Code/WMFAccountCreationViewController.swift index 853cfca4393..bf232cf69b3 100644 --- a/Wikipedia/Code/WMFAccountCreationViewController.swift +++ b/Wikipedia/Code/WMFAccountCreationViewController.swift @@ -21,6 +21,8 @@ class WMFAccountCreationViewController: WMFScrollViewController, WMFCaptchaViewC @IBOutlet fileprivate weak var scrollContainer: UIView! + public var createAccountSuccessCustomDismissBlock: (() -> Void)? + // SINGLETONTODO let dataStore = MWKDataStore.shared() @@ -227,10 +229,16 @@ class WMFAccountCreationViewController: WMFScrollViewController, WMFCaptchaViewC } else { assertionFailure("startDate is nil; startDate is required to calculate timeElapsed") } - let presenter = self.presentingViewController - self.dismiss(animated: true, completion: { - presenter?.wmf_showEnableReadingListSyncPanel(theme: self.theme, oncePerLogin: true) - }) + + if let customDismissBlock = self.createAccountSuccessCustomDismissBlock { + customDismissBlock() + } else { + let presenter = self.presentingViewController + self.dismiss(animated: true, completion: { + presenter?.wmf_showEnableReadingListSyncPanel(theme: self.theme, oncePerLogin: true) + }) + } + case .failure(let error): self.setViewControllerUserInteraction(enabled: true) self.enableProgressiveButtonIfNecessary() diff --git a/Wikipedia/Code/WMFLoginViewController.swift b/Wikipedia/Code/WMFLoginViewController.swift index d9de3238e58..aa6cad80d59 100644 --- a/Wikipedia/Code/WMFLoginViewController.swift +++ b/Wikipedia/Code/WMFLoginViewController.swift @@ -17,6 +17,7 @@ class WMFLoginViewController: WMFScrollViewController, UITextFieldDelegate, WMFC @IBOutlet weak var scrollContainer: UIView! public var loginSuccessCompletion: (() -> Void)? + public var createAccountSuccessCustomDismissBlock: (() -> Void)? public var loginDismissedCompletion: (() -> Void)? private var startDate: Date? // to calculate time elapsed between login start and login success @@ -269,6 +270,7 @@ class WMFLoginViewController: WMFScrollViewController, UITextFieldDelegate, WMFC return } createAcctVC.category = category + createAcctVC.createAccountSuccessCustomDismissBlock = createAccountSuccessCustomDismissBlock createAcctVC.apply(theme: theme) LoginFunnel.shared.logCreateAccountAttempt(category: category) dismiss(animated: true, completion: {
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: