Bladeren bron

refactor: use EmbedVideo in creations

axolotle 6 maanden geleden
bovenliggende
commit
f5da1ce10b
4 gewijzigde bestanden met toevoegingen van 14 en 18 verwijderingen
  1. 1 1
      src/components/nodes/NodeViewBody.vue
  2. 4 11
      src/pages/Gallery.vue
  3. 1 1
      src/pages/gallery/GalleryView.vue
  4. 8 5
      src/store/nodes.js

+ 1 - 1
src/components/nodes/NodeViewBody.vue

@@ -30,7 +30,7 @@
         <div v-if="node.videos">
           <embed-video
             v-for="video in node.videos" :key="video.url"
-            :src="video.url" class="mt-3"
+            :src="video.url" type="video" class="mt-3"
           />
         </div>
 

+ 4 - 11
src/pages/Gallery.vue

@@ -48,7 +48,7 @@
 
 
     <b-modal
-      v-if="creation && (creation.iframeUrl || creation.mediaItem)"
+      v-if="creation && creation.mediaItem"
       :id="'modal-creation' + creation.id"
       class="modal-creation"
       static hide-footer hide-header
@@ -56,16 +56,9 @@
       <template #default="{ hide, visible }">
         <button-expand expanded @click="hide()" />
         <template v-if="visible">
-          <iframe
-            v-if="creation.iframeUrl"
-            :src="creation.iframeUrl"
-            width="100%" height="100%"
-          />
-          <component
-            v-else-if="creation.mediaItem"
-            :is="creation.mediaItem.is"
-            :src="creation.mediaItem.src"
-            controls
+          <embed-video
+            v-bind="creation.mediaItem"
+            full
           />
         </template>
       </template>

+ 1 - 1
src/pages/gallery/GalleryView.vue

@@ -8,7 +8,7 @@
           <img :src="node.image.url" :alt="node.image.alt">
 
           <button-expand
-            v-if="node.iframeUrl || node.mediaItem" artwork
+            v-if="node.mediaItem" artwork
             v-b-modal="'modal-creation' + node.id" class="center"
           />
 

+ 8 - 5
src/store/nodes.js

@@ -45,19 +45,22 @@ export default {
             if (!node.files.length) node.files = null
             const mime = creationFile.filemime
             if (mime === 'application/pdf') {
-              node.iframeUrl = creationFile.url + '#toolbar=0&navpanes=0&statusbar=0'
+              node.mediaItem = {
+                type: 'iframe',
+                src: creationFile.url + '#toolbar=0&navpanes=0&statusbar=0'
+              }
             } else if (mime === 'text/html') {
-              node.iframeUrl = creationFile.url
+              node.mediaItem = { type: 'iframe', src: creationFile.url }
             } else if (['audio', 'video'].some(type => mime.includes(type))) {
               node.mediaItem = {
-                is: mime.includes('audio') ? 'audio' : 'video',
+                type: mime.includes('audio') ? 'audio' : 'video',
                 src: creationFile.url
               }
             } else if (node.piece && node.piece.url) {
-              node.iframeUrl = node.piece.url
+              node.mediaItem = { type: 'iframe', src: node.piece.url }
             }
           } else if (node.piece && node.piece.url) {
-            node.iframeUrl = node.piece.url
+            node.mediaItem = { type: 'iframe', src: node.piece.url }
           }
 
           if (node.images && node.images.length) {