From cd0bdefa25038a8698abd7759ec9d20f925b1e4c Mon Sep 17 00:00:00 2001 From: Etienne Lemay Date: Thu, 8 Sep 2022 20:43:01 -0400 Subject: [PATCH] =?UTF-8?q?Add=20`skin`=20to=20emoji=20data=20of=20clicked?= =?UTF-8?q?=20emojis=20No=20`skin`=20means=20the=20emoji=20doesn=E2=80=99t?= =?UTF-8?q?=20have=20multiple=20skin=20tones.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + packages/emoji-mart/README.md | 1 + packages/emoji-mart/src/utils.js | 12 +++++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 24b89f18c..54fa1ff56 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ getEmojiDataFromNative('🤞🏿').then(console.log) name: 'Crossed Fingers', native: '🤞🏿', shortcodes: ':crossed_fingers::skin-tone-6:', + skin: 6, unified: '1f91e-1f3ff', } */ ``` diff --git a/packages/emoji-mart/README.md b/packages/emoji-mart/README.md index 24b89f18c..54fa1ff56 100644 --- a/packages/emoji-mart/README.md +++ b/packages/emoji-mart/README.md @@ -252,6 +252,7 @@ getEmojiDataFromNative('🤞🏿').then(console.log) name: 'Crossed Fingers', native: '🤞🏿', shortcodes: ':crossed_fingers::skin-tone-6:', + skin: 6, unified: '1f91e-1f3ff', } */ ``` diff --git a/packages/emoji-mart/src/utils.js b/packages/emoji-mart/src/utils.js index 1cddc37dd..7c872ea93 100644 --- a/packages/emoji-mart/src/utils.js +++ b/packages/emoji-mart/src/utils.js @@ -16,7 +16,13 @@ export async function sleep(frames = 1) { } export function getEmojiData(emoji, { skinIndex } = {}) { - const skin = emoji.skins[skinIndex] || emoji.skins[0] + const skin = + emoji.skins[skinIndex] || + (() => { + skinIndex = 0 + return emoji.skins[skinIndex] + })() + const emojiData = { id: emoji.id, name: emoji.name, @@ -26,6 +32,10 @@ export function getEmojiData(emoji, { skinIndex } = {}) { shortcodes: skin.shortcodes || emoji.shortcodes, } + if (emoji.skins.length > 1) { + emojiData.skin = skinIndex + 1 + } + if (skin.src) { emojiData.src = skin.src }