From b2859bcd2a5145843b5ae2e024fa1b9e9549c0b0 Mon Sep 17 00:00:00 2001 From: tamaina Date: Sat, 8 Feb 2020 20:02:15 +0900 Subject: [PATCH] Fix defalut note visibility setting (#5881) * Fix default note visibility setting * refactor * missing translation * fix --- locales/ja-JP.yml | 2 ++ src/client/components/post-form.vue | 5 ++--- src/client/pages/settings/general.vue | 2 +- src/client/pages/settings/privacy.vue | 7 +++++++ src/client/store.ts | 1 + 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 3c3ebe6f3..53c7e0332 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -349,6 +349,7 @@ post: "投稿" posted: "投稿しました" autoReloadWhenDisconnected: "サーバー切断時に自動リロード" autoNoteWatch: "ノートの自動ウォッチ" +autoNoteWatchDescription: "あなたがリアクションしたり返信したりした他のユーザーのノートに関する通知を受け取るようにします。" reduceUiAnimation: "UIのアニメーションを減らす" share: "共有" notFound: "見つかりません" @@ -475,6 +476,7 @@ _visibility: followersDescription: "自分のフォロワーのみに公開" specified: "ダイレクト" specifiedDescription: "指定したユーザーのみに公開" + localOnly: "ローカルのみ" _postForm: replyPlaceholder: "このノートに返信..." diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue index 3586223f7..166b3c7c5 100644 --- a/src/client/components/post-form.vue +++ b/src/client/components/post-form.vue @@ -217,7 +217,7 @@ export default Vue.extend({ // デフォルト公開範囲 this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? this.$store.state.device.visibility : this.$store.state.settings.defaultNoteVisibility); - this.localOnly = this.$store.state.settings.rememberNoteVisibility ? this.$store.state.device.localOnly : false; + this.localOnly = this.$store.state.settings.rememberNoteVisibility ? this.$store.state.device.localOnly : this.$store.state.settings.defaultNoteLocalOnly; // 公開以外へのリプライ時は元の公開範囲を引き継ぐ if (this.reply && ['home', 'followers', 'specified'].includes(this.reply.visibility)) { @@ -398,8 +398,7 @@ export default Vue.extend({ }, applyVisibility(v: string) { - if (!['public', 'home', 'followers', 'specified'].includes(v)) v = 'public'; // v11互換性のため - this.visibility = v; + this.visibility = ['public', 'home', 'followers', 'specified'].includes(v) ? v : 'public'; // v11互換性のため }, addVisibleUser() { diff --git a/src/client/pages/settings/general.vue b/src/client/pages/settings/general.vue index 85a4ac2cf..061838b44 100644 --- a/src/client/pages/settings/general.vue +++ b/src/client/pages/settings/general.vue @@ -14,7 +14,7 @@ {{ $t('autoReloadWhenDisconnected') }} - {{ $t('autoNoteWatch') }} + {{ $t('autoNoteWatch') }}
diff --git a/src/client/pages/settings/privacy.vue b/src/client/pages/settings/privacy.vue index d9c4f6ad3..7ac9062d8 100644 --- a/src/client/pages/settings/privacy.vue +++ b/src/client/pages/settings/privacy.vue @@ -10,9 +10,11 @@ + + {{ $t('_visibility.localOnly') }}
@@ -46,6 +48,11 @@ export default Vue.extend({ set(value) { this.$store.dispatch('settings/set', { key: 'defaultNoteVisibility', value }); } }, + defaultNoteLocalOnly: { + get() { return this.$store.state.settings.defaultNoteLocalOnly; }, + set(value) { this.$store.dispatch('settings/set', { key: 'defaultNoteLocalOnly', value }); } + }, + rememberNoteVisibility: { get() { return this.$store.state.settings.rememberNoteVisibility; }, set(value) { this.$store.dispatch('settings/set', { key: 'rememberNoteVisibility', value }); } diff --git a/src/client/store.ts b/src/client/store.ts index 71e19f4da..04598525b 100644 --- a/src/client/store.ts +++ b/src/client/store.ts @@ -9,6 +9,7 @@ const defaultSettings = { showFullAcct: false, rememberNoteVisibility: false, defaultNoteVisibility: 'public', + defaultNoteLocalOnly: false, uploadFolder: null, pastedFileName: 'yyyy-MM-dd HH-mm-ss [{{number}}]', wallpaper: null,