diff --git a/src/element/Mention.tsx b/src/element/Mention.tsx new file mode 100644 index 00000000..45a0cbf3 --- /dev/null +++ b/src/element/Mention.tsx @@ -0,0 +1,21 @@ +import { useMemo } from "react"; +import { Link } from "react-router-dom"; +import useProfile from "../feed/ProfileFeed"; +import { HexKey } from "../nostr"; +import { hexToBech32, profileLink } from "../Util"; + +export default function Mention({ pubkey }: { pubkey: HexKey }) { + const user = useProfile(pubkey)?.get(pubkey); + + const name = useMemo(() => { + let name = hexToBech32("npub", pubkey).substring(0, 12); + if ((user?.display_name?.length ?? 0) > 0) { + name = user!.display_name!; + } else if ((user?.name?.length ?? 0) > 0) { + name = user!.name!; + } + return name; + }, [user]); + + return e.stopPropagation()}>@{name} +} \ No newline at end of file diff --git a/src/element/Nip05.css b/src/element/Nip05.css index 6a9250f6..c71ebe0f 100644 --- a/src/element/Nip05.css +++ b/src/element/Nip05.css @@ -5,6 +5,10 @@ margin: .2em; } +.nip05.failed { + text-decoration: line-through; +} + .nip05 .nick { color: var(--gray-light); font-weight: bold; diff --git a/src/element/Nip05.tsx b/src/element/Nip05.tsx index 2adb34ac..ff1e3428 100644 --- a/src/element/Nip05.tsx +++ b/src/element/Nip05.tsx @@ -53,7 +53,7 @@ const Nip05 = (props: Nip05Params) => { const { isVerified, couldNotVerify } = useIsVerified(props.pubkey, props.nip05) return ( -