diff --git a/yobble/Services/IncomingMessageCenter.swift b/yobble/Services/IncomingMessageCenter.swift index 170109d..a397427 100644 --- a/yobble/Services/IncomingMessageCenter.swift +++ b/yobble/Services/IncomingMessageCenter.swift @@ -1,6 +1,11 @@ import Foundation import Combine +struct ChatNavigationTarget: Identifiable { + let id = UUID() + let chat: PrivateChatListItem +} + final class IncomingMessageCenter: ObservableObject { @Published private(set) var banner: IncomingMessageBanner? @Published var presentedChat: PrivateChatListItem? @@ -122,9 +127,4 @@ final class IncomingMessageCenter: ObservableObject { dismissWorkItem = workItem DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: workItem) } - - struct ChatNavigationTarget: Identifiable { - let id = UUID() - let chat: PrivateChatListItem - } } diff --git a/yobble/Views/Tab/ChatsTab.swift b/yobble/Views/Tab/ChatsTab.swift index b188026..b0b5978 100644 --- a/yobble/Views/Tab/ChatsTab.swift +++ b/yobble/Views/Tab/ChatsTab.swift @@ -12,7 +12,7 @@ import UIKit struct ChatsTab: View { @ObservedObject private var loginViewModel: LoginViewModel - @Binding private var pendingNavigation: IncomingMessageCenter.ChatNavigationTarget? + @Binding private var pendingNavigation: ChatNavigationTarget? @Binding var searchRevealProgress: CGFloat @Binding var searchText: String private let searchService = SearchService() @@ -41,7 +41,7 @@ struct ChatsTab: View { init( loginViewModel: LoginViewModel, - pendingNavigation: Binding, + pendingNavigation: Binding, searchRevealProgress: Binding, searchText: Binding ) { @@ -1195,7 +1195,7 @@ struct ChatsTab_Previews: PreviewProvider { @State private var progress: CGFloat = 1 @State private var searchText: String = "" @StateObject private var loginViewModel = LoginViewModel() - @State private var pendingNavigation: IncomingMessageCenter.ChatNavigationTarget? + @State private var pendingNavigation: ChatNavigationTarget? var body: some View { ChatsTab( diff --git a/yobble/Views/Tab/MainView.swift b/yobble/Views/Tab/MainView.swift index 2295401..b281fd5 100644 --- a/yobble/Views/Tab/MainView.swift +++ b/yobble/Views/Tab/MainView.swift @@ -34,7 +34,7 @@ struct MainView: View { var body: some View { NavigationView { - let pendingNavigationBinding: Binding = AppConfig.PRESENT_CHAT_AS_SHEET + let pendingNavigationBinding: Binding = AppConfig.PRESENT_CHAT_AS_SHEET ? .constant(nil) : Binding( get: { messageCenter.pendingNavigation }, diff --git a/yobble/config.swift b/yobble/config.swift index c720ec4..dc7d87c 100644 --- a/yobble/config.swift +++ b/yobble/config.swift @@ -14,7 +14,7 @@ struct AppConfig { static let DISABLE_DB = false /// Controls whether incoming chat opens as a modal sheet (`true`) or navigates to Chats tab (`false`). - static let PRESENT_CHAT_AS_SHEET = true + static let PRESENT_CHAT_AS_SHEET = false /// Fallback SQLCipher key used until the user sets an application password. static let DEFAULT_DATABASE_ENCRYPTION_KEY = "yobble_dev_change_me" }