@@ -4,25 +4,32 @@ import Foundation
44///
55public struct NavigateToEnterWPCOMPassword : NavigationCommand {
66 private let loginFields : LoginFields
7+ private let onDismiss : ( ) -> Void
78
8- public init ( loginFields: LoginFields ) {
9+ public init ( loginFields: LoginFields , onDismiss : ( ( ) -> Void ) ? ) {
910 self . loginFields = loginFields
11+ self . onDismiss = onDismiss ?? { }
1012 }
1113 public func execute( from: UIViewController ? ) {
1214 let navigationController = ( from as? UINavigationController ) ?? from? . navigationController
1315 presentPasswordView ( navigationController: navigationController,
14- loginFields: loginFields)
16+ loginFields: loginFields,
17+ onDismiss: onDismiss)
1518 }
1619}
1720
1821private extension NavigateToEnterWPCOMPassword {
19- func presentPasswordView( navigationController: UINavigationController ? , loginFields: LoginFields ) {
22+ func presentPasswordView( navigationController: UINavigationController ? , loginFields: LoginFields , onDismiss : @escaping ( ) -> Void ) {
2023 guard let controller = PasswordViewController . instantiate ( from: . password) else {
2124 WPAuthenticatorLogError ( " Failed to navigate to PasswordViewController from GetStartedViewController " )
2225 return
2326 }
2427
2528 controller. loginFields = loginFields
29+ controller. dismissBlock = { _ in
30+ onDismiss ( )
31+ }
32+
2633 navigationController? . pushViewController ( controller, animated: true )
2734 }
2835}
0 commit comments