feat: highlight reactions notifications

This commit is contained in:
codytseng
2025-06-23 10:29:57 +08:00
parent 8203e0eb50
commit e6016242ef
2 changed files with 14 additions and 4 deletions

View File

@@ -8,7 +8,7 @@ import {
} from '@/lib/content-parser'
import { extractEmojiInfosFromTags } from '@/lib/event'
import { cn } from '@/lib/utils'
import { Event } from 'nostr-tools'
import { Event, kinds } from 'nostr-tools'
import { useMemo } from 'react'
import { useTranslation } from 'react-i18next'
import { EmbeddedMentionText } from '../Embedded'
@@ -27,6 +27,8 @@ export default function ContentPreview({
const nodes = useMemo(() => {
if (!event) return [{ type: 'text', data: `[${t('Not found the note')}]` }]
if (event.kind === kinds.Highlights) return []
return parseContent(event.content, [
EmbeddedImageParser,
EmbeddedVideoParser,
@@ -36,6 +38,14 @@ export default function ContentPreview({
])
}, [event])
if (event?.kind === kinds.Highlights) {
return (
<div className={cn('pointer-events-none italic', className)} onClick={onClick}>
{event.content}
</div>
)
}
const emojiInfos = extractEmojiInfosFromTags(event?.tags)
return (

View File

@@ -1,13 +1,13 @@
import Image from '@/components/Image'
import { ExtendedKind } from '@/constants'
import { useFetchEvent } from '@/hooks'
import { isSupportedKind } from '@/lib/event'
import { toNote } from '@/lib/link'
import { tagNameEquals } from '@/lib/tag'
import { cn } from '@/lib/utils'
import { useSecondaryPage } from '@/PageManager'
import { useNostr } from '@/providers/NostrProvider'
import { Heart } from 'lucide-react'
import { Event, kinds } from 'nostr-tools'
import { Event } from 'nostr-tools'
import { useMemo } from 'react'
import ContentPreview from '../../ContentPreview'
import { FormattedTimestamp } from '../../FormattedTimestamp'
@@ -54,7 +54,7 @@ export function ReactionNotification({
return notification.content
}, [notification])
if (!event || !eventId || ![kinds.ShortTextNote, ExtendedKind.PICTURE].includes(event.kind)) {
if (!event || !eventId || !isSupportedKind(event.kind)) {
return null
}