WIP: Improve Nostr user metadata fetching
Use a multi-step process, caching results in between, while informing the user about the current steps/progress
This commit is contained in:
@@ -3,25 +3,14 @@
|
||||
module Settings
|
||||
class NostrEditProfileComponent < ViewComponent::Base
|
||||
def initialize(user:, profile_event:)
|
||||
if profile_event.present?
|
||||
@user = user
|
||||
@profile_event = profile_event
|
||||
@profile = JSON.parse(profile_event["content"])
|
||||
@user = user
|
||||
@profile_event = profile_event
|
||||
@profile = {}
|
||||
@display_name = nil
|
||||
|
||||
if profile_event.present? && profile_event["content"].present?
|
||||
@profile = JSON.parse(profile_event["content"]) rescue {}
|
||||
@display_name = @profile["display_name"] || @profile["displayName"]
|
||||
|
||||
if @profile["nip05"].present? && @profile["nip05"] == @user.address
|
||||
# "Your profile's Nostr address is set to <strong>#{ user_address }</strong>"
|
||||
else
|
||||
# "Your profile's Nostr address is not set to <strong>#{ user_address }</strong> yet"
|
||||
end
|
||||
|
||||
if @profile["lud16"].present? && @profile["lud16"] == @user.address
|
||||
# "Your profile's Lightning address is set to <strong>#{ user_address }</strong>"
|
||||
else
|
||||
# "Your profile's Lightning address is not set to <strong>#{ user_address }</strong> yet"
|
||||
end
|
||||
else
|
||||
# "We could not find a profile for your public key"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
|
||||
module Settings
|
||||
class NostrRelayStatusComponent < ViewComponent::Base
|
||||
def initialize(nip65_event:)
|
||||
def initialize(nip65_event:, relay_url: Setting.nostr_relay_url)
|
||||
@relay_url = relay_url
|
||||
|
||||
if nip65_event.present?
|
||||
if relay_urls(nip65_event).any? { |r| r.include?("wss://nostr.kosmos.org") }
|
||||
if relay_urls(nip65_event).include?(@relay_url)
|
||||
@text = "You have a relay list, and the Kosmos relay is part of it"
|
||||
@icon_name = "check-circle"
|
||||
@icon_color = "emerald-500"
|
||||
|
||||
Reference in New Issue
Block a user