diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 5693dcc65a..3b08a3f6f8 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -84,6 +84,7 @@ const afterStoreSetup = ({ store, i18n }) => { copyInstanceOption('loginMethod') copyInstanceOption('scopeCopy') copyInstanceOption('subjectLineBehavior') + copyInstanceOption('postContentType') copyInstanceOption('alwaysShowSubjectInput') copyInstanceOption('noAttachmentLinks') diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 5e8c2252d8..ab379c233e 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -65,7 +65,6 @@ const PostStatusForm = { newStatus: { spoilerText: this.subject || '', status: statusText, - contentType: 'text/plain', nsfw: false, files: [], visibility: scope @@ -167,6 +166,11 @@ const PostStatusForm = { }, formattingOptionsEnabled () { return this.$store.state.instance.formattingOptionsEnabled + }, + defaultPostContentType () { + return typeof this.$store.state.config.postContentType === 'undefined' + ? this.$store.state.instance.postContentType + : this.$store.state.config.postContentType } }, methods: { diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index e09ad37f54..6ed5d92e0c 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -35,7 +35,7 @@
+
  • +
    + {{$t('settings.post_status_content_type')}} + +
    +
  • diff --git a/src/i18n/en.json b/src/i18n/en.json index ac7cc2a7ca..87849e4cf6 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -192,6 +192,8 @@ "subject_line_email": "Like email: \"re: subject\"", "subject_line_mastodon": "Like mastodon: copy as is", "subject_line_noop": "Do not copy", + "post_status_content_type": "Post status content type", + "status_content_type_plain": "Plain text", "stop_gifs": "Play-on-hover GIFs", "streaming": "Enable automatic streaming of new posts when scrolled to the top", "text": "Text", diff --git a/src/modules/config.js b/src/modules/config.js index 526a702108..2a70fbe2f1 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -31,7 +31,8 @@ const defaultState = { scopeCopy: undefined, // instance default subjectLineBehavior: undefined, // instance default alwaysShowSubjectInput: undefined, // instance default - showFeaturesPanel: true + showFeaturesPanel: true, + postContentType: undefined // instance default } const config = { diff --git a/src/modules/instance.js b/src/modules/instance.js index 4ad418738e..475da92eab 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -24,6 +24,7 @@ const defaultState = { disableChat: false, scopeCopy: true, subjectLineBehavior: 'email', + postContentType: 'text/plain', loginMethod: 'password', nsfwCensorImage: undefined, vapidPublicKey: undefined, diff --git a/static/config.json b/static/config.json index 24e26696fa..685846b902 100644 --- a/static/config.json +++ b/static/config.json @@ -13,6 +13,7 @@ "collapseMessageWithSubject": false, "scopeCopy": true, "subjectLineBehavior": "email", + "postContentType": "text/plain", "alwaysShowSubjectInput": true, "hidePostStats": false, "hideUserStats": false,