import browser from 'webextension-polyfill' import {render} from 'react-dom' import {getPublicKey, nip19} from 'nostr-tools' import React, {useState, useRef, useEffect} from 'react' import QRCode from 'react-qr-code' function Popup() { let [pubKey, setPubKey] = useState('') let keys = useRef([]) useEffect(() => { browser.storage.local.get(['private_key', 'relays']).then(results => { if (results.private_key) { let hexKey = getPublicKey(results.private_key) let npubKey = nip19.npubEncode(hexKey) setPubKey(npubKey) keys.current.push(npubKey) keys.current.push(hexKey) if (results.relays) { let relaysList = [] for (let url in results.relays) { if (results.relays[url].write) { relaysList.push(url) if (relaysList.length >= 3) break } } if (relaysList.length) { let nprofileKey = nip19.nprofileEncode({ pubkey: hexKey, relays: relaysList }) keys.current.push(nprofileKey) } } } else { setPubKey(null) } }) }, []) return ( <>
you don't have a private key set. use the options page to set one.
) : ( <>↩️ your public key:
{pubKey}