import type { User } from 'firebase/auth';
import { twJoin } from 'tailwind-merge';
import { Md5 } from 'ts-md5';
const size = 120;
const GravatarIcon = () => (
);
export const Avatar = ({
user = { email: '', displayName: '' } as User,
}: {
anonymous: boolean;
user: User | undefined;
}) => {
if ((user?.email?.length ?? 0) < 2) {
return null;
}
return (
);
};
const Gravatar = ({
email,
name,
}: {
email: string | null;
name: string | null;
}) => {
email = email || '';
name = name || 'Anonymous Coward';
const gravatar = `https://www.gravatar.com/avatar/${Md5.hashAsciiStr(
email.toLowerCase(),
)}?size=${size}&default=blank`;
const initials = getInitials(name);
return (
<>
{initials}
>
);
};
const getInitials = (name: string) => {
name = name.trim();
if (name.length <= 3) {
return name;
}
return name
.split(/\s+/)
.map((w) => [...w][0])
.slice(0, 3)
.join('');
};