Merge pull request #177 from jfernandogt/add-gravatar-support

feat: Add support to use gravatar as a fallback avatar
This commit is contained in:
Bailey Pumfleet authored and GitHub committed 2021-05-11 14:26:43 +01:00
commit e845673662
6 files changed
+219 -12

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
import { useState } from "react";
import md5 from '../lib/md5';
export default function Avatar({ user, className = '', fallback }: {
user: any;
className?: string;
fallback?: JSX.Element;
}) {
const [gravatarAvailable, setGravatarAvailable] = useState(true);
if (user.avatar) {
return <img src={user.avatar} alt="Avatar" className={className} />;
}
if (gravatarAvailable) {
return (
<img
onError={() => setGravatarAvailable(false)}
src={`https://www.gravatar.com/avatar/${md5(user.email)}?d=404&s=160`}
alt="Avatar"
className={className}
/>
);
}
return fallback || null;
}