Fix up nsfw and some styling.
This commit is contained in:
parent
5f69014575
commit
500b704c0f
6 changed files with 73 additions and 20 deletions
|
@ -3,17 +3,32 @@ import nsfwImage from '../../assets/nsfw.jpg'
|
|||
const Attachment = {
|
||||
props: [
|
||||
'attachment',
|
||||
'nsfw'
|
||||
'nsfw',
|
||||
'statusId'
|
||||
],
|
||||
data: () => ({ nsfwImage }),
|
||||
computed: {
|
||||
type () {
|
||||
return 'image'
|
||||
let type = 'unknown'
|
||||
|
||||
if(this.attachment.mimetype.match(/text\/html/)) {
|
||||
type = 'html';
|
||||
}
|
||||
|
||||
if(this.attachment.mimetype.match(/image/)) {
|
||||
type = 'image';
|
||||
}
|
||||
|
||||
if(this.attachment.mimetype.match(/video\/webm/)) {
|
||||
type = 'webm';
|
||||
};
|
||||
|
||||
return type
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
showNsfw () {
|
||||
this.nsfw = false
|
||||
this.$store.commit('setNsfw', { id: this.statusId, nsfw: false })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,21 +5,29 @@
|
|||
</a>
|
||||
|
||||
<a v-if="type === 'image' && !nsfw" :href="attachment.url" target="_blank"><img :src="attachment.url"></img></a>
|
||||
<!-- <span ng-if="type === 'unknown'">Don't know how to display this...</span>
|
||||
|
||||
<video v-if="type === 'webm' && !nsfw" :src="attachment.url" controls></video>
|
||||
|
||||
<div ng-if="type === 'html' && attachment.oembed" class="oembed">
|
||||
<div ng-if="attachment.thumb_url" class="image">
|
||||
<img ng-src="{{::attachment.thumb_url}}"></img>
|
||||
</div>
|
||||
<div class="text">
|
||||
<h1><a href="{{::attachment.url}}">{{::attachment.oembed.title}}</a></h1>
|
||||
<div ng-bind-html="attachment.oembed.oembedHTML"></div>
|
||||
</div>
|
||||
</div>
|
||||
<span v-if="type === 'unknown'">Don't know how to display this...</span>
|
||||
|
||||
<video ng-if="type ==='webm'" ng-src="{{::videoUrl}}" controls></video> -->
|
||||
<div v-if="type === 'html' && attachment.oembed" class="oembed">
|
||||
<div v-if="attachment.thumb_url" class="image">
|
||||
<img :src="attachment.thumb_url"></img>
|
||||
</div>
|
||||
<div class="text">
|
||||
<h1><a :href="attachment.url">{{attachment.oembed.title}}</a></h1>
|
||||
<div v-html="attachment.oembed.oembedHTML"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="./attachment.js"></script>
|
||||
|
||||
<style lang="scss">
|
||||
.attachment {
|
||||
video {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue