reduce code duplication in nip05 gradients

This commit is contained in:
William Casarin
2023-03-27 10:39:07 -04:00
parent d19596c17e
commit c6c47e824a
2 changed files with 28 additions and 27 deletions

View File

@@ -28,8 +28,8 @@ struct NIP05Badge: View {
return use_nip05_color(pubkey: pubkey, contacts: contacts)
}
var body: some View {
HStack(spacing: 2) {
var Seal: some View {
Group {
if nip05_color {
LINEAR_GRADIENT
.mask(Image(systemName: "checkmark.seal.fill")
@@ -40,26 +40,22 @@ struct NIP05Badge: View {
.font(.footnote)
.foregroundColor(.gray)
}
}
}
var body: some View {
HStack(spacing: 2) {
Seal
if show_domain {
if clickable {
if nip05_color {
Text(nip05.host)
.foregroundStyle(LINEAR_GRADIENT)
.onTapGesture {
if let nip5url = nip05.siteUrl {
openURL(nip5url)
}
Text(nip05.host)
.nip05_colorized(gradient: nip05_color)
.onTapGesture {
if let nip5url = nip05.siteUrl {
openURL(nip5url)
}
} else {
Text(nip05.host)
.foregroundColor(.gray)
.onTapGesture {
if let nip5url = nip05.siteUrl {
openURL(nip5url)
}
}
}
}
} else {
Text(nip05.host)
.foregroundColor(.gray)
@@ -70,6 +66,17 @@ struct NIP05Badge: View {
}
}
extension View {
func nip05_colorized(gradient: Bool) -> some View {
if gradient {
return AnyView(self.foregroundStyle(LINEAR_GRADIENT))
} else {
return AnyView(self.foregroundColor(.gray))
}
}
}
func use_nip05_color(pubkey: String, contacts: Contacts) -> Bool {
return contacts.is_friend_or_self(pubkey) ? true : false
}

View File

@@ -77,16 +77,10 @@ struct EventActionBar: View {
send_like()
}
}
if bar.liked {
Text(verbatim: "\(bar.likes > 0 ? "\(bar.likes)" : "")")
.font(.footnote.weight(.medium))
.foregroundStyle(LINEAR_GRADIENT)
} else {
Text(verbatim: "\(bar.likes > 0 ? "\(bar.likes)" : "")")
.font(.footnote.weight(.medium))
.foregroundColor(Color.gray)
}
Text(verbatim: "\(bar.likes > 0 ? "\(bar.likes)" : "")")
.font(.footnote.weight(.medium))
.nip05_colorized(gradient: bar.liked)
}
if let lnurl = self.lnurl {