import React from 'react'; import { ContactName } from '../../../ContactName'; import { PubKey } from '../../../../../session/types'; import styled from 'styled-components'; import { QuoteProps } from './Quote'; const StyledQuoteAuthor = styled.div<{ isIncoming: boolean }>` color: ${props => props.isIncoming ? 'var(--message-bubbles-received-text-color)' : 'var(--message-bubbles-sent-text-color)'}; font-size: 15px; font-weight: bold; line-height: 18px; margin-bottom: 2px; overflow-x: hidden; white-space: nowrap; text-overflow: ellipsis; .module-contact-name { font-weight: bold; } `; type QuoteAuthorProps = Pick< QuoteProps, | 'authorName' | 'authorProfileName' | 'isFromMe' | 'isIncoming' | 'referencedMessageNotFound' | 'sender' > & { showPubkeyForAuthor?: boolean; }; export const QuoteAuthor = (props: QuoteAuthorProps) => { const { authorProfileName, authorName, isFromMe, isIncoming, referencedMessageNotFound, sender, showPubkeyForAuthor, } = props; if (referencedMessageNotFound) { return null; } return ( <StyledQuoteAuthor isIncoming={isIncoming}> {isFromMe ? ( window.i18n('you') ) : ( <ContactName pubkey={PubKey.shorten(sender)} name={authorName} profileName={authorProfileName} compact={true} shouldShowPubkey={Boolean(showPubkeyForAuthor)} /> )} </StyledQuoteAuthor> ); };