diff --git a/app/javascript/controllers/settings/nostr_pubkey_controller.js b/app/javascript/controllers/settings/nostr_pubkey_controller.js index 9bf07da..4de30e5 100644 --- a/app/javascript/controllers/settings/nostr_pubkey_controller.js +++ b/app/javascript/controllers/settings/nostr_pubkey_controller.js @@ -1,14 +1,8 @@ import { Controller } from "@hotwired/stimulus" -import { Nostrify } from "nostrify" // Connects to data-controller="settings--nostr-pubkey" export default class extends Controller { - static targets = [ - "noExtension", - "setPubkey", "pubkeyBech32Input", - "relayList", "relayListStatus", - "profileStatusNip05", "profileStatusLud16" - ] + static targets = [ "noExtension", "setPubkey", "pubkeyBech32Input" ] static values = { userAddress: String, pubkeyHex: String, @@ -21,14 +15,6 @@ export default class extends Controller { if (this.hasSetPubkeyTarget) { this.setPubkeyTarget.disabled = false } - - if (this.pubkeyHexValue) { - // this.discoverUserOnNostr().then(() => { - // this.renderRelayStatus() - // this.renderProfileNip05Status() - // this.renderProfileLud16Status() - // }) - } } else { this.noExtensionTarget.classList.remove("hidden") } @@ -63,172 +49,8 @@ export default class extends Controller { } } - async discoverUserOnNostr () { - this.nip65Relays = await this.findUserRelays() - this.profile = await this.findUserProfile() - } - - async findUserRelays () { - const controller = new AbortController(); - const signal = controller.signal; - const filters = [{ kinds: [10002], authors: [this.pubkeyHexValue], limit: 1 }] - const messages = [] - - for await (const msg of this.discoveryPool.req(filters, { signal })) { - if (msg[0] === 'EVENT') { - if (!messages.find(m => m.id === msg[2].id)) { - messages.push(msg[2]) - } - } - if (msg[0] === 'EOSE') { break } - } - - // Close the relay subscription - controller.abort() - if (messages.length === 0) { return messages } - - const sortedMessages = messages.sort((a, b) => a.createdAt - b.createdAt) - const newestMessage = messages[messages.length - 1] - - return newestMessage.tags.filter(t => t[0] === 'r') - .map(t => { return { url: t[1], marker: t[2] } }) - } - - async findUserProfile () { - const controller = new AbortController(); - const signal = controller.signal; - const filters = [{ kinds: [0], authors: [this.pubkeyHexValue], limit: 1 }] - const messages = [] - - for await (const msg of this.discoveryPool.req(filters, { signal })) { - if (msg[0] === 'EVENT') { - if (!messages.find(m => m.id === msg[2].id)) { - messages.push(msg[2]) - } - } - if (msg[0] === 'EOSE') { break } - } - - // Close the relay subscription - controller.abort() - if (messages.length === 0) { return null } - - const sortedMessages = messages.sort((a, b) => a.createdAt - b.createdAt) - const newestMessage = messages[messages.length - 1] - - return JSON.parse(newestMessage.content) - } - - renderRelayStatus () { - let showStatus - - if (this.nip65Relays.length > 0) { - if (this.relaysContainAccountsRelay) { - showStatus = 'green' - } else { - showStatus = 'orange' - } - } else { - showStatus = 'red' - } - // showStatus = 'red' - - this.relayListStatusTarget - .querySelector(`.status-${showStatus}`) - .classList.remove("hidden") - } - - renderProfileNip05Status () { - let showStatus - - if (this.profile?.nip05) { - if (this.profile.nip05 === this.userAddressValue) { - showStatus = 'green' - } else { - showStatus = 'red' - } - } else { - showStatus = 'orange' - } - - this.profileStatusNip05Target - .querySelector(`.status-${showStatus}`) - .classList.remove("hidden") - } - - renderProfileLud16Status () { - let showStatus - - if (this.profile?.lud16) { - if (this.profile.lud16 === this.userAddressValue) { - showStatus = 'green' - } else { - showStatus = 'red' - } - } else { - showStatus = 'orange' - } - - this.profileStatusLud16Target - .querySelector(`.status-${showStatus}`) - .classList.remove("hidden") - } - - // renderRelayList (relays) { - // const html = relays.map(relay => ` - //