From 692680d1e9f0b74fe51d95eba93a9230a009eb1f Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 7 May 2024 19:07:42 +0400 Subject: [PATCH] message button to open chat --- apps/ios/Shared/Views/Chat/ChatInfoView.swift | 9 +++++++-- apps/ios/Shared/Views/Chat/ChatView.swift | 2 +- .../Shared/Views/Chat/Contacts/ContactListNavLink.swift | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ChatInfoView.swift b/apps/ios/Shared/Views/Chat/ChatInfoView.swift index 4a0e04ec67..cfa902c9a6 100644 --- a/apps/ios/Shared/Views/Chat/ChatInfoView.swift +++ b/apps/ios/Shared/Views/Chat/ChatInfoView.swift @@ -103,6 +103,7 @@ enum ContactDeleteMode { struct ChatInfoView: View { @EnvironmentObject var chatModel: ChatModel @Environment(\.dismiss) var dismiss: DismissAction + var openedFromChatView: Bool @ObservedObject var chat: Chat @State var contact: Contact @State var localAlias: String @@ -401,8 +402,11 @@ struct ChatInfoView: View { private func messageButton() -> some View { Button { - dismiss() - chatModel.chatId = chat.id + if openedFromChatView { + dismiss() + } else { + chatModel.chatId = chat.id + } } label: { actionButton("message.fill", "message") } @@ -689,6 +693,7 @@ func syncConnectionForceAlert(_ syncConnectionForce: @escaping () -> Void) -> Al struct ChatInfoView_Previews: PreviewProvider { static var previews: some View { ChatInfoView( + openedFromChatView: true, chat: Chat(chatInfo: ChatInfo.sampleData.direct, chatItems: []), contact: Contact.sampleData, localAlias: "" diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index 71cba592a7..3e8831aae4 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -113,7 +113,7 @@ struct ChatView: View { ChatInfoToolbar(chat: chat) } .sheet(isPresented: $showChatInfoSheet) { - ChatInfoView(chat: chat, contact: contact, localAlias: chat.chatInfo.localAlias) + ChatInfoView(openedFromChatView: true, chat: chat, contact: contact, localAlias: chat.chatInfo.localAlias) } } else if case let .group(groupInfo) = cInfo { Button { diff --git a/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift b/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift index 80e1142fe8..6b4b316e7d 100644 --- a/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift +++ b/apps/ios/Shared/Views/Chat/Contacts/ContactListNavLink.swift @@ -31,6 +31,7 @@ struct ContactListNavLink: View { case let .direct(contact): NavigationLink { ChatInfoView( + openedFromChatView: false, chat: chat, contact: contact, localAlias: chat.chatInfo.localAlias