Changes
1 changed files (+29/-6)
-
-
@@ -19,8 +19,14 @@ import SwiftUIimport os struct ServerDiscovery: View { @Environment(\.openWindow) private var openWindow @Environment(\.dismissWindow) private var dismissWindow @State private var servers: [CoreServer] = [] @State private var status: ServerDiscoverySceneListStatus = .loading @AppStorage("PlacApp.connectedServerId") private var connectedServerId: String? private let logger = Logger() private let queue = DispatchQueue(label: "plac.server-discovery")
-
@@ -33,8 +39,18 @@ onScan: {scan() } ) .onConnect { server in connectedServerId = server.id openWindow(id: "main-window", value: server.id) dismissWindow(id: "discovery-window") } .onAppear { scan() if let connectedServerId = connectedServerId { openWindow(id: "main-window", value: connectedServerId) dismissWindow(id: "discovery-window") } else { scan() } } }
-
@@ -76,12 +92,10 @@ case null_pointer} struct ServerDiscoverySceneList<TServer: Server & Identifiable>: View { @Environment(\.openWindow) private var openWindow @Environment(\.dismissWindow) private var dismissWindow var servers: [TServer] var status: ServerDiscoverySceneListStatus var onConnectAction: ((TServer) -> Void)? var onScan: (() -> Void)? = nil @ScaledMetric private var lineSpace = 12
-
@@ -107,8 +121,7 @@Spacer() Button { openWindow(id: "main-window", value: server.id) dismissWindow(id: "discovery-window") onConnectAction?(server) } label: { Text("Open") }
-
@@ -240,6 +253,16 @@ }} } } } } extension ServerDiscoverySceneList { func onConnect(_ handler: @escaping (TServer) -> Void) -> ServerDiscoverySceneList { var new = self new.onConnectAction = handler return new } }
-