From cc7fec4b9fa92afc8e9253d01c64107a114c3fa7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 4 Nov 2019 20:44:01 +0900 Subject: Improve reaction setting Fix #5577 --- .../common/views/components/settings/settings.vue | 25 ++++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'src/client/app/common/views/components/settings') diff --git a/src/client/app/common/views/components/settings/settings.vue b/src/client/app/common/views/components/settings/settings.vue index 49239a597b..3a0ba561af 100644 --- a/src/client/app/common/views/components/settings/settings.vue +++ b/src/client/app/common/views/components/settings/settings.vue @@ -113,6 +113,10 @@ {{ $t('@._settings.reactions') }} + + {{ $t('@._settings.save') }} + {{ $t('@._settings.preview') }} +
@@ -311,11 +315,12 @@ import XApi from './api.vue'; import XLanguage from './language.vue'; import XAppType from './app-type.vue'; import XNotification from './notification.vue'; +import MkReactionPicker from '../reaction-picker.vue'; import { url, version } from '../../../../config'; import checkForUpdate from '../../../scripts/check-for-update'; import { formatTimeString } from '../../../../../../misc/format-time-string'; -import { faSave } from '@fortawesome/free-regular-svg-icons'; +import { faSave, faEye } from '@fortawesome/free-regular-svg-icons'; export default Vue.extend({ i18n: i18n(), @@ -346,11 +351,12 @@ export default Vue.extend({ return { meta: null, version, + reactions: this.$store.state.settings.reactions.join('\n'), webSearchEngine: this.$store.state.settings.webSearchEngine, pastedFileName : this.$store.state.settings.pastedFileName, latestVersion: undefined, checkingForUpdate: false, - faSave + faSave, faEye }; }, computed: { @@ -414,11 +420,6 @@ export default Vue.extend({ set(value) { this.$store.dispatch('settings/set', { key: 'disableViaMobile', value }); } }, - reactions: { - get() { return this.$store.state.settings.reactions.join('\n'); }, - set(value: string) { this.$store.dispatch('settings/set', { key: 'reactions', value: value.trim().split('\n') }); } - }, - useShadow: { get() { return this.$store.state.device.useShadow; }, set(value) { this.$store.commit('device/set', { key: 'useShadow', value }); } @@ -655,6 +656,16 @@ export default Vue.extend({ pastedFileNamePreview() { return `${formatTimeString(new Date(), this.pastedFileName).replace(/{{number}}/g, `1`)}.png` }, + previewReaction() { + const picker = this.$root.new(MkReactionPicker, { + source: this.$refs.reactionsPreviewButton.$el, + reactions: this.reactions.trim().split('\n'), + showFocus: false, + }); + picker.$once('chosen', reaction => { + picker.close(); + }); + } } }); -- cgit v1.2.3-freya