Files
sing-box-for-apple/ApplicationLibrary/Views/Dashboard/Cards/HTTPProxyCard.swift
T
2025-11-27 16:10:55 +08:00

36 lines
1.1 KiB
Swift

import Library
import SwiftUI
public struct HTTPProxyCard: View {
@EnvironmentObject private var profile: ExtensionProfile
@Binding private var systemProxyAvailable: Bool
@Binding private var systemProxyEnabled: Bool
private let onToggle: (Bool) async -> Void
public init(
systemProxyAvailable: Binding<Bool>,
systemProxyEnabled: Binding<Bool>,
onToggle: @escaping (Bool) async -> Void
) {
_systemProxyAvailable = systemProxyAvailable
_systemProxyEnabled = systemProxyEnabled
self.onToggle = onToggle
}
public var body: some View {
DashboardCardView(title: "", isHalfWidth: false) {
HStack {
Text("System HTTP Proxy")
Spacer()
Toggle("", isOn: $systemProxyEnabled)
.labelsHidden()
.onChangeCompat(of: systemProxyEnabled) { newValue in
Task {
await onToggle(newValue)
}
}
}
}
}
}