aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/e
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-01-16 14:56:32 -0800
committerAdam Soltys <[email protected]>2025-01-16 14:56:32 -0800
commitac3a6407a95879ce68e28a1633697de6d7a95770 (patch)
tree49f98fa864c4afe5ee01f6549d62ec3ec28d2968 /src/routes/(app)/e
parent7a695f5ae0f78eaedea46cd2e612e1c4ac3de7d7 (diff)
downloadcoinos-ui-ac3a6407a95879ce68e28a1633697de6d7a95770.tar.gz
coinos-ui-ac3a6407a95879ce68e28a1633697de6d7a95770.zip
event viewer and zaps
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.svelte32
2 files changed, 40 insertions, 0 deletions
diff --git a/src/routes/(app)/e/[id]/+page.server.ts b/src/routes/(app)/e/[id]/+page.server.ts
new file mode 100644
index 00000000..e544d261
--- /dev/null
+++ b/src/routes/(app)/e/[id]/+page.server.ts
@@ -0,0 +1,8 @@
+import { get } from "$lib/utils";
+
+export async function load({ params }) {
+ const event = await get(`/event/${params.id}`);
+ const author = await get(`/users/${event.pubkey}`);
+ const zaps = await get(`/zaps/${params.id}`);
+ return { author, event, zaps };
+}
diff --git a/src/routes/(app)/e/[id]/+page.svelte b/src/routes/(app)/e/[id]/+page.svelte
new file mode 100644
index 00000000..6e8c1b56
--- /dev/null
+++ b/src/routes/(app)/e/[id]/+page.svelte
@@ -0,0 +1,32 @@
+<script>
+ import Avatar from "$comp/Avatar.svelte";
+ let { data } = $props();
+ let { author, event, zaps } = $derived(data);
+
+ let zap = () => {};
+</script>
+
+<div class="container px-4 max-w-xl mx-auto space-y-5 break-words">
+ <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold">
+ Event
+ </h1>
+ <div class="flex items-center gap-2 text-2xl">
+ <Avatar user={author} size={16} />
+ <div>{event.content}</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>
+</div>