Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
at main 49 lines 1.4 kB view raw
1import type { PostFragment } from "@hey/indexer"; 2import { memo } from "react"; 3import PostWarning from "@/components/Shared/Post/PostWarning"; 4import PostWrapper from "@/components/Shared/Post/PostWrapper"; 5import { 6 getBlockedByMeMessage, 7 getBlockedMeMessage 8} from "@/helpers/getBlockedMessage"; 9import HiddenPost from "./HiddenPost"; 10import PostAvatar from "./PostAvatar"; 11import PostBody from "./PostBody"; 12import PostHeader from "./PostHeader"; 13 14interface QuotedPostProps { 15 isNew?: boolean; 16 post: PostFragment; 17} 18 19const QuotedPost = ({ isNew = false, post }: QuotedPostProps) => { 20 const isBlockededByMe = post.author.operations?.isBlockedByMe; 21 const hasBlockedMe = post.author.operations?.hasBlockedMe; 22 23 if (hasBlockedMe) { 24 return <PostWarning message={getBlockedMeMessage(post.author)} />; 25 } 26 27 if (isBlockededByMe) { 28 return <PostWarning message={getBlockedByMeMessage(post.author)} />; 29 } 30 31 return ( 32 <PostWrapper 33 className="cursor-pointer p-4 first:rounded-t-xl last:rounded-b-xl" 34 post={post} 35 > 36 <div className="flex items-center gap-x-2"> 37 <PostAvatar post={post} quoted /> 38 <PostHeader isNew={isNew} post={post} quoted /> 39 </div> 40 {post.isDeleted ? ( 41 <HiddenPost type={post.__typename} /> 42 ) : ( 43 <PostBody post={post} showMore /> 44 )} 45 </PostWrapper> 46 ); 47}; 48 49export default memo(QuotedPost);