From 92ae5731de767bf5334e12e5650513854fd2050e Mon Sep 17 00:00:00 2001 From: buttercat1791 Date: Tue, 23 Jul 2024 00:32:54 -0500 Subject: [PATCH] Support article routes by d tag, nevent, and naddr --- package.json | 4 ++-- src/lib/Article.svelte | 10 ++++++++-- src/lib/ArticleHeader.svelte | 1 - src/lib/components/Navigation.svelte | 2 +- src/lib/ndk.ts | 24 +++++++++++++++++------- src/routes/+page.svelte | 5 ++--- src/routes/[...eventID]/+page.svelte | 12 ------------ src/routes/[id]/+page.svelte | 10 ++++++++++ src/routes/[id]/+page.ts | 12 ++++++++++++ src/routes/d/[tag]/+page.svelte | 10 ++++++++++ src/routes/d/[tag]/+page.ts | 13 +++++++++++++ 11 files changed, 75 insertions(+), 28 deletions(-) delete mode 100644 src/routes/[...eventID]/+page.svelte create mode 100644 src/routes/[id]/+page.svelte create mode 100644 src/routes/[id]/+page.ts create mode 100644 src/routes/d/[tag]/+page.svelte create mode 100644 src/routes/d/[tag]/+page.ts diff --git a/package.json b/package.json index ae838af..bec892a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "nostrwiki", - "version": "0.0.1", + "name": "alexandria", + "version": "0.0.3", "private": true, "type": "module", "scripts": { diff --git a/src/lib/Article.svelte b/src/lib/Article.svelte index 8092a4e..6d1ad8c 100644 --- a/src/lib/Article.svelte +++ b/src/lib/Article.svelte @@ -1,17 +1,23 @@ -
diff --git a/src/routes/[id]/+page.svelte b/src/routes/[id]/+page.svelte new file mode 100644 index 0000000..c8c0de6 --- /dev/null +++ b/src/routes/[id]/+page.svelte @@ -0,0 +1,10 @@ + + +
+
+
diff --git a/src/routes/[id]/+page.ts b/src/routes/[id]/+page.ts new file mode 100644 index 0000000..d7e2097 --- /dev/null +++ b/src/routes/[id]/+page.ts @@ -0,0 +1,12 @@ +import { getNdkInstance, ndk } from '$lib/ndk'; + +export const load = async ({ params }) => { + // TODO: Don't rely on browser cache here. + const ndk = getNdkInstance(); + const { id } = params; + + // TODO: Add error handling. + const event = await ndk.fetchEvent(id); + + return { event }; +}; diff --git a/src/routes/d/[tag]/+page.svelte b/src/routes/d/[tag]/+page.svelte new file mode 100644 index 0000000..fb31d12 --- /dev/null +++ b/src/routes/d/[tag]/+page.svelte @@ -0,0 +1,10 @@ + + +
+
+
diff --git a/src/routes/d/[tag]/+page.ts b/src/routes/d/[tag]/+page.ts new file mode 100644 index 0000000..5f78882 --- /dev/null +++ b/src/routes/d/[tag]/+page.ts @@ -0,0 +1,13 @@ +import { getNdkInstance } from "$lib/ndk"; + +export const load = async ({ params }) => { + // TODO: Don't rely on browser cache here. + const ndk = getNdkInstance(); + const { tag } = params; + + // TODO: Add error handling. + const events = await ndk.fetchEvents({ '#d': [tag] }); + const event = events.values().next().value; + + return { event }; +};