import { Link } from "react-router-dom"; import { EventKind, NostrPrefix } from "@snort/nostr"; import Mention from "Element/Mention"; import NostrFileHeader from "Element/NostrFileHeader"; import { parseNostrLink } from "Util"; import NoteQuote from "Element/NoteQuote"; export default function NostrLink({ link, depth }: { link: string; depth?: number }) { const nav = parseNostrLink(link); if (nav?.type === NostrPrefix.PublicKey || nav?.type === NostrPrefix.Profile) { return ; } else if (nav?.type === NostrPrefix.Note || nav?.type === NostrPrefix.Event || nav?.type === NostrPrefix.Address) { if (nav.kind === EventKind.FileHeader) { return ; } if ((depth ?? 0) > 0) { const evLink = nav.encode(); return ( e.stopPropagation()} state={{ from: location.pathname }}> #{evLink.substring(0, 12)} ); } else { return ; } } else { return ( e.stopPropagation()} target="_blank" rel="noreferrer" className="ext"> {link} ); } }