@@ -261,44 +261,31 @@ class MoreMenuViewController: UIViewController {
261261 }
262262
263263 private func openSettings( ) {
264- let settingsVC = UIHostingController ( rootView: SettingsMenuView ( ) )
265- let navController = UINavigationController ( rootViewController: settingsVC)
264+ let settingsView = SettingsMenuView ( onDismiss: { [ weak self] in
265+ self ? . dismiss ( animated: true ) {
266+ MainViewController . rebuildTabsIfNeeded ( )
267+ }
268+ } )
269+ let settingsVC = UIHostingController ( rootView: settingsView)
266270
267271 let style = Storage . shared. appearanceMode. value. userInterfaceStyle
268272 settingsVC. overrideUserInterfaceStyle = style
269- navController. overrideUserInterfaceStyle = style
270273
271- settingsVC. navigationItem. rightBarButtonItem = UIBarButtonItem (
272- image: UIImage ( systemName: " checkmark " ) ,
273- style: . plain,
274- target: self ,
275- action: #selector( dismissSettingsModal)
276- )
277- settingsVC. navigationItem. rightBarButtonItem? . tintColor = . systemBlue
278-
279- navController. modalPresentationStyle = . fullScreen
280- present ( navController, animated: true )
274+ settingsVC. modalPresentationStyle = . fullScreen
275+ present ( settingsVC, animated: true )
281276 }
282277
283278 private func openAlarmsConfig( ) {
284- let alarmsVC = UIHostingController ( rootView: AlarmsContainerView ( ) )
285- alarmsVC. title = " Alarms "
286- let navController = UINavigationController ( rootViewController: alarmsVC)
279+ let alarmsView = AlarmsContainerView ( onDismiss: { [ weak self] in
280+ self ? . dismiss ( animated: true )
281+ } )
282+ let alarmsVC = UIHostingController ( rootView: alarmsView)
287283
288284 let style = Storage . shared. appearanceMode. value. userInterfaceStyle
289285 alarmsVC. overrideUserInterfaceStyle = style
290- navController. overrideUserInterfaceStyle = style
291286
292- alarmsVC. navigationItem. rightBarButtonItem = UIBarButtonItem (
293- image: UIImage ( systemName: " checkmark " ) ,
294- style: . plain,
295- target: self ,
296- action: #selector( dismissModal)
297- )
298- alarmsVC. navigationItem. rightBarButtonItem? . tintColor = . systemBlue
299-
300- navController. modalPresentationStyle = . fullScreen
301- present ( navController, animated: true )
287+ alarmsVC. modalPresentationStyle = . fullScreen
288+ present ( alarmsVC, animated: true )
302289 }
303290
304291 private func openRemote( ) {
@@ -458,13 +445,6 @@ class MoreMenuViewController: UIViewController {
458445
459446 // MARK: - Helpers
460447
461- @objc private func dismissSettingsModal( ) {
462- dismiss ( animated: true ) {
463- // Rebuild tabs after settings is dismissed to apply any tab order changes
464- MainViewController . rebuildTabsIfNeeded ( )
465- }
466- }
467-
468448 private func getMainViewController( ) -> MainViewController ? {
469449 guard let tabBarController = tabBarController else { return nil }
470450
0 commit comments