* ios: incognito types * wip * wip * wip * wip * wip * cleaner interface * CIGroupInvitationView logic * masks not filled * ui improvements * wip * wip * incognito may be compromised alerts * help * remove modifier * Update apps/ios/Shared/Views/Chat/ChatItem/CIGroupInvitationView.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * Update apps/ios/Shared/Views/Chat/Group/AddGroupMembersView.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * Update apps/ios/Shared/Views/UserSettings/IncognitoHelp.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * Update apps/ios/Shared/Views/UserSettings/IncognitoHelp.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * Update apps/ios/Shared/Views/UserSettings/IncognitoHelp.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * Update apps/ios/Shared/Views/UserSettings/IncognitoHelp.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * Update apps/ios/Shared/Views/UserSettings/IncognitoHelp.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * Update apps/ios/Shared/Views/UserSettings/IncognitoHelp.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * contact request * texts * ; * prepare for merge * restore help * wip * update help * wip * update incognito help * the * Update apps/ios/Shared/Views/UserSettings/IncognitoHelp.swift Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> * wording * translations * secondary color * translations * translations * fix Your Chats title Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
89 lines
3.1 KiB
Swift
89 lines
3.1 KiB
Swift
//
|
|
// PasteToConnectView.swift
|
|
// SimpleX (iOS)
|
|
//
|
|
// Created by Ian Davies on 22/04/2022.
|
|
// Copyright © 2022 SimpleX Chat. All rights reserved.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct PasteToConnectView: View {
|
|
@EnvironmentObject var chatModel: ChatModel
|
|
@Environment(\.dismiss) var dismiss: DismissAction
|
|
@State private var connectionLink: String = ""
|
|
|
|
var body: some View {
|
|
VStack(alignment: .leading) {
|
|
Text("Connect via link")
|
|
.font(.title)
|
|
.padding(.vertical)
|
|
Text("Paste the link you received into the box below to connect with your contact.")
|
|
.padding(.bottom, 4)
|
|
if (chatModel.incognito) {
|
|
HStack {
|
|
Image(systemName: "theatermasks").foregroundColor(.indigo).font(.footnote)
|
|
Spacer().frame(width: 8)
|
|
Text("A random profile will be sent to the contact that you received this link from").font(.footnote)
|
|
}
|
|
.padding(.bottom)
|
|
} else {
|
|
HStack {
|
|
Image(systemName: "info.circle").foregroundColor(.secondary).font(.footnote)
|
|
Spacer().frame(width: 8)
|
|
Text("Your profile will be sent to the contact that you received this link from").font(.footnote)
|
|
}
|
|
.padding(.bottom)
|
|
}
|
|
TextEditor(text: $connectionLink)
|
|
.onSubmit(connect)
|
|
.textInputAutocapitalization(.never)
|
|
.disableAutocorrection(true)
|
|
.allowsTightening(false)
|
|
.frame(height: 180)
|
|
.overlay(
|
|
RoundedRectangle(cornerRadius: 10)
|
|
.strokeBorder(.secondary, lineWidth: 0.3, antialiased: true)
|
|
)
|
|
|
|
HStack(spacing: 20) {
|
|
if connectionLink == "" {
|
|
Button {
|
|
connectionLink = UIPasteboard.general.string ?? ""
|
|
} label: {
|
|
Label("Paste", systemImage: "doc.plaintext")
|
|
}
|
|
} else {
|
|
Button {
|
|
connectionLink = ""
|
|
} label: {
|
|
Label("Clear", systemImage: "multiply")
|
|
}
|
|
|
|
}
|
|
Spacer()
|
|
Button(action: connect, label: {
|
|
Label("Connect", systemImage: "link")
|
|
})
|
|
.disabled(connectionLink == "" || connectionLink.trimmingCharacters(in: .whitespaces).firstIndex(of: " ") != nil)
|
|
}
|
|
.frame(height: 48)
|
|
.padding(.bottom)
|
|
|
|
Text("You can also connect by clicking the link. If it opens in the browser, click **Open in mobile app** button.")
|
|
}
|
|
.padding()
|
|
.frame(maxHeight: .infinity, alignment: .top)
|
|
}
|
|
|
|
private func connect() {
|
|
connectViaLink(connectionLink.trimmingCharacters(in: .whitespaces), dismiss)
|
|
}
|
|
}
|
|
|
|
struct PasteToConnectView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
PasteToConnectView()
|
|
}
|
|
}
|