mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-17 04:50:51 +00:00
40 lines
1.0 KiB
Swift
40 lines
1.0 KiB
Swift
import Foundation
|
|
import Network
|
|
|
|
public enum GatewayDiscoveryStatusText {
|
|
public static func make(states: [NWBrowser.State], hasBrowsers: Bool) -> String {
|
|
if states.isEmpty {
|
|
return hasBrowsers ? "Setup" : "Idle"
|
|
}
|
|
|
|
if let failed = states.first(where: { state in
|
|
if case .failed = state { return true }
|
|
return false
|
|
}) {
|
|
if case let .failed(err) = failed {
|
|
return "Failed: \(err)"
|
|
}
|
|
}
|
|
|
|
if let waiting = states.first(where: { state in
|
|
if case .waiting = state { return true }
|
|
return false
|
|
}) {
|
|
if case let .waiting(err) = waiting {
|
|
return "Waiting: \(err)"
|
|
}
|
|
}
|
|
|
|
if states.contains(where: { if case .ready = $0 { true } else { false } }) {
|
|
return "Searching…"
|
|
}
|
|
|
|
if states.contains(where: { if case .setup = $0 { true } else { false } }) {
|
|
return "Setup"
|
|
}
|
|
|
|
return "Searching…"
|
|
}
|
|
}
|
|
|