import React, { useEffect } from 'react'; import './ForwardMessagePreview.scss'; import ForwardFilled from '../../../../components/UI/svgs/Icons/Actions/ForwardFilled'; import { MessageEntity } from '../../../../../Domain/entity/MessageEntity'; import { FileType } from '../../../../../Domain/entity/FileTypes'; import ReplyImagePreviewAttachment from '../../../../ui-components/MessageInput/ReplyMessagePreview/ReplyImagePreviewAttachment/ReplyImagePreviewAttachment'; import TextDocument from '../../../../components/UI/svgs/Icons/Media/TextDocument'; import { MessageDTOMapper } from '../../../../../Data/source/remote/Mapper/MessageDTOMapper'; type ForwardMessagePreviewProps = { messages: MessageEntity[]; userNameSentMessage: string; }; function trimMessage(messageText: string) { return `${messageText.substring(0, 29)} ...`; } // eslint-disable-next-line react/function-component-definition const ForwardMessagePreview = ({ messages, userNameSentMessage, }: ForwardMessagePreviewProps) => { const [messageTextValue, setMessageTextValue] = React.useState(''); useEffect(() => { const value = MessageDTOMapper.formatMessage(messages[0].message); setMessageTextValue(value); }, [messages[0]?.message]); return (
{messages.length > 0 && messages[0].attachments && messages[0].attachments.length > 0 ? (
{messages && messages[0].attachments && messages[0].attachments.length > 0 && messages[0].attachments[0].type .toString() .includes(FileType.image) && messages[0].attachments[0].file ? ( ) : ( )}
) : null}
Forwarded from {userNameSentMessage}
{messages.length > 0 && (!messages[0].attachments || (messages[0].attachments && messages[0].attachments.length === 0)) ? (
{messages.length > 1 ? '2 messages' : trimMessage(messageTextValue)}
) : (
{messages.length > 1 ? '2 messages' : trimMessage(messageTextValue)}
)}
); }; export default ForwardMessagePreview;