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 './fragments.generated';
 6
 7type Props = AuthoredFragment & {
 8  className?: string;
 9  bold?: boolean;
10};
11
12const Author = ({ author, ...props }: Props) => {
13  if (!author.email) {
14    return <span {...props}>{author.displayName}</span>;
15  }
16
17  return (
18    <Tooltip title={author.email}>
19      <span {...props}>{author.displayName}</span>
20    </Tooltip>
21  );
22};
23
24export const Avatar = ({ author, ...props }: Props) => {
25  if (author.avatarUrl) {
26    return <MAvatar src={author.avatarUrl} {...props} />;
27  }
28
29  return <MAvatar {...props}>{author.displayName[0]}</MAvatar>;
30};
31
32export default Author;