import React, { memo } from '../../../lib/teact/teact'; import type { ApiChat, ApiMessage, ApiPeer } from '../../../api/types'; import { getMessageSenderName } from '../../../global/helpers'; import buildClassName from '../../../util/buildClassName'; import renderText from '../../common/helpers/renderText'; import useLastCallback from '../../../hooks/useLastCallback'; import useOldLang from '../../../hooks/useOldLang'; import Avatar from '../../common/Avatar'; import FullNameTitle from '../../common/FullNameTitle'; import LastMessageMeta from '../../common/LastMessageMeta'; import MessageSummary from '../../common/MessageSummary'; import styles from './MiddleSearchResult.module.scss'; type OwnProps = { isActive?: boolean; message: ApiMessage; senderPeer?: ApiPeer; messageChat?: ApiChat; shouldShowChat?: boolean; query?: string; className?: string; onClick: (message: ApiMessage) => void; }; const TRUNCATE_LENGTH = 200; const MiddleSearchResult = ({ isActive, message, senderPeer, messageChat, shouldShowChat, query, className, onClick, }: OwnProps) => { const lang = useOldLang(); const hiddenForwardTitle = message.forwardInfo?.hiddenUserName; const peer = shouldShowChat ? messageChat : senderPeer; const senderName = shouldShowChat ? getMessageSenderName(lang, message.chatId, senderPeer) : undefined; const handleClick = useLastCallback(() => { onClick(message); }); return (