動きのあるMFMを無効にするオプション

This commit is contained in:
syuilo 2020-02-13 23:20:12 +09:00
parent 7e18fd18b0
commit 5ac4c48ad1
5 changed files with 18 additions and 8 deletions

View file

@ -3,6 +3,9 @@ ChangeLog
unreleased unreleased
------------------- -------------------
### ✨Improvements
* 動きのあるMFMを無効にするオプションを追加
### 🐛Fixes ### 🐛Fixes
* タイムラインに自分の返信と自分への返信と投稿者自身への返信以外の返信が含まれている問題を修正 * タイムラインに自分の返信と自分への返信と投稿者自身への返信以外の返信が含まれている問題を修正
* グループがない状態でグループチャットを開始しようとするとフリーズする問題を修正 * グループがない状態でグループチャットを開始しようとするとフリーズする問題を修正

View file

@ -392,6 +392,7 @@ useOsNativeEmojis: "OSネイティブの絵文字を使用"
noGroups: "グループがありません" noGroups: "グループがありません"
joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。" joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。"
noHistory: "履歴はありません" noHistory: "履歴はありません"
disableAnimatedMfm: "動きのあるMFMを無効にする"
_ago: _ago:
unknown: "謎" unknown: "謎"

View file

@ -82,10 +82,10 @@ export default Vue.component('misskey-flavored-markdown', {
attrs: { attrs: {
style: `display: inline-block; font-size: 150%;` style: `display: inline-block; font-size: 150%;`
}, },
directives: [this.$store.state.settings.disableAnimatedMfm ? {} : { directives: [this.$store.state.device.animatedMfm ? {
name: 'animate-css', name: 'animate-css',
value: { classes: 'tada', iteration: 'infinite' } value: { classes: 'tada', iteration: 'infinite' }
}] }: {}]
}, genEl(token.children)); }, genEl(token.children));
} }
@ -110,10 +110,10 @@ export default Vue.component('misskey-flavored-markdown', {
attrs: { attrs: {
style: 'display: inline-block;' style: 'display: inline-block;'
}, },
directives: [this.$store.state.settings.disableAnimatedMfm ? {} : { directives: [this.$store.state.device.animatedMfm ? {
name: 'animate-css', name: 'animate-css',
value: { classes: 'rubberBand', iteration: 'infinite' } value: { classes: 'rubberBand', iteration: 'infinite' }
}] } : {}]
}, genEl(token.children)); }, genEl(token.children));
} }
@ -122,9 +122,8 @@ export default Vue.component('misskey-flavored-markdown', {
token.node.props.attr == 'left' ? 'reverse' : token.node.props.attr == 'left' ? 'reverse' :
token.node.props.attr == 'alternate' ? 'alternate' : token.node.props.attr == 'alternate' ? 'alternate' :
'normal'; 'normal';
const style = (this.$store.state.settings.disableAnimatedMfm) const style = this.$store.state.device.animatedMfm
? '' ? `animation: spin 1.5s linear infinite; animation-direction: ${direction};` : '';
: `animation: spin 1.5s linear infinite; animation-direction: ${direction};`;
return (createElement as any)('span', { return (createElement as any)('span', {
attrs: { attrs: {
style: 'display: inline-block;' + style style: 'display: inline-block;' + style
@ -135,7 +134,7 @@ export default Vue.component('misskey-flavored-markdown', {
case 'jump': { case 'jump': {
return (createElement as any)('span', { return (createElement as any)('span', {
attrs: { attrs: {
style: (this.$store.state.settings.disableAnimatedMfm) ? 'display: inline-block;' : 'display: inline-block; animation: jump 0.75s linear infinite;' style: this.$store.state.device.animatedMfm ? 'display: inline-block; animation: jump 0.75s linear infinite;' : 'display: inline-block;'
}, },
}, genEl(token.children)); }, genEl(token.children));
} }

View file

@ -23,6 +23,7 @@
<mk-button @click="readAllMessagingMessages">{{ $t('markAsReadAllTalkMessages') }}</mk-button> <mk-button @click="readAllMessagingMessages">{{ $t('markAsReadAllTalkMessages') }}</mk-button>
</div> </div>
<div class="_content"> <div class="_content">
<mk-switch v-model="disableAnimatedMfm">{{ $t('disableAnimatedMfm') }}</mk-switch>
<mk-switch v-model="reduceAnimation">{{ $t('reduceUiAnimation') }}</mk-switch> <mk-switch v-model="reduceAnimation">{{ $t('reduceUiAnimation') }}</mk-switch>
<mk-switch v-model="useOsNativeEmojis"> <mk-switch v-model="useOsNativeEmojis">
{{ $t('useOsNativeEmojis') }} {{ $t('useOsNativeEmojis') }}
@ -84,6 +85,11 @@ export default Vue.extend({
set(value) { this.$store.commit('device/set', { key: 'animation', value: !value }); } set(value) { this.$store.commit('device/set', { key: 'animation', value: !value }); }
}, },
disableAnimatedMfm: {
get() { return !this.$store.state.device.animatedMfm; },
set(value) { this.$store.commit('device/set', { key: 'animatedMfm', value: !value }); }
},
useOsNativeEmojis: { useOsNativeEmojis: {
get() { return this.$store.state.device.useOsNativeEmojis; }, get() { return this.$store.state.device.useOsNativeEmojis; },
set(value) { this.$store.commit('device/set', { key: 'useOsNativeEmojis', value }); } set(value) { this.$store.commit('device/set', { key: 'useOsNativeEmojis', value }); }

View file

@ -38,6 +38,7 @@ const defaultDeviceSettings = {
themes: [], themes: [],
theme: 'light', theme: 'light',
animation: true, animation: true,
animatedMfm: true,
userData: {}, userData: {},
}; };