snort/src/element/FollowsYou.tsx

28 lines
799 B
TypeScript
Raw Normal View History

2023-01-18 03:26:42 +00:00
import { useMemo } from "react";
import { useSelector } from "react-redux";
import { HexKey } from "../nostr";
import { RootState } from "../state/Store";
import useFollowsFeed from "../feed/FollowsFeed";
import { getFollowers } from "../feed/FollowsFeed";
export interface FollowsYouProps {
pubkey: HexKey
}
export default function FollowsYou({ pubkey }: FollowsYouProps ) {
const feed = useFollowsFeed(pubkey);
const loginPubKey = useSelector<RootState, HexKey | undefined>(s => s.login.publicKey);
const pubkeys = useMemo(() => {
return getFollowers(feed, pubkey);
}, [feed]);
const followsMe = pubkeys.includes(loginPubKey!) ?? false ;
return (
<>
2023-01-18 16:13:38 +00:00
{ followsMe ? <span className="pill">follows you</span> : null }
2023-01-18 03:26:42 +00:00
</>
)
}