From 2679bc2e944c2ae9ac5df2501c9d9c06fc597d98 Mon Sep 17 00:00:00 2001 From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:24:46 +0000 Subject: [PATCH] ios: enable swipe to go back from chat to list (#1824) * ios: Testing workaround of a crash * another try * complete * added file * enable swipe to go back from ChatView * Revert "enable swipe to go back from ChatView" This reverts commit 22de79505c19fd89c593610d04067ff0c8e1e622. * ios: enable swipe to go back from ChatView * remove title change * remove unused * remove unused variable Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> --- apps/ios/Shared/Model/SimpleXAPI.swift | 1 - apps/ios/Shared/Views/Chat/ChatView.swift | 28 ++++++++----------- .../Shared/Views/ChatList/ChatListView.swift | 2 ++ 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index 30249c7390..b171ddf25b 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -946,7 +946,6 @@ func startChat() throws { } func changeActiveUser(_ userId: Int64) { - let m = ChatModel.shared do { try changeActiveUser_(userId) } catch let error { diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index b656950eb8..9da2c6a7d6 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -63,7 +63,6 @@ struct ChatView: View { .padding(.top, 1) .navigationTitle(cInfo.chatViewName) .navigationBarTitleDisplayMode(.inline) - .navigationBarBackButtonHidden(true) .onAppear { if chat.chatStats.unreadChat { Task { @@ -71,25 +70,20 @@ struct ChatView: View { } } } - .onChange(of: chatModel.chatId) { _ in - if chatModel.chatId == nil { dismiss() } - } - .toolbar { - ToolbarItem(placement: .navigationBarLeading) { - Button { - chatModel.chatId = nil - DispatchQueue.main.asyncAfter(deadline: .now() + 0.35) { - if chatModel.chatId == nil { - chatModel.reversedChatItems = [] - } - } - } label: { - HStack(spacing: 0) { - Image(systemName: "chevron.backward") - Text("Chats") + .onChange(of: chatModel.chatId) { _ in + if chatModel.chatId == nil { dismiss() } + } + .onDisappear { + if chatModel.chatId == cInfo.id { + chatModel.chatId = nil + DispatchQueue.main.asyncAfter(deadline: .now() + 0.35) { + if chatModel.chatId == nil { + chatModel.reversedChatItems = [] } } } + } + .toolbar { ToolbarItem(placement: .principal) { if case let .direct(contact) = cInfo { Button { diff --git a/apps/ios/Shared/Views/ChatList/ChatListView.swift b/apps/ios/Shared/Views/ChatList/ChatListView.swift index eaefaa0475..d23418101f 100644 --- a/apps/ios/Shared/Views/ChatList/ChatListView.swift +++ b/apps/ios/Shared/Views/ChatList/ChatListView.swift @@ -102,6 +102,8 @@ struct ChatListView: View { } Image(systemName: "theatermasks").frame(maxWidth: 24, maxHeight: 24, alignment: .center).foregroundColor(.indigo) } + } else { + Text("Your chats").font(.headline) } } ToolbarItem(placement: .navigationBarTrailing) {