2025-01-03 18:09:03 +01:00
|
|
|
import * as React from 'react';
|
|
|
|
|
import Gravatar from 'react-gravatar';
|
|
|
|
|
|
|
|
|
|
interface Props {
|
2025-01-09 10:55:44 +01:00
|
|
|
avatarUrl?: string;
|
2025-01-03 18:09:03 +01:00
|
|
|
email: string;
|
2025-01-09 10:55:44 +01:00
|
|
|
customClass?: string;
|
2025-01-03 18:09:03 +01:00
|
|
|
size?: number;
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-09 10:55:44 +01:00
|
|
|
const Avatar = ({avatarUrl, email, customClass, size = 28}: Props) => {
|
|
|
|
|
const customClassName = `avatar${customClass ? ' '+customClass : ''}`;
|
|
|
|
|
|
|
|
|
|
if (avatarUrl) {
|
|
|
|
|
return <img src={avatarUrl} alt={`${email} avatar`} width={size} height={size} className={customClassName} />;
|
2025-01-03 18:09:03 +01:00
|
|
|
} else {
|
2025-01-09 10:55:44 +01:00
|
|
|
return <Gravatar email={email} size={size} className={customClassName} />;
|
2025-01-03 18:09:03 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Avatar;
|