fix broken nagivation

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2022-04-23 12:41:36 -07:00
parent 0c63433f8e
commit 4de2ce402e
15 changed files with 303 additions and 131 deletions

View File

@@ -7,30 +7,37 @@
import SwiftUI
struct ThreadView: View {
@StateObject var thread: ThreadModel
@State var is_thread: Bool = false
@State var is_chatroom: Bool = false
@EnvironmentObject var profiles: Profiles
@EnvironmentObject var thread: ThreadModel
var body: some View {
Group {
ChatroomView()
.environmentObject(thread)
.onReceive(NotificationCenter.default.publisher(for: .convert_to_thread)) { _ in
is_thread = true
}
if is_chatroom {
ChatroomView()
.navigationBarTitle("Chat")
.environmentObject(profiles)
.environmentObject(thread)
} else {
EventDetailView(thread: thread)
.navigationBarTitle("Thread")
.environmentObject(profiles)
.environmentObject(thread)
}
let edv = EventDetailView(thread: thread).environmentObject(profiles)
NavigationLink(destination: edv, isActive: $is_thread) {
/*
NavigationLink(destination: edv, isActive: $is_chatroom) {
EmptyView()
}
*/
}
.onDisappear() {
thread.unsubscribe()
}
.onAppear() {
thread.subscribe()
.onReceive(NotificationCenter.default.publisher(for: .toggle_thread_view)) { _ in
is_chatroom = !is_chatroom
//print("is_chatroom: \(is_chatroom)")
}
}
}