diff --git a/src/components/status.jsx b/src/components/status.jsx
index 0bd92926..e4e91be2 100644
--- a/src/components/status.jsx
+++ b/src/components/status.jsx
@@ -106,6 +106,43 @@ function getPostText(status) {
);
}
+const PostContent = memo(
+ ({ post, instance, previewMode }) => {
+ const { content, emojis, language, mentions, url } = post;
+ return (
+
{
+ // Remove target="_blank" from links
+ dom.querySelectorAll('a.u-url[target="_blank"]').forEach((a) => {
+ if (!/http/i.test(a.innerText.trim())) {
+ a.removeAttribute('target');
+ }
+ });
+ },
+ }),
+ }}
+ />
+ );
+ },
+ (oldProps, newProps) => {
+ const { content: oldContent } = oldProps;
+ const { content: newContent } = newProps;
+ return oldContent === newContent;
+ },
+);
+
function Status({
statusID,
status,
@@ -1680,59 +1717,10 @@ function Status({
ref={contentRef}
data-read-more={readMoreText}
>
-
{
- // Remove target="_blank" from links
- dom
- .querySelectorAll('a.u-url[target="_blank"]')
- .forEach((a) => {
- if (!/http/i.test(a.innerText.trim())) {
- a.removeAttribute('target');
- }
- });
- // if (previewMode) return;
- // Unfurl Mastodon links
- // Array.from(
- // dom.querySelectorAll(
- // 'a[href]:not(.u-url):not(.mention):not(.hashtag)',
- // ),
- // )
- // .filter((a) => {
- // const url = a.href;
- // const isPostItself =
- // url === status.url || url === status.uri;
- // return !isPostItself && isMastodonLinkMaybe(url);
- // })
- // .forEach((a, i) => {
- // unfurlMastodonLink(currentInstance, a.href).then(
- // (result) => {
- // if (!result) return;
- // a.removeAttribute('target');
- // if (!sKey) return;
- // if (!Array.isArray(states.statusQuotes[sKey])) {
- // states.statusQuotes[sKey] = [];
- // }
- // if (!states.statusQuotes[sKey][i]) {
- // states.statusQuotes[sKey].splice(i, 0, result);
- // }
- // },
- // );
- // });
- },
- }),
- }}
+