From b635d000b51a440b3c0eb8a2c0c01cf8e8c54ed3 Mon Sep 17 00:00:00 2001 From: Hailey Date: Thu, 16 May 2024 08:17:34 -0700 Subject: [🐴] Disable hover card when blocked or blocking (#4041) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ProfileHoverCard/index.web.tsx | 6 +++++- src/components/ProfileHoverCard/types.ts | 1 + src/screens/Messages/Conversation/index.tsx | 1 + src/view/com/util/UserAvatar.tsx | 6 ++++-- 4 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/components/ProfileHoverCard/index.web.tsx b/src/components/ProfileHoverCard/index.web.tsx index 09a4b397b..60b83e110 100644 --- a/src/components/ProfileHoverCard/index.web.tsx +++ b/src/components/ProfileHoverCard/index.web.tsx @@ -46,7 +46,11 @@ const floatingMiddlewares = [ const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0 export function ProfileHoverCard(props: ProfileHoverCardProps) { - return isTouchDevice ? props.children : + if (props.disable || isTouchDevice) { + return props.children + } else { + return + } } type State = diff --git a/src/components/ProfileHoverCard/types.ts b/src/components/ProfileHoverCard/types.ts index a62279c96..2fa064383 100644 --- a/src/components/ProfileHoverCard/types.ts +++ b/src/components/ProfileHoverCard/types.ts @@ -4,4 +4,5 @@ export type ProfileHoverCardProps = { children: React.ReactElement did: string inline?: boolean + disable?: boolean } diff --git a/src/screens/Messages/Conversation/index.tsx b/src/screens/Messages/Conversation/index.tsx index a176d8129..29019eff5 100644 --- a/src/screens/Messages/Conversation/index.tsx +++ b/src/screens/Messages/Conversation/index.tsx @@ -277,6 +277,7 @@ function HeaderReady({ size={32} profile={profile} moderation={moderation.ui('avatar')} + disable={moderation.blocked} /> void profile: AppBskyActorDefs.ProfileViewBasic + disable?: boolean + onBeforePress?: () => void } const BLUR_AMOUNT = isWeb ? 5 : 100 @@ -383,6 +384,7 @@ export {EditableUserAvatar} let PreviewableUserAvatar = ({ moderation, profile, + disable, onBeforePress, ...rest }: PreviewableUserAvatarProps): React.ReactNode => { @@ -395,7 +397,7 @@ let PreviewableUserAvatar = ({ }, [profile, queryClient, onBeforePress]) return ( - +