diff --git a/src/components/MeritComment.svelte b/src/components/MeritComment.svelte
index 3e199d9..5572d4c 100644
--- a/src/components/MeritComment.svelte
+++ b/src/components/MeritComment.svelte
@@ -35,7 +35,6 @@
}
const e = prepareMeritNoteEvent({
ndk,
- author,
merit,
content
});
diff --git a/src/components/NotifyMe.svelte b/src/components/NotifyMe.svelte
index e450965..b474283 100644
--- a/src/components/NotifyMe.svelte
+++ b/src/components/NotifyMe.svelte
@@ -1,21 +1,114 @@
- Nostrocket is sooooo not ready yet but whatever
+
+
+ Tell me via DM when there are updates
+
+
- Nostrocket is a work in progress
- It kind of works, but there's a lot more to do. There will be bugs.
+ Subscribe for Updates
+
+ Receive notifications about Nostrocket updates via Nostr DM or email.
+
+
+ {#if $currentUser}
+
+ {:else}
+
+ {/if}
+
+
+
+
+
+ {#if emailError}
+
{emailError}
+ {/if}
+
+
-
diff --git a/src/components/VoteOnMeritRequest.svelte b/src/components/VoteOnMeritRequest.svelte
index 852a2ad..cd913a1 100644
--- a/src/components/VoteOnMeritRequest.svelte
+++ b/src/components/VoteOnMeritRequest.svelte
@@ -25,7 +25,6 @@
}
prepareMeritVoteEvent({
ndk,
- author,
rocket,
merit,
direction
@@ -35,10 +34,9 @@
console.log(x);
});
if (direction === 'ratify') {
- let content = `I've voted to ratify your merit request! ${merit.Problem()} \n\n ${merit.Solution()?merit.Solution():""}`;
+ let content = `I've voted to ratify your merit request! ${merit.Problem()} \n\n ${merit.Solution() ? merit.Solution() : ''}`;
prepareMeritNoteEvent({
ndk,
- author,
merit,
content
})
diff --git a/src/lib/event_helpers/merits.ts b/src/lib/event_helpers/merits.ts
index 02b11da..8ae6dcb 100644
--- a/src/lib/event_helpers/merits.ts
+++ b/src/lib/event_helpers/merits.ts
@@ -343,14 +343,13 @@ function pubkeyLatestVote(votes: Votes) {
export function prepareMeritNoteEvent(args: {
ndk: NDKSvelte;
- author: NDKUser;
merit: MeritRequest;
content: string;
}) {
const tags = [
['p', args.merit.Pubkey],
- ['e', args.merit.ID, "wss://relay.nostrocket.org", 'reply'],
- args.merit.RocketTag?['a', args.merit.RocketTag]:[],
+ ['e', args.merit.ID, 'wss://relay.nostrocket.org', 'reply'],
+ args.merit.RocketTag ? ['a', args.merit.RocketTag] : []
];
return prepareNostrEvent({
...args,
@@ -361,7 +360,6 @@ export function prepareMeritNoteEvent(args: {
export function prepareMeritVoteEvent(args: {
ndk: NDKSvelte;
- author: NDKUser;
rocket: Rocket;
merit: MeritRequest;
direction: string;
diff --git a/src/lib/helpers.ts b/src/lib/helpers.ts
index 86a0292..7a0178f 100644
--- a/src/lib/helpers.ts
+++ b/src/lib/helpers.ts
@@ -1,4 +1,4 @@
-import { NDKZap, NDKEvent, type NDKKind, type NDKTag, type NDKUser } from '@nostr-dev-kit/ndk';
+import { NDKKind, NDKZap, NDKEvent, NDKUser, type NDKTag } from '@nostr-dev-kit/ndk';
import type NDKSvelte from '@nostr-dev-kit/ndk-svelte';
import { QrCode } from '$lib/qrcodegen';
@@ -19,8 +19,6 @@ export function getRocketURL(e: NDKEvent): string {
return `${ignitionID}?d=${d}&p=${p}`;
}
-
-
export function unixTimeNow() {
return Math.floor(new Date().getTime() / 1000);
}
@@ -166,15 +164,12 @@ export async function getAuthorizedZapper(rocket: NDKEvent): Promise {
export function prepareNostrEvent(args: {
ndk: NDKSvelte;
- author: NDKUser;
kind: NDKKind;
content: string;
tags?: NDKTag[];
}) {
let e = new NDKEvent(args.ndk);
- e.author = args.author;
e.kind = args.kind;
- e.created_at = Math.floor(new Date().getTime() / 1000);
e.content = args.content;
if (args.tags) {
e.tags = args.tags;
@@ -183,6 +178,25 @@ export function prepareNostrEvent(args: {
return e;
}
+export async function prepareEncryptedDirectMessageEvent(args: {
+ ndk: NDKSvelte;
+ receiver: NDKUser;
+ content: string;
+}) {
+ const signer = args.ndk.signer;
+ if (!signer) {
+ return new Error('no signer');
+ }
+ const tags = [['p', args.receiver.pubkey]];
+ const event = prepareNostrEvent({
+ ...args,
+ kind: NDKKind.EncryptedDirectMessage,
+ tags
+ });
+ await event.encrypt(args.receiver, signer);
+ return event;
+}
+
export function drawSvgPath(qr: QrCode, border: number): string {
if (border < 0) throw new RangeError('Border must be non-negative');
let parts: Array = [];