diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2018-11-02 08:59:40 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2018-11-02 08:59:40 +0900 |
| commit | 80b5fda292efd70cc749910e3672d50c9a70a72e (patch) | |
| tree | a8f287c9c60a532112801d084fcb7d5b8c4e3650 /src/client | |
| parent | Fix bug (diff) | |
| download | misskey-80b5fda292efd70cc749910e3672d50c9a70a72e.tar.gz misskey-80b5fda292efd70cc749910e3672d50c9a70a72e.tar.bz2 misskey-80b5fda292efd70cc749910e3672d50c9a70a72e.zip | |
Remote custom emojis (#3074)
* Remote custom emojis
* んほおおおおお
Diffstat (limited to 'src/client')
8 files changed, 22 insertions, 18 deletions
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 6397767cec..68f3aeed1f 100644 --- a/src/client/app/common/views/components/misskey-flavored-markdown.ts +++ b/src/client/app/common/views/components/misskey-flavored-markdown.ts @@ -24,6 +24,9 @@ export default Vue.component('misskey-flavored-markdown', { i: { type: Object, default: null + }, + customEmojis: { + required: false, } }, @@ -186,17 +189,18 @@ export default Vue.component('misskey-flavored-markdown', { case 'emoji': { //#region カスタム絵文字 - const customEmojis = (this.os.getMetaSync() || { emojis: [] }).emojis || []; - const customEmoji = customEmojis.find(e => e.name == token.emoji || (e.aliases || []).includes(token.emoji)); - if (customEmoji) { - return [createElement('img', { - attrs: { - src: customEmoji.url, - alt: token.emoji, - title: token.emoji, - style: 'height: 2.5em; vertical-align: middle;' - } - })]; + if (this.customEmojis != null) { + const customEmoji = this.customEmojis.find(e => e.name == token.emoji || (e.aliases || []).includes(token.emoji)); + if (customEmoji) { + return [createElement('img', { + attrs: { + src: customEmoji.url, + alt: token.emoji, + title: token.emoji, + style: 'height: 2.5em; vertical-align: middle;' + } + })]; + } } //#endregion diff --git a/src/client/app/common/views/components/welcome-timeline.vue b/src/client/app/common/views/components/welcome-timeline.vue index 4a66db57b8..669f67288b 100644 --- a/src/client/app/common/views/components/welcome-timeline.vue +++ b/src/client/app/common/views/components/welcome-timeline.vue @@ -14,7 +14,7 @@ </div> </header> <div class="text"> - <misskey-flavored-markdown v-if="note.text" :text="note.text"/> + <misskey-flavored-markdown v-if="note.text" :text="note.text" :customEmojis="p.emojis"/> </div> </div> </div> diff --git a/src/client/app/desktop/views/components/note-detail.vue b/src/client/app/desktop/views/components/note-detail.vue index dce5b12615..1c802d790c 100644 --- a/src/client/app/desktop/views/components/note-detail.vue +++ b/src/client/app/desktop/views/components/note-detail.vue @@ -45,7 +45,7 @@ <div class="text"> <span v-if="p.isHidden" style="opacity: 0.5">%i18n:@private%</span> <span v-if="p.deletedAt" style="opacity: 0.5">%i18n:@deleted%</span> - <misskey-flavored-markdown v-if="p.text" :text="p.text" :i="$store.state.i"/> + <misskey-flavored-markdown v-if="p.text" :text="p.text" :i="$store.state.i" :customEmojis="p.emojis" /> </div> <div class="files" v-if="p.files.length > 0"> <mk-media-list :media-list="p.files" :raw="true"/> diff --git a/src/client/app/desktop/views/components/note.vue b/src/client/app/desktop/views/components/note.vue index c42b863b2a..dd6cba9ce2 100644 --- a/src/client/app/desktop/views/components/note.vue +++ b/src/client/app/desktop/views/components/note.vue @@ -34,7 +34,7 @@ <div class="text"> <span v-if="appearNote.isHidden" style="opacity: 0.5">%i18n:@private%</span> <a class="reply" v-if="appearNote.reply">%fa:reply%</a> - <misskey-flavored-markdown v-if="appearNote.text" :text="appearNote.text" :i="$store.state.i" :class="$style.text"/> + <misskey-flavored-markdown v-if="appearNote.text" :text="appearNote.text" :i="$store.state.i" :class="$style.text" :customEmojis="appearNote.emojis"/> <a class="rp" v-if="appearNote.renote">RN:</a> </div> <div class="files" v-if="appearNote.files.length > 0"> diff --git a/src/client/app/desktop/views/components/sub-note-content.vue b/src/client/app/desktop/views/components/sub-note-content.vue index d36d1c6745..b5e4e008dc 100644 --- a/src/client/app/desktop/views/components/sub-note-content.vue +++ b/src/client/app/desktop/views/components/sub-note-content.vue @@ -4,7 +4,7 @@ <span v-if="note.isHidden" style="opacity: 0.5">%i18n:@private%</span> <span v-if="note.deletedAt" style="opacity: 0.5">%i18n:@deleted%</span> <a class="reply" v-if="note.replyId">%fa:reply%</a> - <misskey-flavored-markdown v-if="note.text" :text="note.text" :i="$store.state.i"/> + <misskey-flavored-markdown v-if="note.text" :text="note.text" :i="$store.state.i" :customEmojis="note.emojis"/> <a class="rp" v-if="note.renoteId" :href="`/notes/${note.renoteId}`">RN: ...</a> </div> <details v-if="note.files.length > 0"> diff --git a/src/client/app/mobile/views/components/note-detail.vue b/src/client/app/mobile/views/components/note-detail.vue index 082f72f1a9..3125255c9e 100644 --- a/src/client/app/mobile/views/components/note-detail.vue +++ b/src/client/app/mobile/views/components/note-detail.vue @@ -43,7 +43,7 @@ <div class="text"> <span v-if="p.isHidden" style="opacity: 0.5">(%i18n:@private%)</span> <span v-if="p.deletedAt" style="opacity: 0.5">(%i18n:@deleted%)</span> - <misskey-flavored-markdown v-if="p.text" :text="p.text" :i="$store.state.i"/> + <misskey-flavored-markdown v-if="p.text" :text="p.text" :i="$store.state.i" :customEmojis="p.emojis"/> </div> <div class="files" v-if="p.files.length > 0"> <mk-media-list :media-list="p.files" :raw="true"/> diff --git a/src/client/app/mobile/views/components/note.vue b/src/client/app/mobile/views/components/note.vue index cbac5b6450..e1b8e05c81 100644 --- a/src/client/app/mobile/views/components/note.vue +++ b/src/client/app/mobile/views/components/note.vue @@ -30,7 +30,7 @@ <div class="text"> <span v-if="appearNote.isHidden" style="opacity: 0.5">(%i18n:@private%)</span> <a class="reply" v-if="appearNote.reply">%fa:reply%</a> - <misskey-flavored-markdown v-if="appearNote.text" :text="appearNote.text" :i="$store.state.i" :class="$style.text"/> + <misskey-flavored-markdown v-if="appearNote.text" :text="appearNote.text" :i="$store.state.i" :class="$style.text" :customEmojis="appearNote.emojis"/> <a class="rp" v-if="appearNote.renote != null">RN:</a> </div> <div class="files" v-if="appearNote.files.length > 0"> diff --git a/src/client/app/mobile/views/components/sub-note-content.vue b/src/client/app/mobile/views/components/sub-note-content.vue index 6a90d5bc1a..05d6d1d571 100644 --- a/src/client/app/mobile/views/components/sub-note-content.vue +++ b/src/client/app/mobile/views/components/sub-note-content.vue @@ -4,7 +4,7 @@ <span v-if="note.isHidden" style="opacity: 0.5">(%i18n:@private%)</span> <span v-if="note.deletedAt" style="opacity: 0.5">(%i18n:@deleted%)</span> <a class="reply" v-if="note.replyId">%fa:reply%</a> - <misskey-flavored-markdown v-if="note.text" :text="note.text" :i="$store.state.i"/> + <misskey-flavored-markdown v-if="note.text" :text="note.text" :i="$store.state.i" :customEmojis="note.emojis"/> <a class="rp" v-if="note.renoteId">RN: ...</a> </div> <details v-if="note.files.length > 0"> |