From 865265d0d90ba10347170b3d9e0ceb379e3d7aaf Mon Sep 17 00:00:00 2001 From: Abdul Rahman <81605929+abdulrahmancodes@users.noreply.github.com> Date: Fri, 12 Dec 2025 13:35:52 +0530 Subject: [PATCH] fix: Display locked UI for restricted email thread messages (#16512) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #15289 Screenshot 2025-12-12 at 1 08 46 AM --- .../emails/components/EmailThreadMessage.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/twenty-front/src/modules/activities/emails/components/EmailThreadMessage.tsx b/packages/twenty-front/src/modules/activities/emails/components/EmailThreadMessage.tsx index ccd1150722..50fd780d9a 100644 --- a/packages/twenty-front/src/modules/activities/emails/components/EmailThreadMessage.tsx +++ b/packages/twenty-front/src/modules/activities/emails/components/EmailThreadMessage.tsx @@ -5,8 +5,11 @@ import { EmailThreadMessageBody } from '@/activities/emails/components/EmailThre import { EmailThreadMessageBodyPreview } from '@/activities/emails/components/EmailThreadMessageBodyPreview'; import { EmailThreadMessageReceivers } from '@/activities/emails/components/EmailThreadMessageReceivers'; import { EmailThreadMessageSender } from '@/activities/emails/components/EmailThreadMessageSender'; +import { EmailThreadNotShared } from '@/activities/emails/components/EmailThreadNotShared'; import { type EmailThreadMessageParticipant } from '@/activities/emails/types/EmailThreadMessageParticipant'; +import { FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED } from 'twenty-shared/constants'; import { MessageParticipantRole } from 'twenty-shared/types'; +import { MessageChannelVisibility } from '~/generated/graphql'; const StyledThreadMessage = styled.div` border-bottom: 1px solid ${({ theme }) => theme.border.color.light}; @@ -53,17 +56,24 @@ export const EmailThreadMessage = ({ return null; } + const isRestricted = + body === FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED; + return ( !isOpen && setIsOpen(true)} - style={{ cursor: isOpen ? 'auto' : 'pointer' }} + style={{ cursor: isOpen || isRestricted ? 'auto' : 'pointer' }} > isOpen && setIsOpen(false)}> {isOpen && } - {isOpen ? ( + {isRestricted ? ( + + ) : isOpen ? ( ) : (