aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/e
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-01-20 00:05:30 -0800
committerAdam Soltys <[email protected]>2025-01-20 00:05:33 -0800
commit494fa791c93297917cf3247b561d736934de805c (patch)
treeb92bbbabe7eed8cde7b9d251cfcb08221689cc83 /src/routes/(app)/e
parent684d5fe5643d481c4904a1323ae0a257c267b87b (diff)
downloadcoinos-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.ts8
-rw-r--r--src/routes/(app)/e/[id]/+page.svelte55
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} &mdash; {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>