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 ( <>
{`${name}'s
); }; 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(''); };