@rainbow-me/rainbowkit
Version:
The best way to connect a wallet
87 lines (84 loc) • 2.47 kB
JavaScript
"use client";
// src/components/Avatar/emojiAvatarForAddress.ts
var colors = [
"#FC5C54",
"#FFD95A",
"#E95D72",
"#6A87C8",
"#5FD0F3",
"#75C06B",
"#FFDD86",
"#5FC6D4",
"#FF949A",
"#FF8024",
"#9BA1A4",
"#EC66FF",
"#FF8CBC",
"#FF9A23",
"#C5DADB",
"#A8CE63",
"#71ABFF",
"#FFE279",
"#B6B1B6",
"#FF6780",
"#A575FF",
"#4D82FF",
"#FFB35A"
];
var avatars = [
{ color: colors[0], emoji: "\u{1F336}" },
{ color: colors[1], emoji: "\u{1F911}" },
{ color: colors[2], emoji: "\u{1F419}" },
{ color: colors[3], emoji: "\u{1FAD0}" },
{ color: colors[4], emoji: "\u{1F433}" },
{ color: colors[0], emoji: "\u{1F936}" },
{ color: colors[5], emoji: "\u{1F332}" },
{ color: colors[6], emoji: "\u{1F31E}" },
{ color: colors[7], emoji: "\u{1F412}" },
{ color: colors[8], emoji: "\u{1F435}" },
{ color: colors[9], emoji: "\u{1F98A}" },
{ color: colors[10], emoji: "\u{1F43C}" },
{ color: colors[11], emoji: "\u{1F984}" },
{ color: colors[12], emoji: "\u{1F437}" },
{ color: colors[13], emoji: "\u{1F427}" },
{ color: colors[8], emoji: "\u{1F9A9}" },
{ color: colors[14], emoji: "\u{1F47D}" },
{ color: colors[0], emoji: "\u{1F388}" },
{ color: colors[8], emoji: "\u{1F349}" },
{ color: colors[1], emoji: "\u{1F389}" },
{ color: colors[15], emoji: "\u{1F432}" },
{ color: colors[16], emoji: "\u{1F30E}" },
{ color: colors[17], emoji: "\u{1F34A}" },
{ color: colors[18], emoji: "\u{1F42D}" },
{ color: colors[19], emoji: "\u{1F363}" },
{ color: colors[1], emoji: "\u{1F425}" },
{ color: colors[20], emoji: "\u{1F47E}" },
{ color: colors[15], emoji: "\u{1F966}" },
{ color: colors[0], emoji: "\u{1F479}" },
{ color: colors[17], emoji: "\u{1F640}" },
{ color: colors[4], emoji: "\u26F1" },
{ color: colors[21], emoji: "\u26F5\uFE0F" },
{ color: colors[17], emoji: "\u{1F973}" },
{ color: colors[8], emoji: "\u{1F92F}" },
{ color: colors[22], emoji: "\u{1F920}" }
];
function hashCode(text) {
let hash = 0;
if (text.length === 0) return hash;
for (let i = 0; i < text.length; i++) {
const chr = text.charCodeAt(i);
hash = (hash << 5) - hash + chr;
hash |= 0;
}
return hash;
}
function emojiAvatarForAddress(address) {
const resolvedAddress = typeof address === "string" ? address : "";
const avatarIndex = Math.abs(
hashCode(resolvedAddress.toLowerCase()) % avatars.length
);
return avatars[avatarIndex ?? 0];
}
export {
emojiAvatarForAddress
};