diff --git a/src/components/Post.jsx b/src/components/Post.jsx index ec375eeb..97e51140 100644 --- a/src/components/Post.jsx +++ b/src/components/Post.jsx @@ -1,73 +1,20 @@ import React from 'react'; -import ReactMarkdown from 'react-markdown'; -import { Link } from 'react-router-dom'; import DOMPurify from 'dompurify'; -const blockquoteToGreentext = () => (tree) => { - tree.children.forEach((node) => { - if (node.type === 'blockquote') { - node.children.forEach((child) => { - if (child.type === 'paragraph' && child.children.length > 0) { - const prefix = { - type: 'text', - value: '>', - }; - child.children.unshift(prefix); - } - }); - node.type = 'div'; - node.data = { - hName: 'div', - hProperties: { - className: 'greentext', - }, - }; - } - }); -}; - -const createQuotelink = (handlequoteclick, comment, children) => { - const text = children.map((child) => (typeof child === 'string' ? child : child.props.children)).join(''); - const regex = /(\s|^)(c\/[A-Za-z0-9]{12}|c\/[A-Za-z0-9]{45})(?=\s|$)/g; - const parts = text.split(regex); - - return parts.flatMap((part, i) => { - if (regex.test(part)) { - return [ - - {part.trim()} - , - ]; - } else { - return [part]; - } - }); -}; - - -const Post = ({ content, handlequoteclick, comment }) => { +const Post = ({ content }) => { const sanitizedContent = DOMPurify.sanitize(content); - return ( - null, - video: () => null, - source: () => null, - gif: () => null, - p: ({ children }) => ( -

{createQuotelink(handlequoteclick, comment, children)}

- ), - }} - /> - ); + const lines = sanitizedContent.split(/(?:\r\n|\r|\n)/); + const greentextLines = lines.map((line, index) => { + if (line.startsWith('>')) { + return
{line}
; + } else if (line === '') { + return
 
; + } + return
{line}
; + }); + + return <>{greentextLines}; }; export default Post; \ No newline at end of file