From 977ae29949ca98fb6d898a0ee707a2eebc569bbc Mon Sep 17 00:00:00 2001 From: William Casarin Date: Sat, 31 Dec 2022 18:09:25 -0800 Subject: [PATCH] Fix navigation popping in DM view --- damus/Views/DirectMessagesView.swift | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/damus/Views/DirectMessagesView.swift b/damus/Views/DirectMessagesView.swift index 97e18ee6..f5b0a167 100644 --- a/damus/Views/DirectMessagesView.swift +++ b/damus/Views/DirectMessagesView.swift @@ -9,10 +9,19 @@ import SwiftUI struct DirectMessagesView: View { let damus_state: DamusState + + @State var open_dm: Bool = false + @State var pubkey: String = "" + @State var active_model: DirectMessageModel = DirectMessageModel() @EnvironmentObject var model: DirectMessagesModel var MainContent: some View { ScrollView { + let chat = DMChatView(damus_state: damus_state, pubkey: pubkey) + .environmentObject(active_model) + NavigationLink(destination: chat, isActive: $open_dm) { + EmptyView() + } LazyVStack { if model.dms.isEmpty, !model.loading { EmptyTimelineView() @@ -30,12 +39,12 @@ struct DirectMessagesView: View { func MaybeEvent(_ tup: (String, DirectMessageModel)) -> some View { Group { if let ev = tup.1.events.last { - let chat = DMChatView(damus_state: damus_state, pubkey: tup.0) - .environmentObject(tup.1) - NavigationLink(destination: chat) { - EventView(damus: damus_state, event: ev, pubkey: tup.0, show_friend_icon: true) - } - .buttonStyle(PlainButtonStyle()) + EventView(damus: damus_state, event: ev, pubkey: tup.0, show_friend_icon: true) + .onTapGesture { + pubkey = tup.0 + active_model = tup.1 + open_dm = true + } } else { EmptyView() }