Merge branch 'fix/post-content-type' into 'develop'

#327: Load post status content type from instance config

Closes #327

See merge request pleroma/pleroma-fe!641
This commit is contained in:
Shpuld Shpludson 2019-03-07 16:03:06 +00:00
commit bf1fa52e5e
12 changed files with 18 additions and 21 deletions

View file

@ -169,6 +169,8 @@ const afterStoreSetup = ({ store, i18n }) => {
store.dispatch('setInstanceOption', { name: 'chatAvailable', value: features.includes('chat') }) store.dispatch('setInstanceOption', { name: 'chatAvailable', value: features.includes('chat') })
store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: features.includes('gopher') }) store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: features.includes('gopher') })
store.dispatch('setInstanceOption', { name: 'postFormats', value: metadata.postFormats })
store.dispatch('setInstanceOption', { name: 'restrictedNicknames', value: metadata.restrictedNicknames }) store.dispatch('setInstanceOption', { name: 'restrictedNicknames', value: metadata.restrictedNicknames })
const suggestions = metadata.suggestions const suggestions = metadata.suggestions

View file

@ -171,6 +171,9 @@ const PostStatusForm = {
}, },
formattingOptionsEnabled () { formattingOptionsEnabled () {
return this.$store.state.instance.formattingOptionsEnabled return this.$store.state.instance.formattingOptionsEnabled
},
postFormats () {
return this.$store.state.instance.postFormats || []
} }
}, },
methods: { methods: {

View file

@ -38,9 +38,9 @@
<span class="text-format" v-if="formattingOptionsEnabled"> <span class="text-format" v-if="formattingOptionsEnabled">
<label for="post-content-type" class="select"> <label for="post-content-type" class="select">
<select id="post-content-type" v-model="newStatus.contentType" class="form-control"> <select id="post-content-type" v-model="newStatus.contentType" class="form-control">
<option value="text/plain">{{$t('post_status.content_type.plain_text')}}</option> <option v-for="postFormat in postFormats" :key="postFormat" :value="postFormat">
<option value="text/html">HTML</option> {{$t(`post_status.content_type["${postFormat}"]`)}}
<option value="text/markdown">Markdown</option> </option>
</select> </select>
<i class="icon-down-open"></i> <i class="icon-down-open"></i>
</label> </label>

View file

@ -93,6 +93,9 @@ const settings = {
currentSaveStateNotice () { currentSaveStateNotice () {
return this.$store.state.interface.settings.currentSaveStateNotice return this.$store.state.interface.settings.currentSaveStateNotice
}, },
postFormats () {
return this.$store.state.instance.postFormats || []
},
instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel } instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel }
}, },
watch: { watch: {

View file

@ -105,17 +105,9 @@
{{$t('settings.post_status_content_type')}} {{$t('settings.post_status_content_type')}}
<label for="postContentType" class="select"> <label for="postContentType" class="select">
<select id="postContentType" v-model="postContentTypeLocal"> <select id="postContentType" v-model="postContentTypeLocal">
<option value="text/plain"> <option v-for="postFormat in postFormats" :key="postFormat" :value="postFormat">
{{$t('settings.status_content_type_plain')}} {{$t(`post_status.content_type["${postFormat}"]`)}}
{{postContentTypeDefault == 'text/plain' ? $t('settings.instance_default_simple') : ''}} {{postContentTypeDefault === postFormat ? $t('settings.instance_default_simple') : ''}}
</option>
<option value="text/html">
HTML
{{postContentTypeDefault == 'text/html' ? $t('settings.instance_default_simple') : ''}}
</option>
<option value="text/markdown">
Markdown
{{postContentTypeDefault == 'text/markdown' ? $t('settings.instance_default_simple') : ''}}
</option> </option>
</select> </select>
<i class="icon-down-open"/> <i class="icon-down-open"/>

View file

@ -71,7 +71,9 @@
"account_not_locked_warning_link": "locked", "account_not_locked_warning_link": "locked",
"attachments_sensitive": "Mark attachments as sensitive", "attachments_sensitive": "Mark attachments as sensitive",
"content_type": { "content_type": {
"plain_text": "Plain text" "text/plain": "Plain text",
"text/html": "HTML",
"text/markdown": "Markdown"
}, },
"content_warning": "Subject (optional)", "content_warning": "Subject (optional)",
"default": "Just landed in L.A.", "default": "Just landed in L.A.",
@ -221,7 +223,6 @@
"subject_line_mastodon": "Like mastodon: copy as is", "subject_line_mastodon": "Like mastodon: copy as is",
"subject_line_noop": "Do not copy", "subject_line_noop": "Do not copy",
"post_status_content_type": "Post status content type", "post_status_content_type": "Post status content type",
"status_content_type_plain": "Plain text",
"stop_gifs": "Play-on-hover GIFs", "stop_gifs": "Play-on-hover GIFs",
"streaming": "Enable automatic streaming of new posts when scrolled to the top", "streaming": "Enable automatic streaming of new posts when scrolled to the top",
"text": "Text", "text": "Text",

View file

@ -221,7 +221,6 @@
"subject_line_mastodon": "Kiel Mastodon: kopii senŝanĝe", "subject_line_mastodon": "Kiel Mastodon: kopii senŝanĝe",
"subject_line_noop": "Ne kopii", "subject_line_noop": "Ne kopii",
"post_status_content_type": "Afiŝi specon de la enhavo de la stato", "post_status_content_type": "Afiŝi specon de la enhavo de la stato",
"status_content_type_plain": "Plata teksto",
"stop_gifs": "Movi GIF-bildojn dum musa ŝvebo", "stop_gifs": "Movi GIF-bildojn dum musa ŝvebo",
"streaming": "Ŝalti memfaran fluigon de novaj afiŝoj ĉe la supro de la paĝo", "streaming": "Ŝalti memfaran fluigon de novaj afiŝoj ĉe la supro de la paĝo",
"text": "Teksto", "text": "Teksto",

View file

@ -202,7 +202,6 @@
"subject_line_mastodon": "Tipo mastodon: copiar como es", "subject_line_mastodon": "Tipo mastodon: copiar como es",
"subject_line_noop": "No copiar", "subject_line_noop": "No copiar",
"post_status_content_type": "Formato de publicación", "post_status_content_type": "Formato de publicación",
"status_content_type_plain": "Texto plano",
"stop_gifs": "Iniciar GIFs al pasar el ratón", "stop_gifs": "Iniciar GIFs al pasar el ratón",
"streaming": "Habilite la transmisión automática de nuevas publicaciones cuando se desplaza hacia la parte superior", "streaming": "Habilite la transmisión automática de nuevas publicaciones cuando se desplaza hacia la parte superior",
"text": "Texto", "text": "Texto",

View file

@ -202,7 +202,6 @@
"subject_line_mastodon": "マストドンふう: そのままコピー", "subject_line_mastodon": "マストドンふう: そのままコピー",
"subject_line_noop": "コピーしない", "subject_line_noop": "コピーしない",
"post_status_content_type": "とうこうのコンテントタイプ", "post_status_content_type": "とうこうのコンテントタイプ",
"status_content_type_plain": "プレーンテキスト",
"stop_gifs": "カーソルをかさねたとき、GIFをうごかす", "stop_gifs": "カーソルをかさねたとき、GIFをうごかす",
"streaming": "うえまでスクロールしたとき、じどうてきにストリーミングする", "streaming": "うえまでスクロールしたとき、じどうてきにストリーミングする",
"text": "もじ", "text": "もじ",

View file

@ -221,7 +221,6 @@
"subject_line_mastodon": "Coma mastodon: copiar tal coma es", "subject_line_mastodon": "Coma mastodon: copiar tal coma es",
"subject_line_noop": "Copiar pas", "subject_line_noop": "Copiar pas",
"post_status_content_type": "Publicar lo tipe de contengut dels estatuts", "post_status_content_type": "Publicar lo tipe de contengut dels estatuts",
"status_content_type_plain": "Tèxte brut",
"stop_gifs": "Lançar los GIFs al subrevòl", "stop_gifs": "Lançar los GIFs al subrevòl",
"streaming": "Activar lo cargament automatic dels novèls estatus en anar amont", "streaming": "Activar lo cargament automatic dels novèls estatus en anar amont",
"text": "Tèxt", "text": "Tèxt",

View file

@ -221,7 +221,6 @@
"subject_line_mastodon": "Como o Mastodon: copiar como está", "subject_line_mastodon": "Como o Mastodon: copiar como está",
"subject_line_noop": "Não copiar", "subject_line_noop": "Não copiar",
"post_status_content_type": "Postar tipo de conteúdo do status", "post_status_content_type": "Postar tipo de conteúdo do status",
"status_content_type_plain": "Texto puro",
"stop_gifs": "Reproduzir GIFs ao passar o cursor em cima", "stop_gifs": "Reproduzir GIFs ao passar o cursor em cima",
"streaming": "Habilitar o fluxo automático de postagens quando ao topo da página", "streaming": "Habilitar o fluxo automático de postagens quando ao topo da página",
"text": "Texto", "text": "Texto",

View file

@ -37,6 +37,7 @@ const defaultState = {
emoji: [], emoji: [],
customEmoji: [], customEmoji: [],
restrictedNicknames: [], restrictedNicknames: [],
postFormats: [],
// Feature-set, apparently, not everything here is reported... // Feature-set, apparently, not everything here is reported...
mediaProxyAvailable: false, mediaProxyAvailable: false,