// 1×1 transparent GIF — used as img fallback so the browser never enters
// broken-image state while waiting for the JXL polyfill to decode the source.
const TRANSPARENT =
"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
export function Avatar({
userId,
version,
size = 32,
}: {
userId: number | null;
version?: number | null;
size?: number;
}) {
const style = `width:${size}px;height:${size}px`;
if (!userId) {
return (
?
);
}
const src =
version != null
? `/avatars/${userId}.jxl?v=${version}`
: `/avatars/${userId}.jxl`;
return (
);
}