From 756fe3c100f052452758b7a67f5cf192d67876cf Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 21 Jan 2025 23:26:32 -0800 Subject: notes --- src/components/Avatar.svelte | 4 +- src/components/Event.svelte | 125 +++++++++++++-------- src/components/Media.svelte | 32 +++--- src/lib/utils.ts | 22 ++++ src/locales/en.json | 4 + .../(app)/[username]/(profile)/+layout.svelte | 11 +- .../[username]/(profile)/notes/+page.server.ts | 13 +++ .../(app)/[username]/(profile)/notes/+page.svelte | 35 ++---- .../[username]/(profile)/notes/new/+page.svelte | 41 +++++++ .../send/zap/[id]/[...amount]/+page.server.ts | 43 +++++++ .../(app)/send/zap/[id]/[...amount]/+page.svelte | 71 ++++++++++++ .../send/zap/[pubkey]/[...id]/+page.server.ts | 41 ------- .../(app)/send/zap/[pubkey]/[...id]/+page.svelte | 69 ------------ 13 files changed, 312 insertions(+), 199 deletions(-) create mode 100644 src/routes/(app)/[username]/(profile)/notes/+page.server.ts create mode 100644 src/routes/(app)/[username]/(profile)/notes/new/+page.svelte create mode 100644 src/routes/(app)/send/zap/[id]/[...amount]/+page.server.ts create mode 100644 src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte delete mode 100644 src/routes/(app)/send/zap/[pubkey]/[...id]/+page.server.ts delete mode 100644 src/routes/(app)/send/zap/[pubkey]/[...id]/+page.svelte (limited to 'src') diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index f37f3e14..09b6c037 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -18,7 +18,7 @@ user?.profile ? `${base}/${user.profile}.webp` : user?.picture, ); let fallback = $derived( - `${base}/punks/` + punk(user.pubkey || user?.id || "aa"), + `${base}/punks/` + punk(user?.pubkey || user?.id || "aa"), ); let tmp = $derived($avatar?.id && $avatar.id === user?.id && $avatar.src); let src = $derived(tmp || profile || fallback); @@ -31,7 +31,7 @@ {user.username} {/snippet} diff --git a/src/components/Event.svelte b/src/components/Event.svelte index 6b974915..b94443d2 100644 --- a/src/components/Event.svelte +++ b/src/components/Event.svelte @@ -2,56 +2,77 @@ import Avatar from "$comp/Avatar.svelte"; import Media from "$comp/Media.svelte"; import { goto } from "$app/navigation"; + import { fail, ago, post } from "$lib/utils"; + import { sign } from "$lib/nostr"; + import Pin from "$comp/Pin.svelte"; + import { pin } from "$lib/store"; - let { event, minimal } = $props(); - let { author, parts, zaps, names } = $derived(event); - let go = () => goto(`/thread/${event.id}`); - console.log("AUTHOR", event.author); + let amount = 21; + let { event, minimal, heading = true } = $props(); + let { author, parts, zaps, names, created_at } = $derived(event); + let { id } = event; + + let zapping = $state(); + let zap = async () => { + zapping = true; + try { + const body = new FormData(); + + let request = await post("/post/zapRequest", { amount, id }); + let { pr: payreq } = await post("/post/zap", { + event: await sign(request), + }); + await post("/post/payments", { amount, payreq }); + } catch (e) { + fail(e.message); + } + }; -
- {#if zaps?.length}
@@ -65,3 +86,19 @@ {/each}
{/if} + +{#if !minimal} +
+ +
+ +
Zap
+
+
+
+{/if} diff --git a/src/components/Media.svelte b/src/components/Media.svelte index d24dd12d..aff4cf39 100644 --- a/src/components/Media.svelte +++ b/src/components/Media.svelte @@ -6,20 +6,22 @@ export const isAudio = (url: string) => url?.match(/^.*\.(ogg|mp3|wav)/gi); // eslint-disable-next-line @typescript-eslint/no-explicit-any - export let value: any; + let { value, minimal } = $props(); -{#if !!isImage(value.url)} - {""} -{:else if isVideo(value.url)} - -