Files

32 lines
1.0 KiB
Swift

// SPDX-FileCopyrightText: 2026 Kaede Akino
// SPDX-License-Identifier: GPL-3.0-only
import SwiftUI
import TermindDomain
/// Shared host artwork with an optional connection-state badge.
public struct HostConnectionIcon: View {
private let host: TermindDomain.Host?
private let size: CGFloat
private let artworkStyle: HostSystemIcon.Style
private let status: ConnectionStatus?
private let badgeStyle: ConnectionBadgeStyle
public init(
host: TermindDomain.Host?, size: CGFloat = 36, artworkStyle: HostSystemIcon.Style = .standard,
status: ConnectionStatus? = nil, badgeStyle: ConnectionBadgeStyle = .card(background: .clear)
) {
self.host = host
self.size = size
self.artworkStyle = artworkStyle
self.status = status
self.badgeStyle = badgeStyle
}
public var body: some View {
ConnectionStatusIcon(status: status, style: badgeStyle) {
HostDistributionIcon(host: host, size: size, artworkStyle: artworkStyle)
}
}
}