diff options
Diffstat (limited to 'src/routes/d')
-rw-r--r-- | src/routes/d/[tag]/+page.svelte | 12 | ||||
-rw-r--r-- | src/routes/d/[tag]/+page.ts | 33 |
2 files changed, 16 insertions, 29 deletions
diff --git a/src/routes/d/[tag]/+page.svelte b/src/routes/d/[tag]/+page.svelte index 120e3f9..0771c89 100644 --- a/src/routes/d/[tag]/+page.svelte +++ b/src/routes/d/[tag]/+page.svelte @@ -1,12 +1,20 @@ <script lang="ts"> import Article from '$lib/Article.svelte'; + import { ndk } from '$lib/ndk'; + import { TextPlaceholder } from 'flowbite-svelte'; import type { PageData } from './$types'; export let data: PageData; - $: ({ event } = data); + const getIndexEvent = (d: string) => { + return $ndk.fetchEvent({ '#d': [d] }); + }; </script> <main> - <Article {event} /> + {#await getIndexEvent(data.event.d)} + <TextPlaceholder size='xxl' /> + {:then index} + <Article {index} /> + {/await} </main> diff --git a/src/routes/d/[tag]/+page.ts b/src/routes/d/[tag]/+page.ts index a9181ef..79712f2 100644 --- a/src/routes/d/[tag]/+page.ts +++ b/src/routes/d/[tag]/+page.ts @@ -1,32 +1,11 @@ -import { getNdkInstance } from "$lib/ndk"; -import type { NDKEvent, NDKKind } from "@nostr-dev-kit/ndk"; -import { error } from "@sveltejs/kit"; -import type { PageLoad } from "./$types"; - -// MichaelJ - 23 July 2024 - Disable server-side rendering so that the load function can use the -// browser's local storage to retrieve saved relays and the cache adapter for the NDK instance. -export const ssr = false; +import type { PageLoad } from './$types'; export const load: PageLoad = async ({ params }) => { - const ndk = getNdkInstance(); const { tag } = params; - let events: Set<NDKEvent> = new Set(); - let event: NDKEvent | null | undefined; - - try { - events = await ndk.fetchEvents({ - kinds: [30040 as NDKKind], - '#d': [tag], - }); - event = events.values().next().value; - } catch (err) { - console.error(err); - } - - if (events.size === 0) { - error(404, 'No events found with the given d tag.'); - } - - return { event }; + return { + event: { + d: tag, + } + }; }; |