From 139bc841749949b00d0c7a55fb741dfe640fe2b9 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 4 Mar 2022 16:22:24 +0300 Subject: [PATCH] Delete chat: Allow to leave; Seen By: Better view (#1749) --- src/components/common/DeleteChatModal.tsx | 21 ++++++++++++++++++- src/components/common/SeenByModal.tsx | 2 +- .../middle/message/MessageContextMenu.tsx | 10 ++++++--- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/components/common/DeleteChatModal.tsx b/src/components/common/DeleteChatModal.tsx index 0fb478e93..168c6d943 100644 --- a/src/components/common/DeleteChatModal.tsx +++ b/src/components/common/DeleteChatModal.tsx @@ -108,6 +108,15 @@ const DeleteChatModal: FC = ({ deleteChannel, ]); + const handleLeaveChat = useCallback(() => { + if (isChannel || isSuperGroup) { + leaveChannel({ chatId: chat.id }); + onClose(); + } else { + handleDeleteChat(); + } + }, [chat.id, handleDeleteChat, isChannel, isSuperGroup, leaveChannel, onClose]); + function renderHeader() { return (
@@ -183,7 +192,17 @@ const DeleteChatModal: FC = ({ {contactName ? renderText(lang('ChatList.DeleteForEveryone', contactName)) : lang('DeleteForAll')} )} - + )} + diff --git a/src/components/common/SeenByModal.tsx b/src/components/common/SeenByModal.tsx index 892c4837d..78f104a44 100644 --- a/src/components/common/SeenByModal.tsx +++ b/src/components/common/SeenByModal.tsx @@ -46,7 +46,7 @@ const SeenByModal: FC = ({ isOpen={isOpen} onClose={closeSeenByModal} className="narrow" - title="Which users read the message" + title={`Seen by ${memberIds?.length} users`} >
{renderingMemberIds && renderingMemberIds.map((userId) => ( diff --git a/src/components/middle/message/MessageContextMenu.tsx b/src/components/middle/message/MessageContextMenu.tsx index 24c21a3c7..147542cda 100644 --- a/src/components/middle/message/MessageContextMenu.tsx +++ b/src/components/middle/message/MessageContextMenu.tsx @@ -7,6 +7,7 @@ import { IAnchorPosition } from '../../../types'; import { getMessageCopyOptions } from './helpers/copyOptions'; import { disableScrolling, enableScrolling } from '../../../util/scrollLock'; +import { getUserFullName } from '../../../modules/helpers'; import useContextMenuPosition from '../../../hooks/useContextMenuPosition'; import useLang from '../../../hooks/useLang'; import buildClassName from '../../../util/buildClassName'; @@ -259,9 +260,12 @@ const MessageContextMenu: FC = ({ ? lang('Chat.OutgoingContextMixedReactionCount', [message.reactors.count, message.seenByUserIds.length]) : lang('Chat.ContextReactionCount', message.reactors.count, 'i') ) : ( - message.seenByUserIds?.length - ? lang('Conversation.ContextMenuSeen', message.seenByUserIds.length, 'i') - : lang('Conversation.ContextMenuNoViews') + message.seenByUserIds?.length === 1 && seenByRecentUsers + ? getUserFullName(seenByRecentUsers[0]) + : (message.seenByUserIds?.length + ? lang('Conversation.ContextMenuSeen', message.seenByUserIds.length, 'i') + : lang('Conversation.ContextMenuNoViews') + ) )}
{seenByRecentUsers?.map((user) => (