/* @flow */
import * as React from 'react';
import { injectIntl } from 'react-intl';
import type { IntlShape } from 'react-intl';
import Badgeable from '../../components/badgeable/Badgeable';
import Tooltip from '../../components/tooltip/Tooltip';
import Avatar from '../../components/avatar';
import IconExpirationBadge from '../../icons/general/IconExpirationBadge';
import messages from './messages';
type Props = {
allowBadging?: boolean,
avatarUrl: ?string,
expiration?: {
executeAt: string,
},
hasCustomAvatar: ?boolean,
id: number,
intl: IntlShape,
isExternalCollab?: boolean,
name: string,
};
const CollaboratorAvatarItem = (props: Props) => {
const {
allowBadging = false,
expiration,
intl,
isExternalCollab = false,
hasCustomAvatar,
avatarUrl,
name,
...rest
} = props;
const avatarInstance =
hasCustomAvatar && avatarUrl ? (
) : (
);
const expirationTooltipMessage = intl.formatMessage(messages.expirationTooltipText, {
date: expiration?.executeAt,
});
const expirationBadge =
allowBadging && expiration && expiration.executeAt ? (
) : null;
return {avatarInstance};
};
export { CollaboratorAvatarItem as CollaboratorAvatarItemBase };
export default injectIntl(CollaboratorAvatarItem);