Files
snort/src/element/Mention.tsx
2023-01-16 22:22:21 +00:00

21 lines
743 B
TypeScript

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 <Link to={profileLink(pubkey)} onClick={(e) => e.stopPropagation()}>@{name}</Link>
}