diff --git a/UI/message-panel.tsx b/UI/message-panel.tsx index 3a3c0ad..fa8c392 100644 --- a/UI/message-panel.tsx +++ b/UI/message-panel.tsx @@ -27,6 +27,7 @@ import { SelectConversation } from "./search_model.ts"; import { AboutIcon } from "./icons/about-icon.tsx"; import { CloseIcon } from "./icons/close-icon.tsx"; import { LeftArrowIcon } from "./icons/left-arrow-icon.tsx"; +import { NoteID } from "../lib/nostr-ts/nip19.ts"; import { ChatMessagesGetter } from "./app_update.tsx"; export type RightPanelModel = { @@ -354,14 +355,14 @@ function MessageBoxGroup(props: {
- {ParseMessageContent( - first_group, - props.authorProfile, - props.profilesSyncer, - props.eventSyncer, - props.emit, - props.profileGetter, - )} + {ParseMessageContent( + first_group, + props.authorProfile, + props.profilesSyncer, + props.eventSyncer, + props.emit, + props.profileGetter, + )}, @@ -551,6 +552,17 @@ export function ParseMessageContent( vnode.push(Card(event, profile ? profile.profile : undefined, emit)); } break; + case "nevent": { + const event = eventSyncer.syncEvent(NoteID.FromString(item.event.pointer.id)); + if ( + event instanceof Promise || event.kind == NostrKind.DIRECT_MESSAGE + ) { + vnode.push(itemStr); + break; + } + const profile = profileGetter.getProfilesByPublicKey(event.publicKey); + vnode.push(Card(event, profile ? profile.profile : undefined, emit)); + } case "tag": // todo break;