aboutsummaryrefslogtreecommitdiff
path: root/src/components/attachment
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/attachment')
-rw-r--r--src/components/attachment/attachment.js21
-rw-r--r--src/components/attachment/attachment.vue30
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>