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

View File

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

View File

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