# frozen_string_literal: true module Settings class NostrProfileStatusComponent < ViewComponent::Base def initialize(profile_event:, user_address:) if profile_event.present? profile = JSON.parse(profile_event["content"]) @statuses = [] if profile["nip05"].present? && profile["nip05"] == user_address @statuses.push({ text: "Your profile's Nostr address is set to #{ user_address }", icon_name: "check-circle", icon_color: "emerald-500" }) else @statuses.push({ text: "Your profile's Nostr address is not set to #{ user_address } yet", icon_name: "alert-octagon", icon_color: "amber-500" }) end if profile["lud16"].present? && profile["lud16"] == user_address @statuses.push({ text: "Your profile's Lightning address is set to #{ user_address }", icon_name: "check-circle", icon_color: "emerald-500" }) else @statuses.push({ text: "Your profile's Lightning address is not set to #{ user_address } yet", icon_name: "alert-octagon", icon_color: "amber-500" }) end else @statuses.push({ text: "We could not find a profile for your public key", icon_name: "alert-octagon", icon_color: "amber-500" }) end end end end