Fix flag emoji 'profile picture' rendering

This commit is contained in:
Jack Kingsman
2026-01-22 20:13:27 -08:00
parent 8259202f96
commit 2f509e7dd5
5 changed files with 12 additions and 5 deletions
+6
View File
@@ -13,6 +13,12 @@ describe('getAvatarText', () => {
expect(getAvatarText('Test 😀 More 🎯', 'abc123')).toBe('😀');
});
it('returns full flag emoji (not just first regional indicator)', () => {
expect(getAvatarText('Jason 🇺🇸', 'abc123')).toBe('🇺🇸');
expect(getAvatarText('🇬🇧 London', 'abc123')).toBe('🇬🇧');
expect(getAvatarText('Test 🇯🇵 Japan', 'abc123')).toBe('🇯🇵');
});
it('returns initials when name has space', () => {
expect(getAvatarText('John Doe', 'abc123')).toBe('JD');
expect(getAvatarText('Alice Bob Charlie', 'abc123')).toBe('AB');
+2 -1
View File
@@ -28,8 +28,9 @@ function hashString(str: string): number {
}
// Regex to match emoji (covers most common emoji ranges)
// Flag emojis (e.g., 🇺🇸) are TWO consecutive regional indicator symbols, so we match those first
const emojiRegex =
/[\u{1F300}-\u{1F9FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]|[\u{1F600}-\u{1F64F}]|[\u{1F680}-\u{1F6FF}]|[\u{1F1E0}-\u{1F1FF}]/u;
/[\u{1F1E0}-\u{1F1FF}]{2}|[\u{1F300}-\u{1F9FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]|[\u{1F600}-\u{1F64F}]|[\u{1F680}-\u{1F6FF}]/u;
/**
* Extract display characters from a contact name.