feat: add alert grace period controls
This commit is contained in:
@@ -172,13 +172,15 @@ struct SummaryView: View {
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
HStack(alignment: .center, spacing: 10) {
|
||||
Circle()
|
||||
.fill(server.pingable ? Color.green : Color.red)
|
||||
.fill(statusTint)
|
||||
.frame(width: 10, height: 10)
|
||||
.help(statusTooltip)
|
||||
|
||||
Text(server.hostname)
|
||||
.font(.system(size: 22, weight: .semibold))
|
||||
|
||||
statusBadge(server.pingable ? "Online" : "Offline", tint: server.pingable ? .green : .red)
|
||||
statusBadge(statusText, tint: statusTint)
|
||||
.help(statusTooltip)
|
||||
}
|
||||
|
||||
HStack(spacing: 8) {
|
||||
@@ -417,6 +419,27 @@ struct SummaryView: View {
|
||||
return .green
|
||||
}
|
||||
}
|
||||
|
||||
private var statusTint: Color {
|
||||
if !server.pingable {
|
||||
return .red
|
||||
}
|
||||
if server.info?.rebootRequired == true {
|
||||
return .yellow
|
||||
}
|
||||
return .green
|
||||
}
|
||||
|
||||
private var statusText: String {
|
||||
server.pingable ? "Online" : "Offline"
|
||||
}
|
||||
|
||||
private var statusTooltip: String {
|
||||
if !server.pingable {
|
||||
return "This host is offline."
|
||||
}
|
||||
return server.info?.statusTooltip ?? "This host is online."
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
|
||||
Reference in New Issue
Block a user