diff --git a/extension/common.js b/extension/common.js index 0c87043..6452f7c 100644 --- a/extension/common.js +++ b/extension/common.js @@ -81,3 +81,9 @@ export async function updatePermission(host, permission) { } browser.storage.local.set({permissions}) } + +export async function removePermissions(host) { + let {permissions = {}} = await browser.storage.local.get('permissions') + delete permissions[host] + browser.storage.local.set({permissions}) +} diff --git a/extension/options.jsx b/extension/options.jsx index a8f15ce..f571589 100644 --- a/extension/options.jsx +++ b/extension/options.jsx @@ -3,7 +3,11 @@ import React, {useState, useCallback, useEffect} from 'react' import {render} from 'react-dom' import {generatePrivateKey, nip19} from 'nostr-tools' -import {getPermissionsString, readPermissions} from './common' +import { + getPermissionsString, + readPermissions, + removePermissions +} from './common' function Options() { let [key, setKey] = useState('') @@ -34,18 +38,7 @@ function Options() { }, []) useEffect(() => { - readPermissions().then(permissions => { - setPermissions( - Object.entries(permissions).map( - ([host, {level, condition, created_at}]) => ({ - host, - level, - condition, - created_at - }) - ) - ) - }) + loadPermissions() }, []) return ( @@ -123,6 +116,7 @@ function Options() {