From c91dc34c0dbff676600abcc4a093b834c0589cdb Mon Sep 17 00:00:00 2001 From: Sam Samskies Date: Fri, 3 Mar 2023 11:25:50 -0600 Subject: [PATCH] always show link, but hide iframe when necessary --- packages/app/src/Element/HyperText.tsx | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/packages/app/src/Element/HyperText.tsx b/packages/app/src/Element/HyperText.tsx index 1948828b..e411e1d6 100644 --- a/packages/app/src/Element/HyperText.tsx +++ b/packages/app/src/Element/HyperText.tsx @@ -1,4 +1,4 @@ -import { useCallback, useState } from "react"; +import { useCallback, useState, Children } from "react"; import { useSelector } from "react-redux"; import { TwitterTweetEmbed } from "react-twitter-embed"; import { FormattedMessage } from "react-intl"; @@ -137,14 +137,12 @@ export default function HyperText({ link, creator }: { link: string; creator: He } else if (isAppleMusicLink) { return ; } else if (isNostrNestsLink) { - return ( - <> - e.stopPropagation()} target="_blank" rel="noreferrer" className="ext"> - {a} - - - - ); + return [ + e.stopPropagation()} target="_blank" rel="noreferrer" className="ext"> + {a} + , + , + ]; } else { return ( e.stopPropagation()} target="_blank" rel="noreferrer" className="ext"> @@ -162,9 +160,6 @@ export default function HyperText({ link, creator }: { link: string; creator: He ); }, [link, reveal]); - const elm = render(); - if (elm.type !== "a") { - return wrapReveal(elm, link); - } - return elm; + const children = render(); + return <>{Children.map(children, elm => (elm.type === "a" ? elm : wrapReveal(elm, link)))}; }