// Copyright 2019-2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React from 'react'; import classNames from 'classnames'; import { Avatar, AvatarBlur } from '../Avatar'; import { Spinner } from '../Spinner'; import type { LocalizerType } from '../../types/Util'; import { AvatarColors } from '../../types/Colors'; import type { EmbeddedContactType } from '../../types/EmbeddedContact'; import { getName } from '../../types/EmbeddedContact'; export function renderAvatar({ contact, i18n, size, direction, }: { contact: EmbeddedContactType; i18n: LocalizerType; size: 28 | 52 | 80; direction?: 'outgoing' | 'incoming'; }): JSX.Element { const { avatar } = contact; const avatarPath = avatar && avatar.avatar && avatar.avatar.path; const pending = avatar && avatar.avatar && avatar.avatar.pending; const title = getName(contact) || ''; const spinnerSvgSize = size < 50 ? 'small' : 'normal'; const spinnerSize = size < 50 ? '24px' : undefined; if (pending) { return (