From 43cc3b6b6bb9ac5eb13359af1a5532cef86ef862 Mon Sep 17 00:00:00 2001 From: Joel Klabo Date: Fri, 6 Jan 2023 16:08:25 -0800 Subject: [PATCH] Make NIP-05 Domain Tappable Closes: #275 Changelog-Added: Make purple badges on profile page tappable --- damus/Util/NIP05.swift | 4 ++++ damus/Views/ProfileName.swift | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/damus/Util/NIP05.swift b/damus/Util/NIP05.swift index 4cd845a..cf0d295 100644 --- a/damus/Util/NIP05.swift +++ b/damus/Util/NIP05.swift @@ -15,6 +15,10 @@ struct NIP05 { URL(string: "https://\(host)/.well-known/nostr.json?name=\(username)") } + var siteUrl: URL? { + URL(string: "https://\(host)") + } + static func parse(_ nip05: String) -> NIP05? { let parts = nip05.split(separator: "@") guard parts.count == 2 else { diff --git a/damus/Views/ProfileName.swift b/damus/Views/ProfileName.swift index b7bba8f..bad33f8 100644 --- a/damus/Views/ProfileName.swift +++ b/damus/Views/ProfileName.swift @@ -34,6 +34,8 @@ struct ProfileName: View { @State var display_name: String? @State var nip05: NIP05? + @Environment(\.openURL) var openURL + init(pubkey: String, profile: Profile?, damus: DamusState, show_friend_confirmed: Bool) { self.pubkey = pubkey self.profile = profile @@ -72,6 +74,11 @@ struct ProfileName: View { .foregroundColor(nip05_color) Text(nip05.host) .foregroundColor(nip05_color) + .onTapGesture { + if let nip5url = nip05.siteUrl { + openURL(nip5url) + } + } } if let friend = friend_icon, current_nip05 == nil { Image(systemName: friend)