Add setting to hide all attachments.

This commit is contained in:
Roger Braun 2017-02-23 00:04:47 +01:00
parent 0e1ab69c33
commit 7c0f3ea666
6 changed files with 20 additions and 3 deletions

View file

@ -1,8 +1,18 @@
import StyleSwitcher from '../style_switcher/style_switcher.vue'
const settings = {
data () {
return {
hideAttachmentsLocal: this.$store.state.config.hideAttachments
}
},
components: {
StyleSwitcher
},
watch: {
hideAttachmentsLocal (value) {
this.$store.dispatch('setOption', { name: 'hideAttachments', value })
}
}
}

View file

@ -8,6 +8,11 @@
<h2>Theme</h2>
<style-switcher></style-switcher>
</div>
<div class="setting-item">
<h2>Attachments</h2>
<input type="checkbox" id="hideAttachments" v-model="hideAttachmentsLocal">
<label for="hideAttachments">Hide Attachments</label>
</div>
</div>
</div>
</template>

View file

@ -17,6 +17,7 @@ const Status = {
userExpanded: false
}),
computed: {
hideAttachments () { return this.$store.state.config.hideAttachments },
retweet () { return !!this.statusoid.retweeted_status },
retweeter () { return this.statusoid.user.name },
status () {

View file

@ -57,7 +57,7 @@
<div @click.prevent="linkClicked" class="status-content" v-html="status.statusnet_html"></div>
<div v-if='status.attachments' class='attachments'>
<attachment :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments">
<attachment v-if="!hideAttachments" :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments">
</attachment>
</div>
</div>

View file

@ -29,7 +29,7 @@ Vue.use(VueTimeago, {
})
const persistedStateOptions = {
paths: ['users.users', 'statuses.notifications']
paths: ['users.users', 'statuses.notifications', 'config.hideAttachments']
}
const store = new Vuex.Store({

View file

@ -3,7 +3,8 @@ import StyleSetter from '../services/style_setter/style_setter.js'
const defaultState = {
name: 'Pleroma FE',
colors: {}
colors: {},
hideAttachments: false
}
const config = {