fix toolbar
This commit is contained in:
parent
b1f128f4c4
commit
dde1b37f1f
@ -55,10 +55,21 @@ class NetworkState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 状态管理
|
// 状态管理
|
||||||
var connectState: ConnectState = .connected
|
var connectState: ConnectState = .disconnected
|
||||||
var model: NetworkModel = .init(name: "123@abc.com的网络")
|
var model: NetworkModel = .init(name: "123@abc.com的网络")
|
||||||
var showModel: ShowMode = .device
|
var showModel: ShowMode = .device
|
||||||
|
|
||||||
|
// 网络连接开关
|
||||||
|
var isOn: Bool = false {
|
||||||
|
didSet {
|
||||||
|
if isOn {
|
||||||
|
self.connectState = .connected
|
||||||
|
} else {
|
||||||
|
self.connectState = .disconnected
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 当前选中的设备
|
// 当前选中的设备
|
||||||
var selectedDevice: Device?
|
var selectedDevice: Device?
|
||||||
|
|
||||||
|
|||||||
@ -12,14 +12,41 @@ struct NetworkView: View {
|
|||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack {
|
VStack {
|
||||||
HStack(alignment: .center) {
|
HStack {
|
||||||
Text(state.model.name)
|
|
||||||
Text(">")
|
|
||||||
Spacer()
|
|
||||||
|
|
||||||
Image("logo")
|
VStack {
|
||||||
.resizable()
|
HStack(alignment: .center) {
|
||||||
.frame(width: 25, height: 25)
|
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 {
|
Group {
|
||||||
@ -35,9 +62,17 @@ struct NetworkView: View {
|
|||||||
|
|
||||||
Spacer()
|
Spacer()
|
||||||
}
|
}
|
||||||
.frame(width: 400, height: 400)
|
|
||||||
.padding(.top, 10)
|
.padding(.top, 10)
|
||||||
.padding(.leading, 10)
|
.padding(.leading, 10)
|
||||||
|
.toolbar {
|
||||||
|
ToolbarItem(placement: .primaryAction) {
|
||||||
|
Button {
|
||||||
|
print("clicked")
|
||||||
|
} label: {
|
||||||
|
Image(systemName: "gearshape")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,36 +89,24 @@ struct NetworkWaitAuthView: View {
|
|||||||
|
|
||||||
struct NetworkDisconnctedView: View {
|
struct NetworkDisconnctedView: View {
|
||||||
@Bindable var state: NetworkState
|
@Bindable var state: NetworkState
|
||||||
@State var isOn: Bool = false
|
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack {
|
ZStack {
|
||||||
HStack {
|
Color.clear
|
||||||
Toggle("", isOn: $isOn)
|
|
||||||
.toggleStyle(SwitchToggleStyle(tint: .green))
|
|
||||||
|
|
||||||
Text("未连接")
|
|
||||||
|
|
||||||
Spacer()
|
|
||||||
}
|
|
||||||
|
|
||||||
ZStack {
|
Button {
|
||||||
Color.clear
|
print("call me here")
|
||||||
|
} label: {
|
||||||
|
Text("连接")
|
||||||
|
.font(.system(size: 14, weight: .regular))
|
||||||
|
.padding([.top, .bottom], 8)
|
||||||
|
.padding([.leading, .trailing], 30)
|
||||||
|
.foregroundColor(.white)
|
||||||
|
|
||||||
Button {
|
|
||||||
print("call me here")
|
|
||||||
} label: {
|
|
||||||
Text("连接")
|
|
||||||
.font(.system(size: 14, weight: .regular))
|
|
||||||
.padding([.top, .bottom], 8)
|
|
||||||
.padding([.leading, .trailing], 30)
|
|
||||||
.foregroundColor(.white)
|
|
||||||
|
|
||||||
}
|
|
||||||
.background(Color(red: 74/255, green: 207/255, blue: 154/255))
|
|
||||||
.cornerRadius(5)
|
|
||||||
.frame(width: 120, height: 35)
|
|
||||||
}
|
}
|
||||||
|
.background(Color(red: 74/255, green: 207/255, blue: 154/255))
|
||||||
|
.cornerRadius(5)
|
||||||
|
.frame(width: 120, height: 35)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -92,26 +115,14 @@ struct NetworkDisconnctedView: View {
|
|||||||
|
|
||||||
struct NetworkConnctedView: View {
|
struct NetworkConnctedView: View {
|
||||||
@Bindable var state: NetworkState
|
@Bindable var state: NetworkState
|
||||||
@State var isOn: Bool = true
|
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack {
|
Group {
|
||||||
HStack {
|
switch state.showModel {
|
||||||
Toggle("", isOn: $isOn)
|
case .resource:
|
||||||
.toggleStyle(SwitchToggleStyle(tint: .green))
|
NetworkResourceGroupView(state: self.state)
|
||||||
|
case .device:
|
||||||
Text("已连接")
|
NetworkDeviceGroupView(state: self.state)
|
||||||
|
|
||||||
Spacer()
|
|
||||||
}
|
|
||||||
|
|
||||||
Group {
|
|
||||||
switch state.showModel {
|
|
||||||
case .resource:
|
|
||||||
NetworkResourceGroupView(state: self.state)
|
|
||||||
case .device:
|
|
||||||
NetworkDeviceGroupView(state: self.state)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,7 +62,7 @@ struct punchnetApp: App {
|
|||||||
window.setFrameOrigin(NSPoint(x: centerX, y: centerY))
|
window.setFrameOrigin(NSPoint(x: centerX, y: centerY))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.toolbar(.hidden)
|
//.toolbar(.hidden)
|
||||||
.navigationTitle("")
|
.navigationTitle("")
|
||||||
}
|
}
|
||||||
.commands {
|
.commands {
|
||||||
@ -75,7 +75,7 @@ struct punchnetApp: App {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.windowResizability(.contentSize)
|
.windowResizability(.contentSize)
|
||||||
|
.windowToolbarStyle(.unified)
|
||||||
|
|
||||||
Window("", id: "abortPunchnet") {
|
Window("", id: "abortPunchnet") {
|
||||||
AbortView()
|
AbortView()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user