From 7706acaafa89691dba33c216e6287a8405c4c302 Mon Sep 17 00:00:00 2001 From: polwex Date: Tue, 18 Nov 2025 08:32:45 +0700 Subject: gui fixes to nostr post rendering, added nostr-tools lib for primal compatibility --- gui/src/logic/nostr.ts | 33 +++++++++++++++++++++++++++++++++ gui/src/logic/nostrill.ts | 3 ++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 gui/src/logic/nostr.ts (limited to 'gui/src/logic') 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 -- cgit v1.2.3