From d780e5b251c8f4f593f7bece72439e411a3c0b66 Mon Sep 17 00:00:00 2001 From: syuilo <syuilotan@yahoo.co.jp> Date: Sun, 9 Aug 2020 13:46:19 +0900 Subject: [PATCH] =?UTF-8?q?enhance(client):=20=E3=83=9F=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=83=88=E3=81=95=E3=82=8C=E3=81=9F=E3=83=8E=E3=83=BC=E3=83=88?= =?UTF-8?q?=E6=95=B0=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F=E3=82=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/ja-JP.yml | 1 + src/client/components/ui/input.vue | 6 ++--- src/client/components/ui/select.vue | 2 +- src/client/components/ui/textarea.vue | 6 ++--- src/client/pages/my-settings/word-mute.vue | 8 +++++-- src/client/style.scss | 5 +++++ .../endpoints/i/get-word-muted-notes-count.ts | 22 +++++++++++++++++++ 7 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 src/server/api/endpoints/i/get-word-muted-notes-count.ts diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index d3891a41a6..c8b34608b5 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -572,6 +572,7 @@ _wordMute: hardDescription: "指定ã—ãŸæ¡ä»¶ã®ãƒŽãƒ¼ãƒˆã‚’タイムラインã«è¿½åŠ ã—ãªã„よã†ã«ã—ã¾ã™ã€‚è¿½åŠ ã•ã‚Œãªã‹ã£ãŸãƒŽãƒ¼ãƒˆã¯ã€æ¡ä»¶ã‚’変更ã—ã¦ã‚‚除外ã•ã‚ŒãŸã¾ã¾ã«ãªã‚Šã¾ã™ã€‚" soft: "ソフト" hard: "ãƒãƒ¼ãƒ‰" + mutedNotesCount: "{count}ノートãŒãƒŸãƒ¥ãƒ¼ãƒˆã•ã‚Œã¾ã—ãŸ" _theme: explore: "テーマを探ã™" diff --git a/src/client/components/ui/input.vue b/src/client/components/ui/input.vue index d5317db7f9..f9c2d9a43a 100644 --- a/src/client/components/ui/input.vue +++ b/src/client/components/ui/input.vue @@ -64,7 +64,7 @@ <div class="suffix" ref="suffix"><slot name="suffix"></slot></div> </div> <button class="save _textButton" v-if="save && changed" @click="() => { changed = false; save(); }">{{ $t('save') }}</button> - <div class="desc"><slot name="desc"></slot></div> + <div class="desc _caption"><slot name="desc"></slot></div> </div> </template> @@ -401,13 +401,11 @@ export default Vue.extend({ > .save { margin: 6px 0 0 0; - font-size: 13px; + font-size: 0.8em; } > .desc { margin: 6px 0 0 0; - font-size: 13px; - opacity: 0.7; &:empty { display: none; diff --git a/src/client/components/ui/select.vue b/src/client/components/ui/select.vue index 55f76553a7..d42560e13a 100644 --- a/src/client/components/ui/select.vue +++ b/src/client/components/ui/select.vue @@ -196,7 +196,7 @@ export default Vue.extend({ > .text { margin: 6px 0; - font-size: 13px; + font-size: 0.8em; &:empty { display: none; diff --git a/src/client/components/ui/textarea.vue b/src/client/components/ui/textarea.vue index a42813ee64..fba9fc9d78 100644 --- a/src/client/components/ui/textarea.vue +++ b/src/client/components/ui/textarea.vue @@ -14,7 +14,7 @@ ></textarea> </div> <button class="save _textButton" v-if="save && changed" @click="() => { changed = false; save(); }">{{ $t('save') }}</button> - <div class="desc"><slot name="desc"></slot></div> + <div class="desc _caption"><slot name="desc"></slot></div> </div> </template> @@ -163,13 +163,11 @@ export default Vue.extend({ > .save { margin: 6px 0 0 0; - font-size: 13px; + font-size: 0.8em; } > .desc { margin: 6px 0 0 0; - font-size: 13px; - opacity: 0.7; &:empty { display: none; diff --git a/src/client/pages/my-settings/word-mute.vue b/src/client/pages/my-settings/word-mute.vue index 6b2a372f0b..540a819bc0 100644 --- a/src/client/pages/my-settings/word-mute.vue +++ b/src/client/pages/my-settings/word-mute.vue @@ -13,10 +13,11 @@ </div> <div class="_content" v-show="tab === 'hard'"> <mk-info>{{ $t('_wordMute.hardDescription') }}</mk-info> - <mk-textarea v-model="hardMutedWords"> + <mk-textarea v-model="hardMutedWords" style="margin-bottom: 16px;"> <span>{{ $t('_wordMute.muteWords') }}</span> <template #desc>{{ $t('_wordMute.muteWordsDescription') }}<br>{{ $t('_wordMute.muteWordsDescription2') }}</template> </mk-textarea> + <div v-if="hardWordMutedNotesCount != null" class="_caption">{{ $t('_wordMute.mutedNotesCount', { count: hardWordMutedNotesCount }) }}</div> </div> <div class="_footer"> <mk-button @click="save()" primary inline :disabled="!changed"><fa :icon="faSave"/> {{ $t('save') }}</mk-button> @@ -45,6 +46,7 @@ export default Vue.extend({ tab: 'soft', softMutedWords: '', hardMutedWords: '', + hardWordMutedNotesCount: null, changed: false, faCommentSlash, faSave, } @@ -59,9 +61,11 @@ export default Vue.extend({ }, }, - created() { + async created() { this.softMutedWords = this.$store.state.settings.mutedWords.map(x => x.join(' ')).join('\n'); this.hardMutedWords = this.$store.state.i.mutedWords.map(x => x.join(' ')).join('\n'); + + this.hardWordMutedNotesCount = (await this.$root.api('i/get-word-muted-notes-count', {})).count; }, methods: { diff --git a/src/client/style.scss b/src/client/style.scss index ab0dcf6220..430e056516 100644 --- a/src/client/style.scss +++ b/src/client/style.scss @@ -413,6 +413,11 @@ hr { color: var(--link); } +._caption { + font-size: 0.8em; + opacity: 0.7; +} + .zoom-enter-active, .zoom-leave-active { transition: opacity 0.5s, transform 0.5s !important; } diff --git a/src/server/api/endpoints/i/get-word-muted-notes-count.ts b/src/server/api/endpoints/i/get-word-muted-notes-count.ts new file mode 100644 index 0000000000..e88d697bfd --- /dev/null +++ b/src/server/api/endpoints/i/get-word-muted-notes-count.ts @@ -0,0 +1,22 @@ +import define from '../../define'; +import { MutedNotes } from '../../../../models'; + +export const meta = { + tags: ['account'], + + requireCredential: true as const, + + kind: 'read:account', + + params: { + } +}; + +export default define(meta, async (ps, user) => { + return { + count: await MutedNotes.count({ + userId: user.id, + reason: 'word' + }) + }; +}); -- GitLab