From 4af343374af30d781dd6b7a5298928339f6a425d Mon Sep 17 00:00:00 2001 From: eugenijm Date: Tue, 7 May 2019 19:13:45 +0300 Subject: [PATCH] Move scope visibility notice to the status form, make it dismissible --- .../mobile_post_status_modal.vue | 2 +- .../post_status_form/post_status_form.js | 6 ++++++ .../post_status_form/post_status_form.vue | 20 ++++++++++++++++++- src/i18n/en.json | 6 ++++++ src/modules/config.js | 1 + 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/components/mobile_post_status_modal/mobile_post_status_modal.vue b/src/components/mobile_post_status_modal/mobile_post_status_modal.vue index ca431c5f..c3cc5155 100644 --- a/src/components/mobile_post_status_modal/mobile_post_status_modal.vue +++ b/src/components/mobile_post_status_modal/mobile_post_status_modal.vue @@ -6,7 +6,7 @@ @click="closePostForm" >
-
{{$t('post_status.new_status') + ' (' + $t('post_status.scope.' + visibility) + ')'}}
+
{{$t('post_status.new_status')}}
diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index d956ebe6..998794bf 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -182,6 +182,9 @@ const PostStatusForm = { }, safeDMEnabled () { return this.$store.state.instance.safeDM + }, + hideScopeNotice () { + return this.$store.state.config.hideScopeNotice } }, methods: { @@ -339,6 +342,9 @@ const PostStatusForm = { changeVis (visibility) { this.newStatus.visibility = visibility this.$emit('onScopeChange', visibility) + }, + dismissScopeNotice () { + this.$store.dispatch('setOption', { name: 'hideScopeNotice', value: true }) } } } diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 1ce2b647..15a466ec 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -9,7 +9,25 @@ class="visibility-notice"> {{ $t('post_status.account_not_locked_warning_link') }} -

+

+ {{ $t('post_status.scope_notice.public') }} + + + +

+

+ {{ $t('post_status.scope_notice.unlisted') }} + + + +

+

+ {{ $t('post_status.scope_notice.private') }} + + + +

+

{{ $t('post_status.direct_warning_to_first_only') }} {{ $t('post_status.direct_warning_to_all') }}

diff --git a/src/i18n/en.json b/src/i18n/en.json index 2f48c389..f98fa034 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -94,6 +94,12 @@ "direct_warning_to_all": "This post will be visible to all the mentioned users.", "direct_warning_to_first_only": "This post will only be visible to the mentioned users at the beginning of the message.", "posting": "Posting", + "scope_notice": { + "public": "Post to public timelines", + "private": "Post to followers only", + "unlisted": "Do not post to public timelines", + "direct": "Post to mentioned users only" + }, "scope": { "direct": "Direct - Post to mentioned users only", "private": "Followers-only - Post to followers only", diff --git a/src/modules/config.js b/src/modules/config.js index 1666a2c5..88969a97 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -30,6 +30,7 @@ const defaultState = { muteWords: [], highlight: {}, interfaceLanguage: browserLocale, + hideScopeNotice: false, scopeCopy: undefined, // instance default subjectLineBehavior: undefined, // instance default alwaysShowSubjectInput: undefined, // instance default