diff options
| author | Adam Soltys <[email protected]> | 2025-01-22 15:29:37 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-01-22 15:29:37 -0800 |
| commit | cbc2f7a8e89d049a68ff520e6d640753c877bf57 (patch) | |
| tree | 3e89afa1d0e2dab0a7d34efb719cc9f0b0382a86 | |
| parent | b43e70ad7f4d6b7b82e0cc056413021f5d073f78 (diff) | |
| download | coinos-ui-cbc2f7a8e89d049a68ff520e6d640753c877bf57.tar.gz coinos-ui-cbc2f7a8e89d049a68ff520e6d640753c877bf57.zip | |
use nsec if available
| -rwxr-xr-x | bun.lockb | bin | 192538 -> 192204 bytes | |||
| -rw-r--r-- | package.json | 6 | ||||
| -rw-r--r-- | src/lib/nostr.ts | 13 | ||||
| -rw-r--r-- | src/locales/en.json | 2 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/(profile)/notes/+page.svelte | 6 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/(profile)/notes/new/+page.svelte | 2 | ||||
| -rw-r--r-- | src/routes/(app)/settings/+layout.svelte | 14 |
7 files changed, 22 insertions, 21 deletions
| Binary files differ diff --git a/package.json b/package.json index d95249e2..e442da9d 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,9 @@ "name": "my-app", "version": "0.0.1", "devDependencies": { - "@capacitor/android": "^6.0.0", - "@capacitor/cli": "^6.0.0", - "@capacitor/core": "^6.0.0", + "@capacitor/android": "^6.2.0", + "@capacitor/cli": "^6.2.0", + "@capacitor/core": "^6.2.0", "@capacitor/ios": "^6.1.2", "@cashu/cashu-ts": "^2.0.0-rc4", "@iconify/iconify": "^3.1.1", diff --git a/src/lib/nostr.ts b/src/lib/nostr.ts index 85f1bdaa..a5b2d990 100644 --- a/src/lib/nostr.ts +++ b/src/lib/nostr.ts @@ -8,6 +8,7 @@ import { signer as $signer, } from "$lib/store"; import { post, wait } from "$lib/utils"; +import { bytesToHex } from "@noble/hashes/utils"; import { type EventTemplate, finalizeEvent, @@ -102,7 +103,17 @@ export const encryptNsec = async (nsec: string) => { return nip49encrypt(d, await getPassword()); }; -export const sign = async (event) => { +export const sign = async (event, user) => { + if (user?.nsec && !get($signer)?.ready) { + const sk = await getPrivateKey(user); + + $signer.set({ + method: "nsec", + ready: true, + params: { sk: bytesToHex(sk), pk: getPublicKey(sk) }, + }); + } + eventToSign.set(event); let unsubscribe; const { method, params } = await new Promise((r) => { diff --git a/src/locales/en.json b/src/locales/en.json index 8b07832e..0e2f0077 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,7 +1,7 @@ { "notes": { "contents": "Note contents", - "notFound": "We didn't find any notes" + "notFound": "No notes found" }, "accounts": { "showQR": "Show QR", diff --git a/src/routes/(app)/[username]/(profile)/notes/+page.svelte b/src/routes/(app)/[username]/(profile)/notes/+page.svelte index 00fd9171..eaea9635 100644 --- a/src/routes/(app)/[username]/(profile)/notes/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/notes/+page.svelte @@ -10,6 +10,10 @@ </script> <div class="container px-4 max-w-xl mx-auto space-y-5"> + {#if !events.length} + <div class="text-2xl text-center">{$t("notes.notFound")}</div> + {/if} + {#if user?.id === subject.id} <a href={`/${user.username}/notes/new`} class="btn"> <iconify-icon noobserver icon="ph:note-bold" width="32"></iconify-icon> @@ -18,7 +22,5 @@ {/if} {#each events as event, i} <Event {event} minimal={true} last={i === events.length - 1} {user} /> - {:else} - <div class="text-2xl">{$t("notes.notFound")}</div> {/each} </div> diff --git a/src/routes/(app)/[username]/(profile)/notes/new/+page.svelte b/src/routes/(app)/[username]/(profile)/notes/new/+page.svelte index 8957034d..445890a3 100644 --- a/src/routes/(app)/[username]/(profile)/notes/new/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/notes/new/+page.svelte @@ -20,7 +20,7 @@ tags: [], }; - event = await sign(event); + event = await sign(event, user); await send(event); goto(`/${user.username}/notes`); diff --git a/src/routes/(app)/settings/+layout.svelte b/src/routes/(app)/settings/+layout.svelte index c9897f07..bc0d18f9 100644 --- a/src/routes/(app)/settings/+layout.svelte +++ b/src/routes/(app)/settings/+layout.svelte @@ -119,19 +119,7 @@ }; try { - if (data?.user?.nsec && !$signer?.ready) { - let sk = await getPrivateKey(data.user); - - signer.set({ - method: "nsec", - ready: true, - params: { sk: bytesToHex(sk), pk: getPublicKey(sk) }, - }); - - await tick(); - } - - event = await sign(event); + event = await sign(event, data.user); send(event); } catch (e) { console.log(e); |
