From 1760ffec00789bf5da3058686104d3844f730131 Mon Sep 17 00:00:00 2001 From: mkljczk Date: Tue, 25 Mar 2025 17:54:47 +0100 Subject: [PATCH] pl-fe: try to improve greentext handling Signed-off-by: mkljczk --- .../pl-fe/src/components/parsed-content.tsx | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/pl-fe/src/components/parsed-content.tsx b/packages/pl-fe/src/components/parsed-content.tsx index 1a2a0ebdc..31ce94576 100644 --- a/packages/pl-fe/src/components/parsed-content.tsx +++ b/packages/pl-fe/src/components/parsed-content.tsx @@ -102,7 +102,11 @@ function parseContent({ replace(domNode) { if (!(domNode instanceof Element)) { const data = speakAsCat ? nyaize(domNode.data) : domNode.data; - if (greentext && data.startsWith('>')) { + + // @ts-ignore + if (greentext && (data.startsWith('>') || domNode.prev?.greentext)) { + // @ts-ignore + domNode.greentext = true; return {data}; } @@ -119,9 +123,23 @@ function parseContent({ return <>; } + // @ts-ignore + if (domNode.name !== 'br' && domNode.prev?.greentext) { + domNode.attribs.class += ' greentext'; + // @ts-ignore + domNode.greentext = true; + } + if (domNode.name === 'a') { const classes = domNode.attribs.class?.split(' '); + // @ts-ignore + if (domNode.prev?.greentext) { + classes.push('greentext'); + // @ts-ignore + domNode.greentext = true; + } + const href = domNode.attribs.href && cleanUrls ? Purify.clearUrl(domNode.attribs.href) : domNode.attribs.href; const fallback = (