add server: show progress bar when resolving

This commit is contained in:
2025-06-11 17:42:26 -07:00
parent ce8ece23a5
commit afe985661a

View File

@@ -75,6 +75,12 @@ struct AddServerView: View
Image(systemName: "network")
Text("\(server.displayName)")
.bold()
Spacer()
if model.resolvingServers.contains(server) {
ProgressView()
.progressViewStyle(.circular)
}
}
}
.tint(.primary)
@@ -90,6 +96,8 @@ struct AddServerView: View
private func resolveEndpoint(_ endpoint: DiscoveredEndpoint) {
Task {
model.resolvingServers.insert(endpoint)
let server = try await endpoint.resolve()
onAddServer(server)
}
@@ -104,6 +112,8 @@ struct AddServerView: View
var validationState: ValidationState = .empty
var discoveredServers: [DiscoveredEndpoint] = []
var resolvingServers = Set<DiscoveredEndpoint>()
private let browser = NWBrowser(for: .bonjour(type: "_queuecube._tcp.", domain: nil), using: .tcp)
private var validationTimer: Timer? = nil
@@ -180,7 +190,7 @@ struct AddServerView: View
}
}
struct DiscoveredEndpoint: Identifiable
struct DiscoveredEndpoint: Identifiable, Hashable
{
let endpoint: NWEndpoint
let serviceName: String