mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-04-13 05:26:48 +00:00
* ios: move onion and private routing to advanced network settings, enable private routing by default * update * update labels * update localizations
85 lines
2.7 KiB
Swift
85 lines
2.7 KiB
Swift
//
|
|
// NetworkServersView.swift
|
|
// SimpleX (iOS)
|
|
//
|
|
// Created by Evgeny on 02/08/2022.
|
|
// Copyright © 2022 SimpleX Chat. All rights reserved.
|
|
//
|
|
|
|
import SwiftUI
|
|
import SimpleXChat
|
|
|
|
private enum NetworkAlert: Identifiable {
|
|
case error(err: String)
|
|
|
|
var id: String {
|
|
switch self {
|
|
case let .error(err): return "error \(err)"
|
|
}
|
|
}
|
|
}
|
|
|
|
struct NetworkAndServers: View {
|
|
@EnvironmentObject var m: ChatModel
|
|
@EnvironmentObject var theme: AppTheme
|
|
|
|
var body: some View {
|
|
VStack {
|
|
List {
|
|
Section {
|
|
NavigationLink {
|
|
ProtocolServersView(serverProtocol: .smp)
|
|
.navigationTitle("Your SMP servers")
|
|
.modifier(ThemedBackground(grouped: true))
|
|
} label: {
|
|
Text("Message servers")
|
|
}
|
|
|
|
NavigationLink {
|
|
ProtocolServersView(serverProtocol: .xftp)
|
|
.navigationTitle("Your XFTP servers")
|
|
.modifier(ThemedBackground(grouped: true))
|
|
} label: {
|
|
Text("Media & file servers")
|
|
}
|
|
|
|
NavigationLink {
|
|
AdvancedNetworkSettings()
|
|
.navigationTitle("Advanced settings")
|
|
.modifier(ThemedBackground(grouped: true))
|
|
} label: {
|
|
Text("Advanced network settings")
|
|
}
|
|
} header: {
|
|
Text("Messages & files")
|
|
.foregroundColor(theme.colors.secondary)
|
|
}
|
|
|
|
Section(header: Text("Calls").foregroundColor(theme.colors.secondary)) {
|
|
NavigationLink {
|
|
RTCServers()
|
|
.navigationTitle("Your ICE servers")
|
|
.modifier(ThemedBackground(grouped: true))
|
|
} label: {
|
|
Text("WebRTC ICE servers")
|
|
}
|
|
}
|
|
|
|
Section(header: Text("Network connection").foregroundColor(theme.colors.secondary)) {
|
|
HStack {
|
|
Text(m.networkInfo.networkType.text)
|
|
Spacer()
|
|
Image(systemName: "circle.fill").foregroundColor(m.networkInfo.online ? .green : .red)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
struct NetworkServersView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
NetworkAndServers()
|
|
}
|
|
}
|