mirror of
https://github.com/neon443/ShhShell.git
synced 2026-03-11 13:26:16 +00:00
add an image computed property to hostsymbol to return the Image so it safely returns an image from an sf symbol or an image from an ImageResource
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user