Author.js

 1import gql from 'graphql-tag';
 2import Tooltip from '@material-ui/core/Tooltip/Tooltip';
 3import MAvatar from '@material-ui/core/Avatar';
 4import React from 'react';
 5
 6const Author = ({ author, ...props }) => {
 7  if (!author.email) {
 8    return <span {...props}>{author.displayName}</span>;
 9  }
10
11  return (
12    <Tooltip title={author.email}>
13      <span {...props}>{author.displayName}</span>
14    </Tooltip>
15  );
16};
17
18Author.fragment = gql`
19  fragment authored on Authored {
20    author {
21      name
22      email
23      displayName
24      avatarUrl
25    }
26  }
27`;
28
29export const Avatar = ({ author, ...props }) => {
30  if (author.avatarUrl) {
31    return <MAvatar src={author.avatarUrl} {...props} />;
32  }
33
34  return <MAvatar {...props}>{author.displayName[0]}</MAvatar>;
35};
36
37export default Author;