diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2024-03-02 07:05:17 +0000 |
|---|---|---|
| committer | tamaina <tamaina@hotmail.co.jp> | 2024-03-02 07:05:17 +0000 |
| commit | 2744cbd310e7e1b7792fe455602f6e2cf376120d (patch) | |
| tree | e5feb8cd222bce3decc84db78b74a8720286e02e /packages/frontend/src/components/global | |
| parent | Update CHANGELOG.md (diff) | |
| download | misskey-2744cbd310e7e1b7792fe455602f6e2cf376120d.tar.gz misskey-2744cbd310e7e1b7792fe455602f6e2cf376120d.tar.bz2 misskey-2744cbd310e7e1b7792fe455602f6e2cf376120d.zip | |
fix(frontend): MkCustomEmojiでフォールバックをテキストか画像か選べるように
fix of #13487
Diffstat (limited to 'packages/frontend/src/components/global')
3 files changed, 13 insertions, 2 deletions
diff --git a/packages/frontend/src/components/global/MkCustomEmoji.stories.impl.ts b/packages/frontend/src/components/global/MkCustomEmoji.stories.impl.ts index 2e791e991e..9e6177045d 100644 --- a/packages/frontend/src/components/global/MkCustomEmoji.stories.impl.ts +++ b/packages/frontend/src/components/global/MkCustomEmoji.stories.impl.ts @@ -48,10 +48,18 @@ export const Missing = { name: Default.args.name, }, } satisfies StoryObj<typeof MkCustomEmoji>; -export const Error = { +export const ErrorToText = { ...Default, args: { url: 'https://example.com/404', name: Default.args.name, }, } satisfies StoryObj<typeof MkCustomEmoji>; +export const ErrorToImage = { + ...Default, + args: { + url: 'https://example.com/404', + name: Default.args.name, + fallbackToImage: true, + }, +} satisfies StoryObj<typeof MkCustomEmoji>; diff --git a/packages/frontend/src/components/global/MkCustomEmoji.vue b/packages/frontend/src/components/global/MkCustomEmoji.vue index 67927ddd22..6123835340 100644 --- a/packages/frontend/src/components/global/MkCustomEmoji.vue +++ b/packages/frontend/src/components/global/MkCustomEmoji.vue @@ -5,11 +5,12 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <img - v-if="errored" + v-if="errored && fallbackToImage" :class="[$style.root, { [$style.normal]: normal, [$style.noStyle]: noStyle }]" src="/client-assets/dummy.png" :title="alt" /> +<span v-else-if="errored">:{{ customEmojiName }}:</span> <img v-else :class="[$style.root, { [$style.normal]: normal, [$style.noStyle]: noStyle }]" @@ -44,6 +45,7 @@ const props = defineProps<{ useOriginalSize?: boolean; menu?: boolean; menuReaction?: boolean; + fallbackToImage?: boolean; }>(); const react = inject<((name: string) => void) | null>('react', null); diff --git a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts index 6ce3b6752f..4ed76f6bc4 100644 --- a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts +++ b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts @@ -407,6 +407,7 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven useOriginalSize: scale >= 2.5, menu: props.enableEmojiMenu, menuReaction: props.enableEmojiMenuReaction, + fallbackToImage: false, })]; } else { // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition |