diff --git a/extension/manifest.json b/extension/manifest.json index 2f4daf4..3eb1ce1 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -1,7 +1,7 @@ { "name": "nos2x", "description": "Nostr Signer Extension", - "version": "1.4.0", + "version": "1.4.1", "homepage_url": "https://github.com/fiatjaf/nos2x", "manifest_version": 3, "icons": { diff --git a/extension/options.jsx b/extension/options.jsx index 9e6ee36..98c88e5 100644 --- a/extension/options.jsx +++ b/extension/options.jsx @@ -2,7 +2,6 @@ import browser from 'webextension-polyfill' import React, {useState, useCallback, useEffect} from 'react' import {render} from 'react-dom' import {normalizeRelayURL} from 'nostr-tools/relay' -import {useDebouncedCallback} from 'use-debounce' import {getPermissionsString, readPermissions} from './common' @@ -18,21 +17,6 @@ function Options() { setTimeout(setMessage, 3000) }) - const saveRelays = useDebouncedCallback(async () => { - await browser.storage.local.set({ - relays: Object.fromEntries( - relays - .filter(({url}) => url.trim() !== '') - .map(({url, policy}) => [url.trim(), policy]) - ) - }) - showMessage('saved relays!') - }, 700) - - useEffect(() => { - saveRelays() - }, [relays]) - useEffect(() => { browser.storage.local.get(['private_key', 'relays']).then(results => { if (results.private_key) setKey(results.private_key) @@ -75,7 +59,7 @@ function Options() { {relays.map(({url, policy}, i) => (
@@ -99,17 +83,33 @@ function Options() { ))}
setNewRelayURL(e.target.value)} onBlur={addNewRelay} />
+
+ +
{permissions?.length > 0 && ( <> @@ -150,13 +150,13 @@ function Options() { async function handleKeyChange(e) { let key = e.target.value.toLowerCase().trim() setKey(key) + } - if (key.match(/^[a-f0-9]{64}$/) || key === '') { - await browser.storage.local.set({ - private_key: key - }) - showMessage('saved private key!') - } + async function saveKey() { + await browser.storage.local.set({ + private_key: key + }) + showMessage('saved private key!') } function changeRelayURL(i, ev) { @@ -186,6 +186,17 @@ function Options() { setRelays(relays) setNewRelayURL('') } + + async function saveRelays() { + await browser.storage.local.set({ + relays: Object.fromEntries( + relays + .filter(({url}) => url.trim() !== '') + .map(({url, policy}) => [url.trim(), policy]) + ) + }) + showMessage('saved relays!') + } } render(, document.getElementById('main'))