Author.tsx

 1import MAvatar from '@material-ui/core/Avatar';
 2import Tooltip from '@material-ui/core/Tooltip/Tooltip';
 3import React from 'react';
 4
 5import { AuthoredFragment } from './Author.generated';
 6
 7type Props = AuthoredFragment;
 8const Author = ({ author, ...props }: Props) => {
 9  if (!author.email) {
10    return <span {...props}>{author.displayName}</span>;
11  }
12
13  return (
14    <Tooltip title={author.email}>
15      <span {...props}>{author.displayName}</span>
16    </Tooltip>
17  );
18};
19
20export const Avatar = ({ author, ...props }: Props) => {
21  if (author.avatarUrl) {
22    return <MAvatar src={author.avatarUrl} {...props} />;
23  }
24
25  return <MAvatar {...props}>{author.displayName[0]}</MAvatar>;
26};
27
28export default Author;