diff --git a/packages/pl-fe/src/components/parsed-content.tsx b/packages/pl-fe/src/components/parsed-content.tsx index f4dbc348d..381a81de7 100644 --- a/packages/pl-fe/src/components/parsed-content.tsx +++ b/packages/pl-fe/src/components/parsed-content.tsx @@ -104,7 +104,12 @@ function parseContent({ replace(domNode) { if (!(domNode instanceof Element)) { // @ts-ignore - if (greentext && (domNode.data.startsWith('>') || domNode.prev?.greentext)) { + domNode.preGreentext = (!domNode.prev || domNode.prev.preGreentext) && !domNode.data.trim().length; + + // @ts-ignore + const data = domNode.prev?.preGreentext ? domNode.data.trim() : domNode.data; + // @ts-ignore + if (greentext && (data.startsWith('>') || domNode.prev?.greentext)) { // @ts-ignore domNode.greentext = true; return {domNode.data}; @@ -121,6 +126,11 @@ function parseContent({ return <>; } + if (domNode.attribs.class?.split(' ').includes('h-card')) { + // @ts-ignore + domNode.preGreentext = !domNode.prev || domNode.prev.preGreentext; + } + // @ts-ignore if (domNode.name !== 'br' && domNode.prev?.greentext) { domNode.attribs.class = `${domNode.attribs.class || ''} ${GREENTEXT_CLASS}`;