Ferrite-backup/Ferrite/Views/ComponentViews/Settings/Kodi/KodiServerView.swift
kingbri 3828ffa539 Ferrite: Forward port UI
Remove all iOS 14 specific components and workarounds and comply
with SwiftUI 3.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-03-29 14:43:49 -04:00

46 lines
1.1 KiB
Swift

//
// KodiServerView.swift
// Ferrite
//
// Created by Brian Dashore on 3/11/23.
//
import SwiftUI
struct KodiServerView: View {
@EnvironmentObject var pluginManager: PluginManager
@EnvironmentObject var logManager: LoggingManager
var server: KodiServer
@State private var isActive = false
@State private var pingInProgress = false
var body: some View {
HStack {
Text(server.name)
Spacer()
if pingInProgress {
ProgressView()
} else {
Circle()
.foregroundColor(isActive ? .green : .red)
.frame(width: 10, height: 10)
}
}
.task {
pingInProgress = true
do {
try await pluginManager.kodi.ping(server: server)
isActive = true
} catch {
logManager.error("Kodi server \(server.name): \(error)", showToast: false)
isActive = false
}
pingInProgress = false
}
}
}