fix network

This commit is contained in:
anlicheng 2026-03-25 16:27:48 +08:00
parent dee3e26c33
commit 906456a543

View File

@ -242,21 +242,47 @@ struct NetworkDeviceGroupView: View {
@Environment(AppContext.self) private var appContext: AppContext @Environment(AppContext.self) private var appContext: AppContext
@State private var selectedId: Int? @State private var selectedId: Int?
//
private let sidebarWidth: CGFloat = 240
var body: some View { var body: some View {
NavigationSplitView { HStack(spacing: 0) {
List(appContext.networkContext.nodeList, id: \.id, selection: $selectedId) { node in // --- 1. (Sidebar) ---
NetworkNodeHeadView(node: node) VStack(alignment: .leading, spacing: 0) {
.tag(node.id) // macOS 绿
// WindowStyle .hiddenTitleBar Padding
Color.clear.frame(height: 28)
List(appContext.networkContext.nodeList, id: \.id, selection: $selectedId) { node in
NetworkNodeHeadView(node: node)
// HStack tag List selection
.tag(node.id)
.listRowSeparator(.hidden)
}
.listStyle(.inset) // 使 inset
.scrollContentBackground(.hidden) //
} }
.listStyle(.sidebar) .frame(width: sidebarWidth)
.navigationSplitViewColumnWidth(min: 200, ideal: 220)
} detail: { Divider() // 线
if let selectedNode = appContext.networkContext.getNode(id: selectedId) {
NetworkNodeDetailView(node: selectedNode) // --- 2. (Detail) ---
} else { ZStack {
ContentUnavailableView("选择成员设备", systemImage: "macbook.and.iphone", description: Text("查看详细网络信息和服务")) if let selectedNode = appContext.networkContext.getNode(id: selectedId) {
NetworkNodeDetailView(node: selectedNode)
.transition(.opacity.animation(.easeInOut(duration: 0.2)))
} else {
ContentUnavailableView(
"选择成员设备",
systemImage: "macbook.and.iphone",
description: Text("查看详细网络信息和服务")
)
}
} }
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color(nsColor: .windowBackgroundColor)) // 使
} }
.ignoresSafeArea() //
.onAppear { .onAppear {
if selectedId == nil { if selectedId == nil {
selectedId = appContext.networkContext.firstNodeId() selectedId = appContext.networkContext.firstNodeId()