commit: 1d2616b79b6bc5b433092c302967c0ee33bd9845
parent: d4b097a88cb43105be86ea06fe4a4dd7830b8416
Author: Sorin Davidoi <sorin.davidoi@gmail.com>
Date: Mon, 17 Jul 2017 10:57:45 +0200
fix(emojis): Handle multipoint emojis (e.g. country flags) (#4221)
Diffstat:
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js
@@ -136,7 +136,7 @@ export default class ComposeForm extends ImmutablePureComponent {
handleEmojiPick = (data) => {
const position = this.autosuggestTextarea.textarea.selectionStart;
- const emojiChar = String.fromCodePoint(parseInt(data.unicode, 16));
+ const emojiChar = data.unicode.split('-').map(code => String.fromCodePoint(parseInt(code, 16))).join('');
this._restoreCaret = position + emojiChar.length + 1;
this.props.onPickEmoji(position, data);
}
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
@@ -118,7 +118,7 @@ const insertSuggestion = (state, position, token, completion) => {
};
const insertEmoji = (state, position, emojiData) => {
- const emoji = String.fromCodePoint(parseInt(emojiData.unicode, 16));
+ const emoji = emojiData.unicode.split('-').map(code => String.fromCodePoint(parseInt(code, 16))).join('');
return state.withMutations(map => {
map.update('text', oldText => `${oldText.slice(0, position)}${emoji} ${oldText.slice(position)}`);