From 200ebefe92062966cf04cc2c5fe3480e5e55dabd Mon Sep 17 00:00:00 2001 From: "Acid Chicken (硫酸鶏)" Date: Mon, 5 Nov 2018 15:15:30 +0900 Subject: Add support for unicode emojis refs: https://github.com/syuilo/misskey/pull/3117#issuecomment-435745613 --- src/client/app/common/views/components/emoji.vue | 15 +++++++++------ .../common/views/components/misskey-flavored-markdown.ts | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'src/client') diff --git a/src/client/app/common/views/components/emoji.vue b/src/client/app/common/views/components/emoji.vue index 9c4d0c879d..2dca8fdcb5 100644 --- a/src/client/app/common/views/components/emoji.vue +++ b/src/client/app/common/views/components/emoji.vue @@ -9,7 +9,11 @@ export default Vue.extend({ props: { emoji: { type: String, - required: true + required: false + }, + raw: { + type: String, + required: false }, customEmojis: { required: false @@ -27,12 +31,11 @@ export default Vue.extend({ }, methods: { exec() { - const { emoji, customEmojis } = this; - this.name = emoji; - console.log(emoji, customEmojis) - this.url = customEmojis && customEmojis.length ? customEmojis.find(e => e.name === emoji || e.aliases && e.aliases.includes(emoji)).url : null; + const { emoji, raw, customEmojis } = this; + this.name = emoji || raw; + this.url = !raw && customEmojis && customEmojis.length ? customEmojis.find(e => e.name === emoji || e.aliases && e.aliases.includes(emoji)).url : null; if (!this.url) { - const { char } = lib[emoji] || { char: null }; + const char = raw || lib[emoji] && lib[emoji].char; if (char) { this.url = `https://twemoji.maxcdn.com/2/svg/${char.codePointAt(0).toString(16)}.svg`; this.alt = char; diff --git a/src/client/app/common/views/components/misskey-flavored-markdown.ts b/src/client/app/common/views/components/misskey-flavored-markdown.ts index 1948647e9a..b4b141ea2b 100644 --- a/src/client/app/common/views/components/misskey-flavored-markdown.ts +++ b/src/client/app/common/views/components/misskey-flavored-markdown.ts @@ -187,10 +187,10 @@ export default Vue.component('misskey-flavored-markdown', { } case 'emoji': { - const { emoji } = token; + const { emoji, raw } = token; const { customEmojis } = this; return [createElement('mk-emoji', { - attrs: { emoji }, + attrs: { emoji, raw }, props: { customEmojis } })]; } -- cgit v1.2.3-freya