summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-17 15:58:12 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-17 15:58:12 +0900
commitfe4fbafcf0846f100a1614a47a20fb1bbbcf58da (patch)
treea7054d5ff440a251ce86f3d5c44a3a06e6fc98b4 /packages/frontend/src
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadsharkey-fe4fbafcf0846f100a1614a47a20fb1bbbcf58da.tar.gz
sharkey-fe4fbafcf0846f100a1614a47a20fb1bbbcf58da.tar.bz2
sharkey-fe4fbafcf0846f100a1614a47a20fb1bbbcf58da.zip
存在しないカスタム絵文字をテキストで表示するように
Resolve #9516
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/components/global/MkEmoji.vue4
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/frontend/src/components/global/MkEmoji.vue b/packages/frontend/src/components/global/MkEmoji.vue
index bc88cf3be4..b7dd0296cd 100644
--- a/packages/frontend/src/components/global/MkEmoji.vue
+++ b/packages/frontend/src/components/global/MkEmoji.vue
@@ -1,5 +1,6 @@
<template>
-<img v-if="isCustom" :class="[$style.root, $style.custom, { [$style.normal]: normal, [$style.noStyle]: noStyle }]" :src="url" :alt="alt" :title="alt" decoding="async"/>
+<span v-if="isCustom && errored">:{{ customEmojiName }}:</span>
+<img v-else-if="isCustom" :class="[$style.root, $style.custom, { [$style.normal]: normal, [$style.noStyle]: noStyle }]" :src="url" :alt="alt" :title="alt" decoding="async" @error="errored = true"/>
<img v-else-if="char && !useOsNativeEmojis" :class="$style.root" :src="url" :alt="alt" decoding="async" @pointerenter="computeTitle"/>
<span v-else-if="char && useOsNativeEmojis" :alt="alt" @pointerenter="computeTitle">{{ char }}</span>
<span v-else>{{ emoji }}</span>
@@ -37,6 +38,7 @@ const url = computed(() => {
}
});
const alt = computed(() => isCustom.value ? `:${customEmojiName}:` : char.value);
+let errored = $ref(false);
// Searching from an array with 2000 items for every emoji felt like too energy-consuming, so I decided to do it lazily on pointerenter
function computeTitle(event: PointerEvent): void {