Author.tsx

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