diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-05 09:42:58 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-05 09:42:58 +0900 |
| commit | 55cbf2c66e9774205ad9295730b93a76a99ebdec (patch) | |
| tree | 2c12627733c85ffbc2e99c0ad41b99ad306363ca /src | |
| parent | Fix #5799 (diff) | |
| download | sharkey-55cbf2c66e9774205ad9295730b93a76a99ebdec.tar.gz sharkey-55cbf2c66e9774205ad9295730b93a76a99ebdec.tar.bz2 sharkey-55cbf2c66e9774205ad9295730b93a76a99ebdec.zip | |
localOnlyを記憶できるように
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/components/post-form.vue | 10 | ||||
| -rw-r--r-- | src/client/pages/settings/privacy.vue | 4 | ||||
| -rw-r--r-- | src/client/store.ts | 6 |
3 files changed, 17 insertions, 3 deletions
diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue index 9a13f523aa..b2c27ec5db 100644 --- a/src/client/components/post-form.vue +++ b/src/client/components/post-form.vue @@ -177,6 +177,12 @@ export default Vue.extend({ } }, + watch: { + localOnly() { + this.$store.commit('device/setLocalOnly', this.localOnly); + } + }, + mounted() { if (this.initialText) { this.text = this.initialText; @@ -209,7 +215,9 @@ export default Vue.extend({ } // デフォルト公開範囲 - this.applyVisibility(this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility); + 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; // 公開以外へのリプライ時は元の公開範囲を引き継ぐ if (this.reply && ['home', 'followers', 'specified'].includes(this.reply.visibility)) { diff --git a/src/client/pages/settings/privacy.vue b/src/client/pages/settings/privacy.vue index af2c3f501b..3019f6b101 100644 --- a/src/client/pages/settings/privacy.vue +++ b/src/client/pages/settings/privacy.vue @@ -6,13 +6,13 @@ <mk-switch v-model="autoAcceptFollowed" :disabled="!isLocked" @change="save()">{{ $t('autoAcceptFollowed') }}</mk-switch> </div> <div class="_content"> - <mk-select v-model="defaultNoteVisibility" style="margin-top: 8px;"> + <mk-switch v-model="rememberNoteVisibility" @change="save()">{{ $t('rememberNoteVisibility') }}</mk-switch> + <mk-select v-model="defaultNoteVisibility" style="margin-bottom: 8px;" v-if="!rememberNoteVisibility"> <template #label>{{ $t('defaultNoteVisibility') }}</template> <option value="public">{{ $t('_visibility.public') }}</option> <option value="followers">{{ $t('_visibility.followers') }}</option> <option value="specified">{{ $t('_visibility.specified') }}</option> </mk-select> - <mk-switch v-model="rememberNoteVisibility" @change="save()">{{ $t('rememberNoteVisibility') }}</mk-switch> </div> </section> </template> diff --git a/src/client/store.ts b/src/client/store.ts index c9f61b8112..73112829e1 100644 --- a/src/client/store.ts +++ b/src/client/store.ts @@ -24,6 +24,8 @@ const defaultDeviceSettings = { useOsDefaultEmojis: false, accounts: [], recentEmojis: [], + visibility: 'public', + localOnly: false, themes: [], theme: 'light', }; @@ -110,6 +112,10 @@ export default (os: MiOS) => new Vuex.Store({ setVisibility(state, visibility) { state.visibility = visibility; }, + + setLocalOnly(state, localOnly) { + state.localOnly = localOnly; + }, } }, |