From 437458af795e96e36f073fff422f48633042ac00 Mon Sep 17 00:00:00 2001
From: "L. E. Segovia" <13498015+amyspark@users.noreply.github.com>
Date: Wed, 31 Oct 2018 14:04:49 +0000
Subject: [PATCH] Enable playback of animated media
---
.../TimelineSpace/Contents/Cards/Toot.vue | 18 +++++++++++++++---
.../TimelineSpace/Modals/ImageViewer.vue | 5 ++++-
.../components/TimelineSpace/Modals/Media.vue | 13 +++++++++----
.../store/TimelineSpace/Modals/ImageViewer.js | 13 ++++++++++---
4 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/src/renderer/components/TimelineSpace/Contents/Cards/Toot.vue b/src/renderer/components/TimelineSpace/Contents/Cards/Toot.vue
index c65bfd03..6f4db84d 100644
--- a/src/renderer/components/TimelineSpace/Contents/Cards/Toot.vue
+++ b/src/renderer/components/TimelineSpace/Contents/Cards/Toot.vue
@@ -52,8 +52,10 @@
-
@@ -355,7 +357,7 @@ export default {
'TimelineSpace/Modals/ImageViewer/openModal',
{
currentIndex: currentIndex,
- mediaList: mediaList
+ mediaList: rawMediaList
})
},
openUser (account) {
@@ -564,6 +566,16 @@ export default {
max-height: 200px;
border-radius: 8px;
}
+
+ .media-label {
+ position: absolute;
+ bottom: 8px;
+ left: 8px;
+ color: #fff;
+ background: rgba(0, 0, 0, 0.5);
+ font-size: 0.8rem;
+ border-radius: 2px;
+ }
}
}
diff --git a/src/renderer/components/TimelineSpace/Modals/ImageViewer.vue b/src/renderer/components/TimelineSpace/Modals/ImageViewer.vue
index dd83e0ed..769b8b17 100644
--- a/src/renderer/components/TimelineSpace/Modals/ImageViewer.vue
+++ b/src/renderer/components/TimelineSpace/Modals/ImageViewer.vue
@@ -7,7 +7,7 @@
-
+
@@ -31,6 +31,9 @@ export default {
imageURL () {
return this.$store.getters['TimelineSpace/Modals/ImageViewer/imageURL']
},
+ imageType () {
+ return this.$store.getters['TimelineSpace/Modals/ImageViewer/imageType']
+ },
showLeft () {
return this.$store.getters['TimelineSpace/Modals/ImageViewer/showLeft']
},
diff --git a/src/renderer/components/TimelineSpace/Modals/Media.vue b/src/renderer/components/TimelineSpace/Modals/Media.vue
index 4c309759..2f420475 100644
--- a/src/renderer/components/TimelineSpace/Modals/Media.vue
+++ b/src/renderer/components/TimelineSpace/Modals/Media.vue
@@ -1,5 +1,6 @@
+
@@ -9,14 +10,18 @@ export default {
src: {
type: String,
default: ''
+ },
+ type: {
+ type: String,
+ default: ''
}
},
methods: {
- file_ext () {
- return this.src.split('.').pop().toLowerCase()
- },
isMovieFile () {
- return ['mp4'].indexOf(this.file_ext()) >= 0
+ return ['video'].includes(this.type)
+ },
+ isGIF () {
+ return ['gifv'].includes(this.type)
}
}
}
diff --git a/src/renderer/store/TimelineSpace/Modals/ImageViewer.js b/src/renderer/store/TimelineSpace/Modals/ImageViewer.js
index 141b5074..63b3b1d4 100644
--- a/src/renderer/store/TimelineSpace/Modals/ImageViewer.js
+++ b/src/renderer/store/TimelineSpace/Modals/ImageViewer.js
@@ -2,7 +2,7 @@ const ImageViewer = {
namespaced: true,
state: {
modalOpen: false,
- currentIndex: 0,
+ currentIndex: -1,
mediaList: []
},
mutations: {
@@ -30,7 +30,7 @@ const ImageViewer = {
},
closeModal ({ commit }) {
commit('changeModal', false)
- commit('changeCurrentIndex', 0)
+ commit('changeCurrentIndex', -1)
commit('changeMedliaList', [])
},
incrementIndex ({ commit }) {
@@ -42,7 +42,14 @@ const ImageViewer = {
},
getters: {
imageURL (state) {
- return state.mediaList[state.currentIndex]
+ if (state.currentIndex >= 0) {
+ return state.mediaList[state.currentIndex].url
+ }
+ },
+ imageType (state) {
+ if (state.currentIndex >= 0) {
+ return state.mediaList[state.currentIndex].type
+ }
},
showLeft (state) {
const notFirst = (state.currentIndex > 0)