diff --git a/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist b/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist index 1e154e6..2fa6e1a 100644 --- a/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Nostore.xcodeproj/xcuserdata/ryan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ Nostore (iOS).xcscheme_^#shared#^_ orderHint - 0 + 1 Nostore (macOS).xcscheme_^#shared#^_ orderHint - 1 + 0 nostore (iOS).xcscheme_^#shared#^_ diff --git a/Shared (Extension)/Resources/background.js b/Shared (Extension)/Resources/background.js index 7084efb..eae97f6 100644 --- a/Shared (Extension)/Resources/background.js +++ b/Shared (Extension)/Resources/background.js @@ -53,6 +53,8 @@ browser.runtime.onMessage.addListener((message, _sender, sendResponse) => { return Promise.resolve(getPublicKey(message.payload)); case 'npubEncode': return Promise.resolve(nip19.npubEncode(message.payload)); + case 'copy': + return navigator.clipboard.writeText(message.payload); // window.nostr case 'getPubKey': diff --git a/Shared (Extension)/Resources/manifest.json b/Shared (Extension)/Resources/manifest.json index 15a0681..0aa6f7d 100644 --- a/Shared (Extension)/Resources/manifest.json +++ b/Shared (Extension)/Resources/manifest.json @@ -40,7 +40,8 @@ "page": "options.html" }, "permissions": [ - "storage" + "storage", + "clipboardWrite" ], "web_accessible_resources": [ { diff --git a/Shared (Extension)/Resources/popup.html b/Shared (Extension)/Resources/popup.html index 8d05a72..5dc4935 100644 --- a/Shared (Extension)/Resources/popup.html +++ b/Shared (Extension)/Resources/popup.html @@ -12,12 +12,21 @@
-
- +
+
+ +
+
diff --git a/Shared (Extension)/Resources/popup.js b/Shared (Extension)/Resources/popup.js index d008dc4..21f617d 100644 --- a/Shared (Extension)/Resources/popup.js +++ b/Shared (Extension)/Resources/popup.js @@ -8,6 +8,7 @@ import { initialize, relayReminder, toggleRelayReminder, + getNpub, } from './utilities/utils'; import Alpine from 'alpinejs'; window.Alpine = Alpine; @@ -86,6 +87,11 @@ Alpine.data('popup', () => ({ await toggleRelayReminder(); this.showRelayReminder = false; }, + + async copyNpub() { + let npub = await getNpub(); + await browser.runtime.sendMessage({ kind: 'copy', payload: npub }); + }, })); Alpine.start(); diff --git a/Shared (Extension)/Resources/utilities/utils.js b/Shared (Extension)/Resources/utilities/utils.js index af3b7b5..6186b3c 100644 --- a/Shared (Extension)/Resources/utilities/utils.js +++ b/Shared (Extension)/Resources/utilities/utils.js @@ -263,3 +263,11 @@ export async function getDelegator(index) { console.log(profile); return [profile.delegate, profile.delegator]; } + +export async function getNpub() { + let index = await getProfileIndex(); + return await browser.runtime.sendMessage({ + kind: 'getNpub', + payload: index, + }); +}