aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-12-03 14:55:43 +0000
committerlambda <pleromagit@rogerbraun.net>2018-12-03 14:55:43 +0000
commit9e78eddf2ad846ee69bfef690cfe3765d1b55dcb (patch)
treef5e674945a381ace77313557d1c2789ea1af5ce4 /src
parentea28aa62f00663ab8a0e0bf64551ac15256a3242 (diff)
parentb34097a5c154cb913048a16848d0ab0d48dfe626 (diff)
Merge branch 'subject-line-entry-auto' into 'develop'
Added option to auto-hide subject field when it's empty. Closes #174 See merge request pleroma/pleroma-fe!388
Diffstat (limited to 'src')
-rw-r--r--src/components/post_status_form/post_status_form.js9
-rw-r--r--src/components/post_status_form/post_status_form.vue2
-rw-r--r--src/components/settings/settings.js7
-rw-r--r--src/components/settings/settings.vue6
-rw-r--r--src/i18n/en.json1
-rw-r--r--src/i18n/ru.json1
-rw-r--r--src/modules/config.js3
-rw-r--r--src/modules/instance.js1
8 files changed, 28 insertions, 2 deletions
diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js
index fa86ee59..789243cf 100644
--- a/src/components/post_status_form/post_status_form.js
+++ b/src/components/post_status_form/post_status_form.js
@@ -150,6 +150,15 @@ const PostStatusForm = {
scopeOptionsEnabled () {
return this.$store.state.instance.scopeOptionsEnabled
},
+ alwaysShowSubject () {
+ if (typeof this.$store.state.config.alwaysShowSubjectInput !== 'undefined') {
+ return this.$store.state.config.alwaysShowSubjectInput
+ } else if (typeof this.$store.state.instance.alwaysShowSubjectInput !== 'undefined') {
+ return this.$store.state.instance.alwaysShowSubjectInput
+ } else {
+ return this.$store.state.instance.scopeOptionsEnabled
+ }
+ },
formattingOptionsEnabled () {
return this.$store.state.instance.formattingOptionsEnabled
}
diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue
index 42e9c65c..e4c46b9a 100644
--- a/src/components/post_status_form/post_status_form.vue
+++ b/src/components/post_status_form/post_status_form.vue
@@ -11,7 +11,7 @@
</i18n>
<p v-if="this.newStatus.visibility == 'direct'" class="visibility-notice">{{ $t('post_status.direct_warning') }}</p>
<input
- v-if="scopeOptionsEnabled"
+ v-if="newStatus.spoilerText || alwaysShowSubject"
type="text"
:placeholder="$t('post_status.content_warning')"
v-model="newStatus.spoilerText"
diff --git a/src/components/settings/settings.js b/src/components/settings/settings.js
index 910eea63..91a2014a 100644
--- a/src/components/settings/settings.js
+++ b/src/components/settings/settings.js
@@ -38,6 +38,10 @@ const settings = {
? instance.subjectLineBehavior
: user.subjectLineBehavior,
subjectLineBehaviorDefault: instance.subjectLineBehavior,
+ alwaysShowSubjectInputLocal: typeof user.alwaysShowSubjectInput === 'undefined'
+ ? instance.alwaysShowSubjectInput
+ : user.alwaysShowSubjectInput,
+ alwaysShowSubjectInputDefault: instance.alwaysShowSubjectInput,
scopeCopyLocal: user.scopeCopy,
scopeCopyDefault: this.$t('settings.values.' + instance.scopeCopy),
stopGifs: user.stopGifs,
@@ -122,6 +126,9 @@ const settings = {
scopeCopyLocal (value) {
this.$store.dispatch('setOption', { name: 'scopeCopy', value })
},
+ alwaysShowSubjectInputLocal (value) {
+ this.$store.dispatch('setOption', { name: 'alwaysShowSubjectInput', value })
+ },
subjectLineBehaviorLocal (value) {
this.$store.dispatch('setOption', { name: 'subjectLineBehavior', value })
},
diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue
index 4a236d23..de506e4d 100644
--- a/src/components/settings/settings.vue
+++ b/src/components/settings/settings.vue
@@ -64,6 +64,12 @@
</label>
</li>
<li>
+ <input type="checkbox" id="subjectHide" v-model="alwaysShowSubjectInputLocal">
+ <label for="subjectHide">
+ {{$t('settings.subject_input_always_show')}} {{$t('settings.instance_default', { value: alwaysShowSubjectInputDefault })}}
+ </label>
+ </li>
+ <li>
<div>
{{$t('settings.subject_line_behavior')}}
<label for="subjectLineBehavior" class="select">
diff --git a/src/i18n/en.json b/src/i18n/en.json
index 314fa083..ae4f93d9 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -159,6 +159,7 @@
"set_new_profile_background": "Set new profile background",
"set_new_profile_banner": "Set new profile banner",
"settings": "Settings",
+ "subject_input_always_show": "Always show subject field",
"subject_line_behavior": "Copy subject when replying",
"subject_line_email": "Like email: \"re: subject\"",
"subject_line_mastodon": "Like mastodon: copy as is",
diff --git a/src/i18n/ru.json b/src/i18n/ru.json
index 921bf67e..9c28ccf4 100644
--- a/src/i18n/ru.json
+++ b/src/i18n/ru.json
@@ -133,6 +133,7 @@
"set_new_profile_background": "Загрузить новый фон профиля",
"set_new_profile_banner": "Загрузить новый баннер профиля",
"settings": "Настройки",
+ "subject_input_always_show": "Всегда показывать поле ввода темы",
"stop_gifs": "Проигрывать GIF анимации только при наведении",
"streaming": "Включить автоматическую загрузку новых сообщений при прокрутке вверх",
"text": "Текст",
diff --git a/src/modules/config.js b/src/modules/config.js
index 0d36e9bf..f23cacb7 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -27,7 +27,8 @@ const defaultState = {
highlight: {},
interfaceLanguage: browserLocale,
scopeCopy: undefined, // instance default
- subjectLineBehavior: undefined // instance default
+ subjectLineBehavior: undefined, // instance default
+ alwaysShowSubjectInput: undefined // instance default
}
const config = {
diff --git a/src/modules/instance.js b/src/modules/instance.js
index 9a39cccf..641424b6 100644
--- a/src/modules/instance.js
+++ b/src/modules/instance.js
@@ -17,6 +17,7 @@ const defaultState = {
showInstanceSpecificPanel: false,
scopeOptionsEnabled: true,
formattingOptionsEnabled: false,
+ alwaysShowSubjectInput: true,
collapseMessageWithSubject: false,
hidePostStats: false,
hideUserStats: false,