From 494fa791c93297917cf3247b561d736934de805c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 20 Jan 2025 00:05:30 -0800 Subject: nostr routes --- src/components/Event.svelte | 67 ++++++++++++++++++++++ src/lib/store.ts | 1 + .../(app)/[username]/(profile)/notes/+page.svelte | 39 +++++++++++++ src/routes/(app)/e/[id]/+page.server.ts | 8 ++- src/routes/(app)/e/[id]/+page.svelte | 55 +----------------- src/routes/(app)/firehose/+page.svelte | 48 ++++++++++++++++ src/routes/(app)/thread/[id]/+page.server.ts | 12 ++++ src/routes/(app)/thread/[id]/+page.svelte | 16 ++++++ 8 files changed, 191 insertions(+), 55 deletions(-) create mode 100644 src/components/Event.svelte create mode 100644 src/routes/(app)/[username]/(profile)/notes/+page.svelte create mode 100644 src/routes/(app)/firehose/+page.svelte create mode 100644 src/routes/(app)/thread/[id]/+page.server.ts create mode 100644 src/routes/(app)/thread/[id]/+page.svelte (limited to 'src') diff --git a/src/components/Event.svelte b/src/components/Event.svelte new file mode 100644 index 00000000..289da0b1 --- /dev/null +++ b/src/components/Event.svelte @@ -0,0 +1,67 @@ + + +
+ + +
+ {#each parts as { type, value }, i} + {#if type === "text"} + {value} + {:else if type === "link" && !minimal} + + {:else if type.match(/^nostr:np(rofile|ub)$/)} + @{names[value.pubkey]} + {/if} + {/each} +
+
+ +{#if !minimal} + + + Zap + +{/if} + +{#if zaps?.length} +
+ {#each zaps as { amount, user }} + +
+ +
{amount}
+
+
+ {/each} +
+{/if} diff --git a/src/lib/store.ts b/src/lib/store.ts index 23b38ace..9b57b05d 100644 --- a/src/lib/store.ts +++ b/src/lib/store.ts @@ -56,6 +56,7 @@ export const invoice = writable(); export const last = writable(); export const loginRedirect = writable(); export const decrypted = persistLocal("decrypted", {}); +export const ignore = persistLocal("ignore", []); export const mnemonic = persistSession("mnemonic"); export const newPayment = persistLocal("newPayment"); export const password = writable(); diff --git a/src/routes/(app)/[username]/(profile)/notes/+page.svelte b/src/routes/(app)/[username]/(profile)/notes/+page.svelte new file mode 100644 index 00000000..0591a881 --- /dev/null +++ b/src/routes/(app)/[username]/(profile)/notes/+page.svelte @@ -0,0 +1,39 @@ + + +
+

+ Events +

+ + {#each events as event} + + {/each} +
diff --git a/src/routes/(app)/e/[id]/+page.server.ts b/src/routes/(app)/e/[id]/+page.server.ts index 78e3ea6e..ad692893 100644 --- a/src/routes/(app)/e/[id]/+page.server.ts +++ b/src/routes/(app)/e/[id]/+page.server.ts @@ -5,10 +5,12 @@ export async function load({ params }) { try { const event = await get(`/event/${params.id}`); const { parts, names } = await post("/parseEvent", { event }); - const author = await get(`/users/${event.pubkey}`); - const zaps = await get(`/zaps/${params.id}`); + event.parts = parts; + event.names = names; + event.author = await get(`/users/${event.pubkey}`); + event.zaps = await get(`/zaps/${params.id}`); - return { author, event, names, parts, zaps }; + return { event }; } catch (e) { console.log(e); error(500, { message: "Failed to get event" }); diff --git a/src/routes/(app)/e/[id]/+page.svelte b/src/routes/(app)/e/[id]/+page.svelte index 62b220a2..323fc55b 100644 --- a/src/routes/(app)/e/[id]/+page.svelte +++ b/src/routes/(app)/e/[id]/+page.svelte @@ -1,9 +1,8 @@ @@ -13,53 +12,5 @@ Event -
- - -
- {#each parts as { type, value }, i} - {#if type === "text"} - {value} - {:else if type === "link"} - - {:else if type.match(/^nostr:np(rofile|ub)$/)} - @{names[value.pubkey]} - {/if} - {/each} -
-
- - - Zap - -
- {#each zaps as { amount, user }} - -
- -
{amount}
-
-
- {/each} -
+ diff --git a/src/routes/(app)/firehose/+page.svelte b/src/routes/(app)/firehose/+page.svelte new file mode 100644 index 00000000..1cf2324e --- /dev/null +++ b/src/routes/(app)/firehose/+page.svelte @@ -0,0 +1,48 @@ + + +
+

+ Events +

+ +
+ {#each events as event} + + {/each} +
+
diff --git a/src/routes/(app)/thread/[id]/+page.server.ts b/src/routes/(app)/thread/[id]/+page.server.ts new file mode 100644 index 00000000..931e9cb8 --- /dev/null +++ b/src/routes/(app)/thread/[id]/+page.server.ts @@ -0,0 +1,12 @@ +import { get } from "$lib/utils"; +import { error } from "@sveltejs/kit"; + +export async function load({ params }) { + try { + const thread = await get(`/thread/${params.id}`); + return { thread }; + } catch (e) { + console.log(e); + error(500, { message: "Failed to get thread" }); + } +} diff --git a/src/routes/(app)/thread/[id]/+page.svelte b/src/routes/(app)/thread/[id]/+page.svelte new file mode 100644 index 00000000..25c911fc --- /dev/null +++ b/src/routes/(app)/thread/[id]/+page.svelte @@ -0,0 +1,16 @@ + + +
+

+ Thread +

+ + {#each thread as event} + + {/each} +
-- cgit v1.2.3