From 3523c7ebd768b5825f236bb90cae9d192e169dd8 Mon Sep 17 00:00:00 2001 From: JRoberts <8711996+jr-simplex@users.noreply.github.com> Date: Sat, 15 Oct 2022 15:47:04 +0400 Subject: [PATCH] ios: fix ContactConnectionInfo share sheet (#1215) --- .../Views/ChatList/ContactConnectionInfo.swift | 14 +++++--------- apps/ios/Shared/Views/NewChat/AddContactView.swift | 4 ++-- apps/ios/Shared/Views/NewChat/CreateLinkView.swift | 6 +++--- .../Shared/Views/UserSettings/SettingsView.swift | 2 +- .../Shared/Views/UserSettings/UserAddress.swift | 4 ++-- 5 files changed, 13 insertions(+), 17 deletions(-) diff --git a/apps/ios/Shared/Views/ChatList/ContactConnectionInfo.swift b/apps/ios/Shared/Views/ChatList/ContactConnectionInfo.swift index 8a6e2141df..99c07a6795 100644 --- a/apps/ios/Shared/Views/ChatList/ContactConnectionInfo.swift +++ b/apps/ios/Shared/Views/ChatList/ContactConnectionInfo.swift @@ -14,7 +14,6 @@ struct ContactConnectionInfo: View { @Environment(\.dismiss) var dismiss: DismissAction @State var contactConnection: PendingContactConnection @State private var alert: CCInfoAlert? - @State private var showQRCodeView = false @State private var localAlias = "" @FocusState private var aliasTextFieldFocused: Bool @@ -60,9 +59,11 @@ struct ContactConnectionInfo: View { .onSubmit(setConnectionAlias) } - if contactConnection.initiated && contactConnection.connReqInv != nil { - Button { - showQRCodeView = true + if contactConnection.initiated, + let connReqInv = contactConnection.connReqInv { + NavigationLink { + AddContactView(contactConnection: contactConnection, connReqInvitation: connReqInv, viaNavLink: true) + .navigationBarTitleDisplayMode(.inline) } label: { Label("Show QR code", systemImage: "qrcode") .foregroundColor(contactConnection.incognito ? .indigo : .accentColor) @@ -79,11 +80,6 @@ struct ContactConnectionInfo: View { } .listStyle(.insetGrouped) } - .sheet(isPresented: $showQRCodeView) { - if let connReqInv = contactConnection.connReqInv { - AddContactView(contactConnection: contactConnection, connReqInvitation: connReqInv) - } - } .alert(item: $alert) { _alert in switch _alert { case .deleteInvitationAlert: diff --git a/apps/ios/Shared/Views/NewChat/AddContactView.swift b/apps/ios/Shared/Views/NewChat/AddContactView.swift index d6a1c128a7..5fa9be654e 100644 --- a/apps/ios/Shared/Views/NewChat/AddContactView.swift +++ b/apps/ios/Shared/Views/NewChat/AddContactView.swift @@ -14,7 +14,7 @@ struct AddContactView: View { @EnvironmentObject private var chatModel: ChatModel var contactConnection: PendingContactConnection? = nil var connReqInvitation: String - var viaSettings = false + var viaNavLink = false var body: some View { ScrollView { @@ -22,7 +22,7 @@ struct AddContactView: View { Text("One-time invitation link") .font(.largeTitle) .bold() - .padding(viaSettings ? .bottom : .vertical) + .padding(viaNavLink ? .bottom : .vertical) Text("Your contact can scan it from the app.") .padding(.bottom, 4) if (contactConnection?.incognito ?? chatModel.incognito) { diff --git a/apps/ios/Shared/Views/NewChat/CreateLinkView.swift b/apps/ios/Shared/Views/NewChat/CreateLinkView.swift index 03700a519f..8e81cd02ec 100644 --- a/apps/ios/Shared/Views/NewChat/CreateLinkView.swift +++ b/apps/ios/Shared/Views/NewChat/CreateLinkView.swift @@ -18,11 +18,11 @@ struct CreateLinkView: View { @State var selection: CreateLinkTab @State var connReqInvitation: String = "" @State private var creatingConnReq = false - var viaSettings = false + var viaNavLink = false var body: some View { TabView(selection: $selection) { - AddContactView(connReqInvitation: connReqInvitation, viaSettings: viaSettings) + AddContactView(connReqInvitation: connReqInvitation, viaNavLink: viaNavLink) .tabItem { Label( connReqInvitation == "" @@ -32,7 +32,7 @@ struct CreateLinkView: View { ) } .tag(CreateLinkTab.oneTime) - UserAddress(viaSettings: viaSettings) + UserAddress(viaNavLink: viaNavLink) .tabItem { Label("Your contact address", systemImage: "infinity.circle") } diff --git a/apps/ios/Shared/Views/UserSettings/SettingsView.swift b/apps/ios/Shared/Views/UserSettings/SettingsView.swift index 45fdd6eb1c..c1081ce232 100644 --- a/apps/ios/Shared/Views/UserSettings/SettingsView.swift +++ b/apps/ios/Shared/Views/UserSettings/SettingsView.swift @@ -93,7 +93,7 @@ struct SettingsView: View { .disabled(chatModel.chatRunning != true) NavigationLink { - CreateLinkView(selection: .longTerm, viaSettings: true) + CreateLinkView(selection: .longTerm, viaNavLink: true) .navigationBarTitleDisplayMode(.inline) } label: { settingsRow("qrcode") { Text("Your SimpleX contact address") } diff --git a/apps/ios/Shared/Views/UserSettings/UserAddress.swift b/apps/ios/Shared/Views/UserSettings/UserAddress.swift index 89b8a93b01..21fc893d40 100644 --- a/apps/ios/Shared/Views/UserSettings/UserAddress.swift +++ b/apps/ios/Shared/Views/UserSettings/UserAddress.swift @@ -12,7 +12,7 @@ import SimpleXChat struct UserAddress: View { @EnvironmentObject private var chatModel: ChatModel @State private var alert: UserAddressAlert? - var viaSettings = false + var viaNavLink = false private enum UserAddressAlert: Identifiable { case deleteAddress @@ -32,7 +32,7 @@ struct UserAddress: View { Text("Your contact address") .font(.largeTitle) .bold() - .padding(viaSettings ? .bottom : .vertical) + .padding(viaNavLink ? .bottom : .vertical) Text("You can share your address as a link or as a QR code - anybody will be able to connect to you. You won't lose your contacts if you later delete it.") .padding(.bottom) if let userAdress = chatModel.userAddress {