# frozen_string_literal: true module Settings class NostrRelayStatusComponent < ViewComponent::Base def initialize(nip65_event:) if nip65_event.present? if relay_urls(nip65_event).any? { |r| r.include?("wss://nostr.kosmos.org") } @text = "You have a relay list, and the Kosmos relay is part of it" @icon_name = "check-circle" @icon_color = "emerald-500" else @text = "The Kosmos relay is missing from your relay list" @icon_name = "alert-octagon" @icon_color = "amber-500" end else @text = "We could not find a relay list for your public key" @icon_name = "alert-octagon" @icon_color = "amber-500" end end private def relay_urls(nip65_event) nip65_event["tags"].select{ |t| t[0] == "r" }.map{ |t| t[1] } # @inbox_relay_urls = relay_tags&.select{ |t| t[2] == "read" }&.map{ |t| t[1] } # @outbox_relay_urls = relay_tags&.select{ |t| t[2] != "read" }&.map{ |t| t[1] } end end end