import { EmbeddedHashtagParser, EmbeddedUrlParser, EmbeddedWebsocketUrlParser, parseContent } from '@/lib/content-parser' import { cn } from '@/lib/utils' import { useMemo } from 'react' import { EmbeddedHashtag, EmbeddedLNInvoice, EmbeddedWebsocketUrl } from '../Embedded' import ImageGallery from '../ImageGallery' import MediaPlayer from '../MediaPlayer' import WebPreview from '../WebPreview' import XEmbeddedPost from '../XEmbeddedPost' import YoutubeEmbeddedPlayer from '../YoutubeEmbeddedPlayer' export default function ExternalContent({ content, className, mustLoadMedia }: { content?: string className?: string mustLoadMedia?: boolean }) { const nodes = useMemo(() => { if (!content) return [] return parseContent(content, [ EmbeddedUrlParser, EmbeddedWebsocketUrlParser, EmbeddedHashtagParser ]) }, [content]) if (!nodes || nodes.length === 0) { return null } const node = nodes[0] if (node.type === 'text') { return (