From 6b58d1673bfe2e07773574866c15d64c37662b67 Mon Sep 17 00:00:00 2001 From: codytseng Date: Tue, 24 Dec 2024 15:12:01 +0800 Subject: [PATCH] feat: display client tag --- src/components/Note/index.tsx | 20 ++++++++++++++------ src/lib/event.ts | 4 ++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/components/Note/index.tsx b/src/components/Note/index.tsx index 4b66155b..18851b39 100644 --- a/src/components/Note/index.tsx +++ b/src/components/Note/index.tsx @@ -1,6 +1,8 @@ import { useSecondaryPage } from '@/PageManager' +import { getUsingClient } from '@/lib/event' import { toNote } from '@/lib/link' import { Event } from 'nostr-tools' +import { useMemo } from 'react' import Content from '../Content' import { FormattedTimestamp } from '../FormattedTimestamp' import NoteStats from '../NoteStats' @@ -24,19 +26,25 @@ export default function Note({ fetchNoteStats?: boolean }) { const { push } = useSecondaryPage() + const usingClient = useMemo(() => getUsingClient(event), [event]) return (
- +
+ + {usingClient && size === 'normal' && ( +
using {usingClient}
+ )} +
diff --git a/src/lib/event.ts b/src/lib/event.ts index 77992930..03149676 100644 --- a/src/lib/event.ts +++ b/src/lib/event.ts @@ -51,6 +51,10 @@ export function getSharableEventId(event: Event) { return nip19.neventEncode({ id: event.id, author: event.pubkey, kind: event.kind }) } +export function getUsingClient(event: Event) { + return event.tags.find(tagNameEquals('client'))?.[1] +} + export async function extractMentions(content: string, parentEvent?: Event) { const pubkeySet = new Set() const relatedEventIdSet = new Set()