diff --git a/locales/ja.yml b/locales/ja.yml index 936bdea21..1e0359254 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -95,6 +95,7 @@ common: i-like-sushi: "私は(プリンよりむしろ)寿司が好き" show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示" verified-user: "認証済みのユーザー" + disable-animated-mfm: "投稿内の動きのあるテキストを無効にする" reversi: drawn: "引き分け" 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 096ffcbf8..f9c97bd35 100644 --- a/src/client/app/common/views/components/misskey-flavored-markdown.ts +++ b/src/client/app/common/views/components/misskey-flavored-markdown.ts @@ -63,7 +63,7 @@ export default Vue.component('misskey-flavored-markdown', { attrs: { style: 'display: inline-block; font-size: 200%;' }, - directives: [{ + directives: [this.$store.state.settings.disableAnimatedMfm ? {} : { name: 'animate-css', value: { classes: 'tada', iteration: 'infinite' } }] diff --git a/src/client/app/desktop/views/components/settings.vue b/src/client/app/desktop/views/components/settings.vue index 00bd7a878..84ea768a5 100644 --- a/src/client/app/desktop/views/components/settings.vue +++ b/src/client/app/desktop/views/components/settings.vue @@ -55,6 +55,7 @@ %i18n:@show-maps-desc% +
@@ -376,6 +377,12 @@ export default Vue.extend({ value: v }); }, + onChangeDisableAnimatedMfm(v) { + this.$store.dispatch('settings/set', { + key: 'disableAnimatedMfm', + value: v + }); + }, onChangeGradientWindowHeader(v) { this.$store.dispatch('settings/set', { key: 'gradientWindowHeader', diff --git a/src/client/app/mobile/views/pages/settings.vue b/src/client/app/mobile/views/pages/settings.vue index 73bff55e4..63fca64ab 100644 --- a/src/client/app/mobile/views/pages/settings.vue +++ b/src/client/app/mobile/views/pages/settings.vue @@ -14,6 +14,7 @@ %i18n:@circle-icons% %i18n:common.i-like-sushi% %i18n:common.show-reversi-board-labels% + %i18n:common.disable-animated-mfm%
%i18n:@timeline%
@@ -192,6 +193,13 @@ export default Vue.extend({ }); }, + onChangeDisableAnimatedMfm(v) { + this.$store.dispatch('settings/set', { + key: 'disableAnimatedMfm', + value: v + }); + }, + onChangeShowReplyTarget(v) { this.$store.dispatch('settings/set', { key: 'showReplyTarget',