aboutsummaryrefslogtreecommitdiff
path: root/src/routes/+page.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/+page.svelte')
-rw-r--r--src/routes/+page.svelte35
1 files changed, 28 insertions, 7 deletions
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index ec7f41a..5852aa5 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,19 +1,40 @@
<script lang="ts">
import ArticleHeader from "$lib/ArticleHeader.svelte";
- import { ndk } from "$lib/ndk";
+ import { ndk, signedIn } from "$lib/ndk";
+ import { NDKRelaySet, type NDKUser } from "@nostr-dev-kit/ndk";
const kind = 30040;
const count: number = 10;
- // TODO: Add more filter parameters to customize the event feed.
- async function loadEvents() {
- const eventlist = await $ndk.fetchEvents({ kinds: [kind] });
- return eventlist;
+ async function loadEvents(user?: NDKUser) {
+ if (user == null) {
+ return $ndk.fetchEvents(
+ { kinds: [kind] },
+ { closeOnEose: true }
+ );
+ }
+
+ const relays = await user.relayList();
+ const relaySet = NDKRelaySet.fromRelayUrls(relays!.readRelayUrls, $ndk);
+
+ // TODO: Add more filter parameters to customize the event feed.
+ return $ndk.fetchEvents(
+ { authors: [user.pubkey, ], kinds: [kind] },
+ { closeOnEose: true },
+ relaySet,
+ );
}
- const eventlist = loadEvents();
+
+ $: eventList = loadEvents($ndk.activeUser);
+
+ signedIn.subscribe(async isSignedIn => {
+ if (isSignedIn) {
+ eventList = loadEvents();
+ }
+ });
</script>
<div class='leather flex flex-col flex-grow-0 space-y-4 overflow-y-auto w-max'>
- {#await eventlist}
+ {#await eventList}
<p>Loading...</p>
{:then events}
{#each Array.from(events) as event}