2023-01-16 22:22:21 +00:00
|
|
|
import { useMemo } from "react";
|
|
|
|
import { Link } from "react-router-dom";
|
2023-01-27 21:38:41 +00:00
|
|
|
import { useUserProfile } from "Feed/ProfileFeed";
|
2023-01-20 11:11:50 +00:00
|
|
|
import { HexKey } from "Nostr";
|
|
|
|
import { hexToBech32, profileLink } from "Util";
|
2023-01-16 22:22:21 +00:00
|
|
|
|
|
|
|
export default function Mention({ pubkey }: { pubkey: HexKey }) {
|
2023-02-07 20:04:50 +00:00
|
|
|
const user = useUserProfile(pubkey);
|
2023-01-16 22:22:21 +00:00
|
|
|
|
2023-02-07 20:04:50 +00:00
|
|
|
const name = useMemo(() => {
|
|
|
|
let name = hexToBech32("npub", pubkey).substring(0, 12);
|
2023-02-07 19:47:57 +00:00
|
|
|
if (user?.display_name !== undefined && user.display_name.length > 0) {
|
|
|
|
name = user.display_name;
|
|
|
|
} else if (user?.name !== undefined && user.name.length > 0) {
|
|
|
|
name = user.name;
|
2023-02-07 20:04:50 +00:00
|
|
|
}
|
|
|
|
return name;
|
|
|
|
}, [user, pubkey]);
|
2023-01-16 22:22:21 +00:00
|
|
|
|
2023-02-07 20:04:50 +00:00
|
|
|
return (
|
|
|
|
<Link to={profileLink(pubkey)} onClick={(e) => e.stopPropagation()}>
|
|
|
|
@{name}
|
|
|
|
</Link>
|
|
|
|
);
|
2023-01-27 21:38:41 +00:00
|
|
|
}
|