import React from 'react'; const EYES = ["Awe.svg", "Driven.svg", "FACE.svg", "Hectic.svg", "Monster.svg"]; const CLOTHES = ["BODY.svg", "Gaming.svg", "Macbook.svg", "Paper.svg", "Shirt and Coat.svg", "Striped Pocket Tee.svg", "Thunder T-Shirt.svg"]; const HEAD_WOMEN = ["Hijab.svg", "Long Bangs.svg", "Long Curly.svg"]; const HEAD_MEN = ["Bantu Knots.svg", "Flat Top Long.svg", "Mohawk 2.svg", "No Hair 1.svg", "Pomp.svg", "Short 5.svg", "Twists.svg"]; const ACCESSORIES = ["Sunglasses.svg", null, null, null]; // 25% chance for sunglasses function simpleHash(str: string): number { let hash = 0; for (let i = 0; i < str.length; i++) { hash = Math.imul(31, hash) + str.charCodeAt(i) | 0; } return Math.abs(hash); } export function Avatar({ seed, salt = "" }: { seed: string; salt?: string }) { const hash = simpleHash(seed + salt); const gender = hash % 2 === 0 ? "men" : "women"; const headArray = gender === "men" ? HEAD_MEN : HEAD_WOMEN; const head = headArray[hash % headArray.length]; const clothes = CLOTHES[(hash >> 1) % CLOTHES.length]; const eyes = EYES[(hash >> 2) % EYES.length]; const accessory = ACCESSORIES[(hash >> 3) % ACCESSORIES.length]; return (
{/* Clothes / Body */} clothes {/* Head */}
head {/* Eyes */} eyes {/* Accessory */} {accessory && ( accessory )}
); }