punchnet-macos/punchnet/Views/Network/NetworkView.swift
2026-01-16 17:17:53 +08:00

83 lines
2.1 KiB
Swift

//
// NetworkView.swift
// punchnet
//
// Created by on 2026/1/16.
//
import SwiftUI
struct NetworkView: View {
@State private var state = NetworkState()
var body: some View {
VStack {
HStack {
VStack {
HStack(alignment: .center) {
Text(state.model.name)
Text(">")
Spacer()
}
HStack {
Toggle("", isOn: $state.isOn)
.toggleStyle(SwitchToggleStyle(tint: .green))
Text("已连接")
Spacer()
}
}
.frame(width: 320)
//
HStack {
Button {
self.state.showModel = .resource
} label: {
Text("资源")
}
Button {
self.state.showModel = .device
} label: {
Text("设备")
}
}
Spacer()
}
Group {
switch state.connectState {
case .waitAuth:
NetworkWaitAuthView(state: self.state)
case .connected:
NetworkConnctedView(state: self.state)
case .disconnected:
NetworkDisconnctedView(state: self.state)
}
}
Spacer()
}
.padding(.top, 10)
.padding(.leading, 10)
.toolbar {
ToolbarItem(placement: .primaryAction) {
Button {
print("clicked")
} label: {
Image(systemName: "gearshape")
}
}
}
}
}
#Preview {
NetworkView()
}