// Copyright 2018-2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React from 'react'; import classNames from 'classnames'; import { About } from './conversation/About'; import { Avatar } from './Avatar'; import { Emojify } from './conversation/Emojify'; import { InContactsIcon } from './InContactsIcon'; import { LocalizerType } from '../types/Util'; import { ConversationType } from '../state/ducks/conversations'; type Props = { i18n: LocalizerType; isAdmin?: boolean; onClick?: () => void; } & Pick< ConversationType, | 'about' | 'acceptedMessageRequest' | 'avatarPath' | 'color' | 'isMe' | 'name' | 'phoneNumber' | 'profileName' | 'sharedGroupNames' | 'title' | 'type' | 'unblurredAvatarPath' >; export class ContactListItem extends React.Component { public renderAvatar(): JSX.Element { const { acceptedMessageRequest, avatarPath, color, i18n, isMe, name, phoneNumber, profileName, sharedGroupNames, title, type, unblurredAvatarPath, } = this.props; return ( ); } public render(): JSX.Element { const { about, i18n, isAdmin, isMe, name, onClick, title } = this.props; const displayName = isMe ? i18n('you') : title; const shouldShowIcon = Boolean(name); return ( ); } }