88import UIKit
99import SwiftUI
1010
11- final class TabController : UITabBarController {
11+ final class TabBarController : UITabBarController {
1212 override func viewDidLoad( ) {
1313 super. viewDidLoad ( )
14+
15+ if #available( iOS 18 . 0 , * ) {
16+ self . mode = . tabSidebar
17+ }
18+
1419 _setupTabs ( )
1520 }
1621
@@ -24,22 +29,21 @@ final class TabController: UITabBarController {
2429 let sources = _createNavigation (
2530 with: . localized( " Sources " ) ,
2631 using: UIImage ( systemName: " globe.desk.fill " ) ,
27- controller: UIHostingController ( rootView: SourcesView ( ) ) ,
32+ controller: UIHostingController ( rootView: SourcesView ( ) . environment ( \ . managedObjectContext , Storage . shared . context ) ) ,
2833 withNavigation: false ,
2934 )
3035
3136 let library = _createNavigation (
3237 with: . localized( " Apps " ) ,
3338 using: UIImage ( systemName: " square.grid.2x2.fill " ) ,
34- controller: UIHostingController ( rootView: LibraryView ( ) ) ,
39+ controller: UIHostingController ( rootView: LibraryView ( ) . environment ( \ . managedObjectContext , Storage . shared . context ) ) ,
3540 withNavigation: false ,
3641 )
3742
3843 let settings = _createNavigation (
3944 with: . localized( " Settings " ) ,
4045 using: UIImage ( systemName: " gearshape.2.fill " ) ,
41- controller: UIHostingController ( rootView: SettingsView ( ) ) ,
42- withNavigation: false ,
46+ controller: SettingsViewController ( ) ,
4347 )
4448
4549 self . setViewControllers ( [
@@ -61,12 +65,10 @@ final class TabController: UITabBarController {
6165 let nav = UINavigationController ( rootViewController: controller)
6266 nav. tabBarItem. title = title
6367 nav. tabBarItem. image = image
64- nav. viewControllers. first? . navigationItem. title = title
6568 return nav
6669 } else {
6770 controller. tabBarItem. title = title
6871 controller. tabBarItem. image = image
69- controller. navigationItem. title = title
7072 return controller
7173 }
7274 }
0 commit comments