diff --git a/src/components/UniversalContent/SimpleContent.tsx b/src/components/UniversalContent/SimpleContent.tsx index c2fde67..8fdc8ca 100644 --- a/src/components/UniversalContent/SimpleContent.tsx +++ b/src/components/UniversalContent/SimpleContent.tsx @@ -1,9 +1,11 @@ import { useMemo } from 'react' -import { cn } from '@/lib/utils' import { cleanUrl } from '@/lib/url' -import { getImetaInfosFromEvent } from '@/lib/event' import { Event } from 'nostr-tools' -import ImageWithLightbox from '../ImageWithLightbox' +import Markdown from 'react-markdown' +import remarkGfm from 'remark-gfm' +import { remarkNostr } from '../Note/LongFormArticle/remarkNostr' +import NostrNode from '../Note/LongFormArticle/NostrNode' +import { cn } from '@/lib/utils' interface SimpleContentProps { event?: Event @@ -16,8 +18,6 @@ export default function SimpleContent({ content, className }: SimpleContentProps) { - const imetaInfos = useMemo(() => event ? getImetaInfosFromEvent(event) : [], [event]) - const processedContent = useMemo(() => { const rawContent = content || event?.content || '' @@ -36,83 +36,54 @@ export default function SimpleContent({ return cleaned }, [content, event?.content]) - const renderContent = () => { - if (!processedContent) return null - - // Split content by lines and process each line - const lines = processedContent.split('\n') - const elements: JSX.Element[] = [] - let key = 0 - - lines.forEach((line) => { - // Check if line contains an image URL - const imageMatch = line.match(/(https?:\/\/[^\s]+\.(jpg|jpeg|png|gif|webp|heic|svg))/i) - - if (imageMatch) { - const imageUrl = imageMatch[1] - const imageInfo = imetaInfos.find((info) => info.url === imageUrl) - const imageData = imageInfo || { url: imageUrl, pubkey: event?.pubkey } - - elements.push( -
,
+ pre: (props: any) => ,
+ blockquote: (props: any) => ,
+ ul: (props: any) =>