diff --git a/ShhShell/Host/HostSymbol.swift b/ShhShell/Host/HostSymbol.swift index 5573653..aac9980 100644 --- a/ShhShell/Host/HostSymbol.swift +++ b/ShhShell/Host/HostSymbol.swift @@ -18,6 +18,14 @@ enum HostSymbol: Codable, Equatable, Hashable, CaseIterable { case genericServer case genericServerVertical + var image: Image { + if isCustom { + return Image(self.sf) + } else { + return Image(systemName: self.sf) + } + } + var sf: String { switch self { case .desktopcomputer: diff --git a/ShhShell/Views/Keys/KeyDetailView.swift b/ShhShell/Views/Keys/KeyDetailView.swift index ec31b55..09d22b0 100644 --- a/ShhShell/Views/Keys/KeyDetailView.swift +++ b/ShhShell/Views/Keys/KeyDetailView.swift @@ -51,7 +51,7 @@ struct KeyDetailView: View { Button() { hostsManager.set(keypair: keypair, onHost: host) } label: { - Image(systemName: "plus") + host.symbol.image .resizable().scaledToFit() .foregroundStyle(.blue) .frame(width: 20, height: 20) diff --git a/ShhShell/Views/Misc/HostSymbolPreview.swift b/ShhShell/Views/Misc/HostSymbolPreview.swift index dfe9d0a..e733546 100644 --- a/ShhShell/Views/Misc/HostSymbolPreview.swift +++ b/ShhShell/Views/Misc/HostSymbolPreview.swift @@ -13,15 +13,9 @@ struct HostSymbolPreview: View { var body: some View { ZStack(alignment: .center) { - if symbol.isCustom { - Image(symbol.sf) - .resizable().scaledToFit() - .symbolRenderingMode(.monochrome) - } else { - Image(systemName: symbol.sf) - .resizable().scaledToFit() - .symbolRenderingMode(.monochrome) - } + symbol.image + .resizable().scaledToFit() + .symbolRenderingMode(.monochrome) Text(label) .font(.headline) .offset(symbol.offset)