grain.social is a photo sharing platform built on atproto.
1type DefaultLabelerAvatarProps = Readonly<{
2 size?: number;
3 backgroundColor?: string;
4 foregroundColor?: string;
5 class?: string;
6}>;
7
8export function DefaultLabelerAvatar({
9 size = 28,
10 backgroundColor = "rgb(139 92 246)", // Tailwind purple-500
11 foregroundColor = "#fff",
12 class: classProp,
13}: DefaultLabelerAvatarProps) {
14 return (
15 <svg
16 width={size}
17 height={size}
18 viewBox="0 0 512 512"
19 class={classProp}
20 aria-hidden="true"
21 >
22 {/* Square background */}
23 <rect
24 x="0"
25 y="0"
26 width="512"
27 height="512"
28 rx="64"
29 fill={backgroundColor}
30 />
31
32 {/* Shield icon (perfectly centered) */}
33 <g transform="translate(256, 280) scale(0.7) translate(-256, -256)">
34 <path
35 fill={foregroundColor}
36 d="M466.5 83.7 263.1 5.1c-5.9-2.2-12.3-2.2-18.2 0L45.5 83.7C36.6 87 30 95.7 30 105.3c0 198.6 114.6 289.7 221.2 325.7 4.5 1.5 9.3 1.5 13.8 0C367.4 395 482 303.9 482 105.3c0-9.6-6.6-18.3-15.5-21.6z"
37 />
38 </g>
39 </svg>
40 );
41}