feat: support for generic repost

This commit is contained in:
codytseng 2025-11-20 13:34:05 +08:00
parent 14b3fbd496
commit a40d7b0676
11 changed files with 92 additions and 68 deletions

View file

@ -11,12 +11,14 @@ export default function RepostNoteCard({
event,
className,
filterMutedNotes = true,
pinned = false
pinned = false,
reposters
}: {
event: Event
className?: string
filterMutedNotes?: boolean
pinned?: boolean
reposters?: string[]
}) {
const { mutePubkeySet } = useMuteList()
const { hideContentMentioningMutedUsers } = useContentPolicy()
@ -42,7 +44,10 @@ export default function RepostNoteCard({
}
}
if (eventFromContent && verifyEvent(eventFromContent)) {
if (eventFromContent.kind === kinds.Repost) {
if (
eventFromContent.kind === kinds.Repost ||
eventFromContent.kind === kinds.GenericRepost
) {
return
}
client.addEventToCache(eventFromContent)
@ -84,7 +89,7 @@ export default function RepostNoteCard({
return (
<MainNoteCard
className={className}
reposters={[event.pubkey]}
reposters={reposters?.includes(event.pubkey) ? reposters : [event.pubkey]}
event={targetEvent}
pinned={pinned}
/>

View file

@ -34,13 +34,14 @@ export default function NoteCard({
}, [event, filterMutedNotes, mutePubkeySet])
if (shouldHide) return null
if (event.kind === kinds.Repost) {
if (event.kind === kinds.Repost || event.kind === kinds.GenericRepost) {
return (
<RepostNoteCard
event={event}
className={className}
filterMutedNotes={filterMutedNotes}
pinned={pinned}
reposters={reposters}
/>
)
}