88 lines
2.7 KiB
Swift
88 lines
2.7 KiB
Swift
import SwiftUI
|
|
import ProxyCore
|
|
|
|
struct MoreView: View {
|
|
@Environment(AppState.self) private var appState
|
|
|
|
var body: some View {
|
|
List {
|
|
Section {
|
|
NavigationLink {
|
|
SetupGuideView()
|
|
} label: {
|
|
Label {
|
|
VStack(alignment: .leading) {
|
|
Text("Setup Guide")
|
|
Text(appState.isVPNConnected ? "Ready to Intercept" : "Setup Required")
|
|
.font(.caption)
|
|
.foregroundStyle(appState.isVPNConnected ? .green : .orange)
|
|
}
|
|
} icon: {
|
|
Image(systemName: "checkmark.shield.fill")
|
|
.foregroundStyle(appState.isVPNConnected ? .green : .orange)
|
|
}
|
|
}
|
|
|
|
NavigationLink {
|
|
CertificateView()
|
|
} label: {
|
|
Label("Certificate", systemImage: "lock.shield")
|
|
}
|
|
}
|
|
|
|
Section("Rules") {
|
|
NavigationLink {
|
|
SSLProxyingListView()
|
|
} label: {
|
|
Label("SSL Proxying List", systemImage: "lock.fill")
|
|
}
|
|
|
|
NavigationLink {
|
|
BlockListView()
|
|
} label: {
|
|
Label("Block List", systemImage: "xmark.shield")
|
|
}
|
|
|
|
NavigationLink {
|
|
BreakpointRulesView()
|
|
} label: {
|
|
Label("Breakpoint", systemImage: "pause.circle")
|
|
}
|
|
|
|
NavigationLink {
|
|
MapLocalView()
|
|
} label: {
|
|
Label("Map Local", systemImage: "doc.on.doc")
|
|
}
|
|
|
|
NavigationLink {
|
|
NoCachingView()
|
|
} label: {
|
|
Label("No Caching", systemImage: "arrow.clockwise.circle")
|
|
}
|
|
|
|
NavigationLink {
|
|
DNSSpoofingView()
|
|
} label: {
|
|
Label("DNS Spoofing", systemImage: "network")
|
|
}
|
|
}
|
|
|
|
Section("Settings") {
|
|
NavigationLink {
|
|
AdvancedSettingsView()
|
|
} label: {
|
|
Label("Advanced", systemImage: "gearshape.2")
|
|
}
|
|
|
|
NavigationLink {
|
|
AppSettingsView()
|
|
} label: {
|
|
Label("App Settings", systemImage: "gearshape")
|
|
}
|
|
}
|
|
}
|
|
.navigationTitle("More")
|
|
}
|
|
}
|