Only show Message option if chat member can be messaged (#10788)

This commit is contained in:
DS Boyce
2026-06-08 12:15:13 -07:00
committed by GitHub
parent 0c89198ded
commit 1c5b3dd3a1
@@ -12,7 +12,7 @@ import {useGetConvoForMembers} from '#/state/queries/messages/get-convo-for-memb
import {useRemoveFromGroupChat} from '#/state/queries/messages/remove-from-group' import {useRemoveFromGroupChat} from '#/state/queries/messages/remove-from-group'
import {useProfileBlockMutationQueue} from '#/state/queries/profile' import {useProfileBlockMutationQueue} from '#/state/queries/profile'
import {atoms as a, useTheme} from '#/alf' import {atoms as a, useTheme} from '#/alf'
import {type ConvoWithDetails} from '#/components/dms/util' import {canBeMessaged, type ConvoWithDetails} from '#/components/dms/util'
import {ArrowBoxLeft_Stroke2_Corner0_Rounded as ArrowBoxLeftIcon} from '#/components/icons/ArrowBoxLeft' import {ArrowBoxLeft_Stroke2_Corner0_Rounded as ArrowBoxLeftIcon} from '#/components/icons/ArrowBoxLeft'
import {DotGrid3x1_Stroke2_Corner0_Rounded as EllipsisIcon} from '#/components/icons/DotGrid' import {DotGrid3x1_Stroke2_Corner0_Rounded as EllipsisIcon} from '#/components/icons/DotGrid'
import {Message_Stroke2_Corner0_Rounded as MessageIcon} from '#/components/icons/Message' import {Message_Stroke2_Corner0_Rounded as MessageIcon} from '#/components/icons/Message'
@@ -127,6 +127,7 @@ export function MemberMenu({
} }
} }
const canMessageMember = canBeMessaged(profile)
const canBlockMember = type === 'owner' || type === 'standard' const canBlockMember = type === 'owner' || type === 'standard'
const canRemoveMember = isOwner const canRemoveMember = isOwner
@@ -188,14 +189,16 @@ export function MemberMenu({
<Trans>Go to profile</Trans> <Trans>Go to profile</Trans>
</Menu.ItemText> </Menu.ItemText>
</Menu.Item> </Menu.Item>
<Menu.Item {canMessageMember ? (
label={l`Message ${displayName}`} <Menu.Item
onPress={handleMessageMember}> label={l`Message ${displayName}`}
<Menu.ItemIcon icon={MessageIcon} /> onPress={handleMessageMember}>
<Menu.ItemText> <Menu.ItemIcon icon={MessageIcon} />
<Trans context="action">Message</Trans> <Menu.ItemText>
</Menu.ItemText> <Trans context="action">Message</Trans>
</Menu.Item> </Menu.ItemText>
</Menu.Item>
) : null}
</Menu.Group> </Menu.Group>
<Menu.Divider /> <Menu.Divider />
<Menu.Group> <Menu.Group>