add the ability to select a post's content type

This commit is contained in:
William Pitcock 2018-08-31 00:42:42 +00:00
parent 2dd99c7dd9
commit 38e3c2493d
5 changed files with 28 additions and 10 deletions

View file

@ -55,6 +55,7 @@ const PostStatusForm = {
newStatus: {
spoilerText: this.subject,
status: statusText,
contentType: 'text/plain',
nsfw: false,
files: [],
visibility: this.messageScope || this.$store.state.users.currentUser.default_scope
@ -210,13 +211,15 @@ const PostStatusForm = {
sensitive: newStatus.nsfw,
media: newStatus.files,
store: this.$store,
inReplyToStatusId: this.replyTo
inReplyToStatusId: this.replyTo,
contentType: newStatus.contentType
}).then((data) => {
if (!data.error) {
this.newStatus = {
status: '',
files: [],
visibility: newStatus.visibility
visibility: newStatus.visibility,
contentType: newStatus.contentType
}
this.$emit('posted')
let el = this.$el.querySelector('textarea')

View file

@ -32,11 +32,21 @@
@input="resize"
@paste="paste">
</textarea>
<div v-if="scopeOptionsEnabled" class="visibility-tray">
<i v-on:click="changeVis('direct')" class="icon-mail-alt" :class="vis.direct" :title="$t('post_status.scope.direct')"></i>
<i v-on:click="changeVis('private')" class="icon-lock" :class="vis.private" :title="$t('post_status.scope.private')"></i>
<i v-on:click="changeVis('unlisted')" class="icon-lock-open-alt" :class="vis.unlisted" :title="$t('post_status.scope.unlisted')"></i>
<i v-on:click="changeVis('public')" class="icon-globe" :class="vis.public" :title="$t('post_status.scope.public')"></i>
<div class="visibility-tray">
<span class="text-format">
<select v-model="newStatus.contentType" class="form-control">
<option value="text/plain">Plain text</option>
<option value="text/html">HTML</option>
<option value="text/markdown">Markdown</option>
</select>
</span>
<div v-if="scopeOptionsEnabled">
<i v-on:click="changeVis('direct')" class="icon-mail-alt" :class="vis.direct" :title="$t('post_status.scope.direct')"></i>
<i v-on:click="changeVis('private')" class="icon-lock" :class="vis.private" :title="$t('post_status.scope.private')"></i>
<i v-on:click="changeVis('unlisted')" class="icon-lock-open-alt" :class="vis.unlisted" :title="$t('post_status.scope.unlisted')"></i>
<i v-on:click="changeVis('public')" class="icon-globe" :class="vis.public" :title="$t('post_status.scope.public')"></i>
</div>
</div>
</div>
<div style="position:relative;" v-if="candidates">