diff options
Diffstat (limited to 'webui/src/components/Author.tsx')
-rw-r--r-- | webui/src/components/Author.tsx | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/webui/src/components/Author.tsx b/webui/src/components/Author.tsx new file mode 100644 index 00000000..9ac1da52 --- /dev/null +++ b/webui/src/components/Author.tsx @@ -0,0 +1,33 @@ +import React from 'react'; + +import MAvatar from '@material-ui/core/Avatar'; +import Tooltip from '@material-ui/core/Tooltip/Tooltip'; + +import { AuthoredFragment } from './fragments.generated'; + +type Props = AuthoredFragment & { + className?: string; + bold?: boolean; +}; + +const Author = ({ author, ...props }: Props) => { + if (!author.email) { + return <span {...props}>{author.displayName}</span>; + } + + return ( + <Tooltip title={author.email}> + <span {...props}>{author.displayName}</span> + </Tooltip> + ); +}; + +export const Avatar = ({ author, ...props }: Props) => { + if (author.avatarUrl) { + return <MAvatar src={author.avatarUrl} {...props} />; + } + + return <MAvatar {...props}>{author.displayName[0]}</MAvatar>; +}; + +export default Author; |