From 392aee6c8459b2510cc3b1979c66458baa3d8877 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Thu, 13 Jan 2022 01:11:47 +0100 Subject: [PATCH] [Refactoring] Message: Simplify `asForwarded` logic --- src/components/middle/message/Message.tsx | 14 +++++++++----- .../message/helpers/buildContentClassName.ts | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/middle/message/Message.tsx b/src/components/middle/message/Message.tsx index e20602b47..0b64993ed 100644 --- a/src/components/middle/message/Message.tsx +++ b/src/components/middle/message/Message.tsx @@ -274,20 +274,24 @@ const Message: FC = ({ const isScheduled = messageListType === 'scheduled' || message.isScheduled; const hasReply = isReplyMessage(message) && !shouldHideReply; const hasThread = Boolean(threadInfo) && messageListType === 'thread'; + const customShape = getMessageCustomShape(message); const { forwardInfo, viaBotId } = message; const asForwarded = ( - forwardInfo && (!isChatWithSelf || isScheduled) && !isRepliesChat && !forwardInfo.isLinkedChannelPost + forwardInfo + && (!isChatWithSelf || isScheduled) + && !isRepliesChat + && !forwardInfo.isLinkedChannelPost + && !customShape ); const isInDocumentGroup = Boolean(message.groupedId) && !message.isInAlbum; const isAlbum = Boolean(album) && album!.messages.length > 1; const { text, photo, video, audio, voice, document, sticker, contact, poll, webPage, invoice, } = getMessageContent(message); - const customShape = getMessageCustomShape(message); const textParts = renderMessageText(message, highlight, isEmojiOnlyMessage(customShape)); const isContextMenuShown = contextMenuPosition !== undefined; const signature = ( - (isChannel && message.adminTitle) || (forwardInfo && !asForwarded && forwardInfo.adminTitle) || undefined + (isChannel && message.adminTitle) || (!asForwarded && forwardInfo?.adminTitle) || undefined ); const metaSafeAuthorWidth = useMemo(() => { return signature ? calculateAuthorWidth(signature) : undefined; @@ -473,7 +477,7 @@ const Message: FC = ({ function renderContent() { const className = buildClassName( 'content-inner', - asForwarded && !customShape && 'forwarded-message', + asForwarded && 'forwarded-message', hasReply && 'reply-message', noMediaCorners && 'no-media-corners', ); @@ -735,7 +739,7 @@ const Message: FC = ({ style={style} dir="auto" > - {asForwarded && !customShape && (!isInDocumentGroup || isFirstInDocumentGroup) && ( + {asForwarded && (!isInDocumentGroup || isFirstInDocumentGroup) && (
{lang('ForwardedMessage')}
)} {renderContent()} diff --git a/src/components/middle/message/helpers/buildContentClassName.ts b/src/components/middle/message/helpers/buildContentClassName.ts index e823c6ac4..df6a37afa 100644 --- a/src/components/middle/message/helpers/buildContentClassName.ts +++ b/src/components/middle/message/helpers/buildContentClassName.ts @@ -77,7 +77,7 @@ export function buildContentClassName( } } - if (asForwarded && !customShape) { + if (asForwarded) { classNames.push('is-forwarded'); }