import './Text.css' import { useMemo } from "react"; import { Link } from "react-router-dom"; import ReactMarkdown from "react-markdown"; import { TwitterTweetEmbed } from "react-twitter-embed"; import { UrlRegex, FileExtensionRegex, MentionRegex, InvoiceRegex, YoutubeUrlRegex, TweetUrlRegex, HashtagRegex } from "Const"; import { eventLink, hexToBech32 } from "Util"; import Invoice from "Element/Invoice"; import Hashtag from "Element/Hashtag"; import Tag from "Nostr/Tag"; import { MetadataCache } from "Db/User"; import Mention from "Element/Mention"; function transformHttpLink(a: string) { 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