diff --git a/package.json b/package.json index 22079ccc..7e7f8e97 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-intersection-observer": "^9.4.1", + "react-markdown": "^8.0.4", "react-redux": "^8.0.5", "react-router-dom": "^6.5.0", "react-scripts": "5.0.1", diff --git a/src/Text.js b/src/Text.js index 3cd71e3a..4950affb 100644 --- a/src/Text.js +++ b/src/Text.js @@ -1,4 +1,7 @@ +import { useMemo } from "react"; + import { Link } from "react-router-dom"; +import ReactMarkdown from "react-markdown"; import { TwitterTweetEmbed } from "react-twitter-embed"; import Invoice from "./element/Invoice"; @@ -6,64 +9,59 @@ import { UrlRegex, FileExtensionRegex, MentionRegex, InvoiceRegex, YoutubeUrlReg import { eventLink, hexToBech32, profileLink } from "./Util"; import LazyImage from "./element/LazyImage"; import Hashtag from "./element/Hashtag"; -import { useMemo } from "react"; function transformHttpLink(a) { - try { - const url = new URL(a); - const youtubeId = YoutubeUrlRegex.test(a) && RegExp.$1; - const tweetId = TweetUrlRegex.test(a) && RegExp.$2; - const extension = FileExtensionRegex.test(url.pathname.toLowerCase()) && RegExp.$1; - if (extension) { - switch (extension) { - case "gif": - case "jpg": - case "jpeg": - case "png": - case "bmp": - case "webp": { - return ; - } - case "mp4": - case "mov": - case "mkv": - case "avi": - case "m4v": { - return