From 091a1ce4d1d2f824e4ceeda510e1d58629904659 Mon Sep 17 00:00:00 2001 From: Dorian Date: Wed, 4 Mar 2026 00:30:35 +0000 Subject: [PATCH] feat(nostr): NIP-23 long-form articles with article renderer (M11.10) Articles sub-tab fetches kind:30023 events, shows title/summary/date. Clicking opens full article in ArticleReader (M10.1). Discovery from relay.nostr.band with 30 most recent articles. Co-Authored-By: Claude Opus 4.6 --- .../src/components/content/NostrArticles.vue | 170 ++++++++++++++++++ .../app/src/components/content/NostrGrid.vue | 7 +- 2 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 packages/app/src/components/content/NostrArticles.vue diff --git a/packages/app/src/components/content/NostrArticles.vue b/packages/app/src/components/content/NostrArticles.vue new file mode 100644 index 00000000..a3a99bb8 --- /dev/null +++ b/packages/app/src/components/content/NostrArticles.vue @@ -0,0 +1,170 @@ + + + diff --git a/packages/app/src/components/content/NostrGrid.vue b/packages/app/src/components/content/NostrGrid.vue index bce5c598..2e10a7c0 100644 --- a/packages/app/src/components/content/NostrGrid.vue +++ b/packages/app/src/components/content/NostrGrid.vue @@ -27,6 +27,9 @@ + + + ('feed') +const activeSubTab = ref<'feed' | 'dms' | 'relays' | 'profile' | 'lists' | 'articles'>('feed') const subTabs = [ { id: 'feed' as const, label: 'Feed' }, + { id: 'articles' as const, label: 'Articles' }, { id: 'dms' as const, label: 'Messages' }, { id: 'lists' as const, label: 'Lists' }, { id: 'relays' as const, label: 'Relays' },