diff --git a/src/components/views/emojipicker/EmojiPicker.tsx b/src/components/views/emojipicker/EmojiPicker.tsx index e295618da6cc..ccc9e18f586f 100644 --- a/src/components/views/emojipicker/EmojiPicker.tsx +++ b/src/components/views/emojipicker/EmojiPicker.tsx @@ -196,7 +196,10 @@ class EmojiPicker extends React.Component { private emojiMatchesFilter = (emoji: IEmoji, filter: string): boolean => { return emoji.label.toLowerCase().includes(filter) || - emoji.emoticon?.toLowerCase().includes(filter) || + (Array.isArray(emoji.emoticon) + ? emoji.emoticon.some((x) => x.includes(filter)) + : emoji.emoticon.includes(filter) + ) || emoji.shortcodes.some(x => x.toLowerCase().includes(filter)) || emoji.unicode.split(ZERO_WIDTH_JOINER).includes(filter); }; diff --git a/src/emoji.ts b/src/emoji.ts index 2b6380740ee3..a8b5a228be95 100644 --- a/src/emoji.ts +++ b/src/emoji.ts @@ -26,7 +26,7 @@ export interface IEmoji { tags?: string[]; unicode: string; skins?: Omit[]; // Currently unused - emoticon?: string; + emoticon?: string | string[]; } // The unicode is stored without the variant selector @@ -102,7 +102,9 @@ export const EMOJI: IEmoji[] = EMOJIBASE.map((emojiData: Omit EMOTICON_TO_EMOJI.set(x, emoji)) + : EMOTICON_TO_EMOJI.set(emoji.emoticon, emoji); } return emoji;