mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-29 05:17:39 -07:00
fix: 🐛 addSkinTone strip logic
This commit is contained in:
parent
d6697f6d23
commit
04cbb7c25c
1 changed files with 8 additions and 9 deletions
|
@ -1,5 +1,6 @@
|
||||||
import data from "unicode-emoji-json/data-by-group.json";
|
import data from "unicode-emoji-json/data-by-group.json";
|
||||||
import emojiComponents from "unicode-emoji-json/data-emoji-components.json";
|
import emojiComponents from "unicode-emoji-json/data-emoji-components.json";
|
||||||
|
import individualData from "unicode-emoji-json/data-by-emoji.json";
|
||||||
import keywordSet from "emojilib";
|
import keywordSet from "emojilib";
|
||||||
import { defaultStore } from "@/store";
|
import { defaultStore } from "@/store";
|
||||||
|
|
||||||
|
@ -36,8 +37,6 @@ export const categoryMapping = {
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export function addSkinTone(emoji: string, skinTone?: number) {
|
export function addSkinTone(emoji: string, skinTone?: number) {
|
||||||
const individualData = import("unicode-emoji-json/data-by-emoji.json");
|
|
||||||
|
|
||||||
const chosenSkinTone = skinTone || defaultStore.state.reactionPickerSkinTone;
|
const chosenSkinTone = skinTone || defaultStore.state.reactionPickerSkinTone;
|
||||||
const skinToneModifiers = [
|
const skinToneModifiers = [
|
||||||
"",
|
"",
|
||||||
|
@ -47,15 +46,15 @@ export function addSkinTone(emoji: string, skinTone?: number) {
|
||||||
emojiComponents.medium_dark_skin_tone,
|
emojiComponents.medium_dark_skin_tone,
|
||||||
emojiComponents.dark_skin_tone,
|
emojiComponents.dark_skin_tone,
|
||||||
];
|
];
|
||||||
if (individualData[emoji]?.skin_tone_support === false) {
|
const strippedEmoji = emoji.replace(
|
||||||
|
new RegExp(`(${skinToneModifiers.slice(1).join("|")})`, "gi"),
|
||||||
|
"",
|
||||||
|
);
|
||||||
|
if (individualData[strippedEmoji].skin_tone_support) {
|
||||||
|
return strippedEmoji + (skinToneModifiers[chosenSkinTone - 1] || "");
|
||||||
|
} else {
|
||||||
return emoji;
|
return emoji;
|
||||||
}
|
}
|
||||||
return (
|
|
||||||
emoji.replace(
|
|
||||||
new RegExp(`(${skinToneModifiers.slice(1).join("|")})`, "gi"),
|
|
||||||
"",
|
|
||||||
) + (skinToneModifiers[chosenSkinTone - 1] || "")
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const unicodeFifteenEmojis = [
|
const unicodeFifteenEmojis = [
|
||||||
|
|
Loading…
Reference in a new issue