diff options
| author | Adam Soltys <[email protected]> | 2025-01-20 00:05:30 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-01-20 00:05:33 -0800 |
| commit | 494fa791c93297917cf3247b561d736934de805c (patch) | |
| tree | b92bbbabe7eed8cde7b9d251cfcb08221689cc83 /src/routes/(app)/e | |
| parent | 684d5fe5643d481c4904a1323ae0a257c267b87b (diff) | |
| download | coinos-ui-494fa791c93297917cf3247b561d736934de805c.tar.gz coinos-ui-494fa791c93297917cf3247b561d736934de805c.zip | |
nostr routes
Diffstat (limited to 'src/routes/(app)/e')
| -rw-r--r-- | src/routes/(app)/e/[id]/+page.server.ts | 8 | ||||
| -rw-r--r-- | src/routes/(app)/e/[id]/+page.svelte | 55 |
2 files changed, 8 insertions, 55 deletions
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 @@ <script> - import Avatar from "$comp/Avatar.svelte"; - import Media from "$comp/Media.svelte"; + import Event from "$comp/Event.svelte"; let { data } = $props(); - let { author, event, names, parts, zaps } = $derived(data); + let { event } = $derived(data); let zap = () => {}; </script> @@ -13,53 +12,5 @@ Event </h1> - <div class="space-y-5"> - <div class="flex gap-2 items-center"> - <Avatar user={author} size={16} /> - <a href={`/${author.pubkey}`} class="contents"> - <div> - <div class="font-bold"> - {author.display} — {author.username} - </div> - <div class="flex items-center"> - <iconify-icon - noobserver - icon="ph:lightning-fill" - class="text-yellow-300" - ></iconify-icon> - {author.lud16} - </div> - </div> - </a> - </div> - - <div class="text-2xl space-y-5 break-words"> - {#each parts as { type, value }, i} - {#if type === "text"} - {value} - {:else if type === "link"} - <Media {value} /> - {:else if type.match(/^nostr:np(rofile|ub)$/)} - <a href={`/${value.pubkey}`} class="font-bold" - >@{names[value.pubkey]}</a - > - {/if} - {/each} - </div> - </div> - <a href={`/send/zap/${event.pubkey}/${event.id}`} class="btn btn-accent"> - <iconify-icon noobserver icon="ph:lightning-fill" class="text-yellow-300" - ></iconify-icon> - Zap - </a> - <div class="flex flex-wrap gap-2"> - {#each zaps as { amount, user }} - <a href={`/${user.pubkey}`}> - <div class="flex gap-1 items-center"> - <Avatar {user} size={8} disabled={true} /> - <div>{amount}</div> - </div> - </a> - {/each} - </div> + <Event {event} /> </div> |
