From 0f2fb746219b06eca74a746b8579a9aa03335600 Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Sun, 20 Oct 2024 18:53:43 +0200 Subject: [PATCH] Avatar: Hide "Report" button for personal photos (#5060) --- src/components/mediaViewer/MediaViewer.tsx | 18 ++++++++++++------ .../mediaViewer/MediaViewerActions.tsx | 12 ++++++------ src/components/mediaViewer/SenderInfo.tsx | 15 ++++++++++----- 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/components/mediaViewer/MediaViewer.tsx b/src/components/mediaViewer/MediaViewer.tsx index 6fd6af53c..d94e6ca9d 100644 --- a/src/components/mediaViewer/MediaViewer.tsx +++ b/src/components/mediaViewer/MediaViewer.tsx @@ -136,7 +136,7 @@ const MediaViewer = ({ const isGhostAnimation = Boolean(withAnimation && !shouldSkipHistoryAnimations); /* Controls */ - const [isReportModalOpen, openReportModal, closeReportModal] = useFlag(); + const [isReportAvatarModalOpen, openReportAvatarModal, closeReportAvatarModal] = useFlag(); const currentItem = getMediaViewerItem({ message, avatarOwner, standaloneMedia, profilePhotos, mediaIndex, sponsoredMessage, @@ -155,7 +155,13 @@ const MediaViewer = ({ media, isAvatar: Boolean(avatarOwner), origin, delay: isGhostAnimation && ANIMATION_DURATION, }); - const canReport = avatarOwner && !isChatWithSelf; + const canReportAvatar = (() => { + if (isChatWithSelf) return false; + if (currentItem?.type !== 'avatar' || !avatarOwner) return false; + const info = currentItem.profilePhotos; + if (media === info.personalPhoto) return false; + return true; + })(); const isVisible = !isHidden && isOpen; const messageMediaIds = useMemo(() => { @@ -434,15 +440,15 @@ const MediaViewer = ({ isVideo={isVideo} item={currentItem} canUpdateMedia={canUpdateMedia} - canReport={canReport} + canReportAvatar={canReportAvatar} onBeforeDelete={handleBeforeDelete} - onReport={openReportModal} + onReportAvatar={openReportAvatarModal} onCloseMediaViewer={handleClose} onForward={handleForward} /> = ({ isVideo, isChatProtected, isProtected, - canReport, + canReportAvatar, canDelete, canUpdate, messageListType, activeDownloads, origin, - onReport, + onReportAvatar: onReport, onCloseMediaViewer, onBeforeDelete, onForward, @@ -247,7 +247,7 @@ const MediaViewerActions: FC = ({ } } - if (canReport) { + if (canReportAvatar) { menuItems.push({ icon: 'flag', onClick: onReport, @@ -335,7 +335,7 @@ const MediaViewerActions: FC = ({ > - {canReport && ( + {canReportAvatar && (