fix: resolve display issue of embedded kind 20 events

This commit is contained in:
codytseng
2025-02-05 23:31:49 +08:00
parent af9b97f60c
commit d1b7f140fd
4 changed files with 9 additions and 8 deletions

View File

@@ -1,14 +1,15 @@
import { PICTURE_EVENT_KIND } from '@/constants'
import { useFetchEvent } from '@/hooks'
import { toNoStrudelArticle, toNoStrudelNote, toNoStrudelStream } from '@/lib/link'
import { cn } from '@/lib/utils'
import { kinds } from 'nostr-tools'
import ShortTextNoteCard from '../NoteCard/ShortTextNoteCard'
import NormalNoteCard from '../NoteCard/NormalNoteCard'
export function EmbeddedNote({ noteId, className }: { noteId: string; className?: string }) {
const { event } = useFetchEvent(noteId)
return event && event.kind === kinds.ShortTextNote ? (
<ShortTextNoteCard className={cn('w-full', className)} event={event} embedded />
return event && [kinds.ShortTextNote, PICTURE_EVENT_KIND].includes(event.kind) ? (
<NormalNoteCard className={cn('w-full', className)} event={event} embedded />
) : (
<a
href={

View File

@@ -10,7 +10,7 @@ import { useTranslation } from 'react-i18next'
import Note from '../Note'
import Username from '../Username'
export default function ShortTextNoteCard({
export default function NormalNoteCard({
event,
className,
reposter,

View File

@@ -1,7 +1,7 @@
import client from '@/services/client.service'
import { Event, kinds, verifyEvent } from 'nostr-tools'
import { useMemo } from 'react'
import ShortTextNoteCard from './ShortTextNoteCard'
import NormalNoteCard from './NormalNoteCard'
export default function RepostNoteCard({ event, className }: { event: Event; className?: string }) {
const targetEvent = useMemo(() => {
@@ -19,5 +19,5 @@ export default function RepostNoteCard({ event, className }: { event: Event; cla
}, [event])
if (!targetEvent) return null
return <ShortTextNoteCard className={className} reposter={event.pubkey} event={targetEvent} />
return <NormalNoteCard className={className} reposter={event.pubkey} event={targetEvent} />
}

View File

@@ -1,10 +1,10 @@
import { Event, kinds } from 'nostr-tools'
import RepostNoteCard from './RepostNoteCard'
import ShortTextNoteCard from './ShortTextNoteCard'
import NormalNoteCard from './NormalNoteCard'
export default function NoteCard({ event, className }: { event: Event; className?: string }) {
if (event.kind === kinds.Repost) {
return <RepostNoteCard event={event} className={className} />
}
return <ShortTextNoteCard event={event} className={className} />
return <NormalNoteCard event={event} className={className} />
}