83 lines
2.1 KiB
Swift
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()
|
|
}
|