import { EmbeddedEmojiParser, EmbeddedHashtagParser, EmbeddedMentionParser, EmbeddedNormalUrlParser, EmbeddedWebsocketUrlParser, parseContent } from '@/lib/content-parser' import { extractEmojiInfosFromTags, extractImageInfosFromEventTags, isNsfwEvent } from '@/lib/event' import { cn } from '@/lib/utils' import { Event } from 'nostr-tools' import { memo, useMemo } from 'react' import { EmbeddedHashtag, EmbeddedMention, EmbeddedNormalUrl, EmbeddedWebsocketUrl } from '../Embedded' import { ImageCarousel } from '../ImageCarousel' import Emoji from '../Emoji' const PictureContent = memo(({ event, className }: { event: Event; className?: string }) => { const images = useMemo(() => extractImageInfosFromEventTags(event), [event]) const isNsfw = isNsfwEvent(event) const nodes = parseContent(event.content, [ EmbeddedNormalUrlParser, EmbeddedWebsocketUrlParser, EmbeddedHashtagParser, EmbeddedMentionParser, EmbeddedEmojiParser ]) const emojiInfos = extractEmojiInfosFromTags(event.tags) return (