summaryrefslogtreecommitdiff
path: root/gui/src/logic
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-11-18 08:32:45 +0700
committerpolwex <polwex@sortug.com>2025-11-18 08:32:45 +0700
commit7706acaafa89691dba33c216e6287a8405c4c302 (patch)
tree504d49fd289c6f4f6f5494395ddd4089a057efc9 /gui/src/logic
parentb3379cc108d6eed98cb0010e6f1ddca94aba83a2 (diff)
gui fixes to nostr post rendering, added nostr-tools lib for primal compatibility
Diffstat (limited to 'gui/src/logic')
-rw-r--r--gui/src/logic/nostr.ts33
-rw-r--r--gui/src/logic/nostrill.ts3
2 files changed, 35 insertions, 1 deletions
diff --git a/gui/src/logic/nostr.ts b/gui/src/logic/nostr.ts
new file mode 100644
index 0000000..b85047f
--- /dev/null
+++ b/gui/src/logic/nostr.ts
@@ -0,0 +1,33 @@
+// import { generateSecretKey, getPublicKey } from "nostr-tools/pure";
+import * as nip19 from "nostr-tools/nip19";
+import type { Event } from "@/types/nostr";
+
+export function generateNevent(event: Event) {
+ const evp: nip19.EventPointer = {
+ id: event.id,
+ author: event.pubkey,
+ kind: event.kind,
+ };
+ const nev = nip19.neventEncode(evp);
+ return nev;
+}
+
+// let sk = generateSecretKey()
+// let nsec = nip19.nsecEncode(sk)
+// let { type, data } = nip19.decode(nsec)
+// assert(type === 'nsec')
+// assert(data === sk)
+
+// let pk = getPublicKey(generateSecretKey())
+// let npub = nip19.npubEncode(pk)
+// let { type, data } = nip19.decode(npub)
+// assert(type === 'npub')
+// assert(data === pk)
+
+// let pk = getPublicKey(generateSecretKey())
+// let relays = ['wss://relay.nostr.example.mydomain.example.com', 'wss://nostr.banana.com']
+// let nprofile = nip19.nprofileEncode({ pubkey: pk, relays })
+// let { type, data } = nip19.decode(nprofile)
+// assert(type === 'nprofile')
+// assert(data.pubkey === pk)
+// assert(data.relays.length === 2)
diff --git a/gui/src/logic/nostrill.ts b/gui/src/logic/nostrill.ts
index bd5fc9c..97d2156 100644
--- a/gui/src/logic/nostrill.ts
+++ b/gui/src/logic/nostrill.ts
@@ -36,12 +36,13 @@ export function eventToPoast(event: Event): Poast | null {
time: ts,
engagement: engagementBunt,
children: [],
+ event,
};
for (const tag of event.tags) {
const f = tag[0];
if (!f) continue;
const ff = f.toLowerCase();
- console.log("tag", ff);
+ // console.log("tag", ff);
if (ff === "e") {
const [, eventId, _relayURL, marker, _pubkey, ..._] = tag;
// TODO