snort/packages/app/src/Element/Mention.tsx

22 lines
626 B
TypeScript
Raw Normal View History

2023-01-16 22:22:21 +00:00
import { useMemo } from "react";
import { Link } from "react-router-dom";
2023-02-11 20:05:46 +00:00
import { HexKey } from "@snort/nostr";
2023-01-16 22:22:21 +00:00
2023-03-25 22:55:34 +00:00
import { useUserProfile } from "Hooks/useUserProfile";
import { profileLink } from "Util";
import { getDisplayName } from "Element/ProfileImage";
export default function Mention({ pubkey, relays }: { pubkey: HexKey; relays?: Array<string> | string }) {
const user = useUserProfile(pubkey);
2023-01-16 22:22:21 +00:00
const name = useMemo(() => {
2023-03-25 22:55:34 +00:00
return getDisplayName(user, pubkey);
}, [user, pubkey]);
2023-01-16 22:22:21 +00:00
return (
2023-03-25 22:55:34 +00:00
<Link to={profileLink(pubkey, relays)} onClick={e => e.stopPropagation()}>
@{name}
</Link>
);
}