11import UIKit
2+ import WordPressAuthenticator
23
34@objc
45class MySitesCoordinator : NSObject {
@@ -18,8 +19,9 @@ class MySitesCoordinator: NSObject {
1819 init ( meScenePresenter: ScenePresenter , onBecomeActiveTab becomeActiveTab: @escaping ( ) -> Void ) {
1920 self . meScenePresenter = meScenePresenter
2021 self . becomeActiveTab = becomeActiveTab
21-
2222 super. init ( )
23+
24+ addSignInObserver ( )
2325 }
2426
2527 // MARK: - Root View Controller
@@ -73,9 +75,13 @@ class MySitesCoordinator: NSObject {
7375 } ( )
7476
7577 private lazy var mySiteViewController : MySiteViewController = {
76- MySiteViewController ( meScenePresenter : self . meScenePresenter )
78+ makeMySiteViewController ( )
7779 } ( )
7880
81+ private func makeMySiteViewController( ) -> MySiteViewController {
82+ MySiteViewController ( meScenePresenter: self . meScenePresenter)
83+ }
84+
7985 // MARK: - Navigation
8086
8187 func showRootViewController( ) {
@@ -219,4 +225,19 @@ class MySitesCoordinator: NSObject {
219225
220226 navigationController. pushViewController ( listViewController, animated: false )
221227 }
228+
229+ // MARK: Notifications Handling
230+
231+ private func addSignInObserver( ) {
232+ let notificationName = NSNotification . Name ( WordPressAuthenticator . WPSigninDidFinishNotification)
233+ NotificationCenter . default. addObserver ( self ,
234+ selector: #selector( signinDidFinish) ,
235+ name: notificationName,
236+ object: nil )
237+ }
238+
239+ @objc func signinDidFinish( ) {
240+ mySiteViewController = makeMySiteViewController ( )
241+ navigationController. viewControllers = [ rootContentViewController]
242+ }
222243}
0 commit comments