import "./ProfilePreview.css"; import { ReactNode } from "react"; import ProfileImage from "Element/ProfileImage"; import FollowButton from "Element/FollowButton"; import { useUserProfile } from "Hooks/useUserProfile"; import { HexKey } from "@snort/nostr"; import { useInView } from "react-intersection-observer"; export interface ProfilePreviewProps { pubkey: HexKey; options?: { about?: boolean; }; actions?: ReactNode; className?: string; } export default function ProfilePreview(props: ProfilePreviewProps) { const pubkey = props.pubkey; const { ref, inView } = useInView({ triggerOnce: true }); const user = useUserProfile(inView ? pubkey : undefined); const options = { about: true, ...props.options, }; return ( <>
{inView && ( <> {user?.about}
: undefined} /> {props.actions ?? (
)} )} ); }