import { nip19, SimplePool } from "nostr-tools";

const seen = new Set();
function addSite(event) {
  if (seen.has(event.pubkey)) return;
  seen.add(event.pubkey);

  try {
    const template = document.getElementById("site");
    const site = template.content.cloneNode(true);
    const npub = nip19.npubEncode(event.pubkey);

    site.querySelector(".pubkey").textContent = npub;
    site.querySelector(".link").href = new URL("/", `${location.protocol}//${npub}.${location.host}`).toString();

    document.getElementById("sites").appendChild(site);
  } catch (error) {
    console.log("Failed to add site", event);
    console.log(error);
  }
}

const pool = new SimplePool();

console.log("Loading sites");
pool.subscribeMany(
  ["wss://relay.damus.io", "wss://nos.lol", "wss://nostr.wine"],
  [{ kinds: [34128], "#d": ["/index.html"] }],
  {
    onevent: addSite,
  },
);