@@ -11,80 +11,77 @@ import UIKit
1111
1212class App {
1313 static var instance = App ( )
14-
14+
1515 var isTabbed : Bool = true
16-
16+
1717 var sceneDelegate : SceneDelegate ?
18-
18+
1919 lazy var navigator = Navigator ( delegate: self )
2020 lazy var tabBarController = TabBarController ( app: self )
21-
22- private var currentUnreadMessagesCount : String ?
23-
21+
2422 var navigators : [ Navigator ] {
2523 if isTabbed {
2624 return tabBarController. navigators
2725 }
2826 return [ navigator]
2927 }
30-
28+
3129 var viewControllers : [ UIViewController ] {
3230 navigators. map ( \. rootViewController)
3331 }
34-
32+
3533 var window : UIWindow ? {
3634 sceneDelegate? . window
3735 }
38-
36+
3937 var isDebug : Bool {
4038#if DEBUG
4139 return true
4240#else
4341 return false
4442#endif
4543 }
46-
44+
4745 var isTestFlight : Bool {
4846 Bundle . main. appStoreReceiptURL? . lastPathComponent == " sandboxReceipt "
4947 }
50-
48+
5149 var environment : Environment {
5250 if isDebug {
5351 return . development
5452 }
55-
53+
5654 if isTestFlight {
5755 return . staging
5856 }
59-
57+
6058 return . production
6159 }
62-
60+
6361 func start( sceneDelegate: SceneDelegate ) {
6462 self . sceneDelegate = sceneDelegate
6563 self . tabBarController. setupTabs ( )
66-
64+
6765 switchToTabController ( )
6866 }
69-
67+
7068 func switchToNavigationController( ) {
7169 sceneDelegate? . window? . rootViewController = navigator. rootViewController
7270 self . isTabbed = false
7371 }
74-
72+
7573 func switchToTabController( ) {
7674 sceneDelegate? . window? . rootViewController = tabBarController
7775 self . isTabbed = true
7876 }
79-
77+
8078 func navigatorFor( title: String ) -> Navigator ? {
8179 tabBarController. navigatorFor ( title: title)
8280 }
8381}
8482
8583extension App : NavigatorDelegate {
8684 func handle( proposal: VisitProposal ) -> ProposalResult {
87-
8885 switch proposal. viewController {
8986 case " home " :
9087 let viewController = UIHostingController (
@@ -93,8 +90,12 @@ extension App: NavigatorDelegate {
9390 )
9491 )
9592
93+ App . instance. tabBarController. hideNavigationBarFor ( title: " Home " )
94+
9695 return . acceptCustom( viewController)
9796 default :
97+ App . instance. tabBarController. showNavigationBarFor ( title: " Home " )
98+
9899 return . accept
99100 }
100101 }
0 commit comments