diff options
Diffstat (limited to 'src/components/attachment')
| -rw-r--r-- | src/components/attachment/attachment.js | 21 | ||||
| -rw-r--r-- | src/components/attachment/attachment.vue | 30 |
2 files changed, 37 insertions, 14 deletions
diff --git a/src/components/attachment/attachment.js b/src/components/attachment/attachment.js index c21cd656..161c6b2b 100644 --- a/src/components/attachment/attachment.js +++ b/src/components/attachment/attachment.js @@ -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 }) } } } diff --git a/src/components/attachment/attachment.vue b/src/components/attachment/attachment.vue index 67c6ac18..d20b704b 100644 --- a/src/components/attachment/attachment.vue +++ b/src/components/attachment/attachment.vue @@ -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> |
