
* Remove image from session, add /api/me, update Avatar component * Fixed Avatar on Desktop * Added emailMd5 to session + load md5 from props on /settings/profile * Explicitly select which fields to expose in /api/me * Abstracted Gravatar, defaults avatar for /api/me, removed session dep from UserDropdown * Delete md5.js :) Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
22 lines
746 B
TypeScript
22 lines
746 B
TypeScript
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
import { defaultAvatarSrc } from "@lib/profile";
|
|
|
|
export type AvatarProps = {
|
|
className?: string;
|
|
imageSrc?: string;
|
|
displayName: string;
|
|
gravatarFallbackMd5?: string;
|
|
};
|
|
|
|
export default function Avatar({ imageSrc, displayName, gravatarFallbackMd5, className = "" }: AvatarProps) {
|
|
return (
|
|
<AvatarPrimitive.Root>
|
|
<AvatarPrimitive.Image src={imageSrc} alt={displayName} className={className} />
|
|
<AvatarPrimitive.Fallback delayMs={600}>
|
|
{gravatarFallbackMd5 && (
|
|
<img src={defaultAvatarSrc({ md5: gravatarFallbackMd5 })} alt={displayName} className={className} />
|
|
)}
|
|
</AvatarPrimitive.Fallback>
|
|
</AvatarPrimitive.Root>
|
|
);
|
|
}
|