浏览代码

Update Timeline.vue component, add video album and photo video album renderers

Daniel Supernault 6 年之前
父节点
当前提交
cdee4f863f
共有 1 个文件被更改,包括 39 次插入1 次删除
  1. 39 1
      resources/assets/js/components/Timeline.vue

+ 39 - 1
resources/assets/js/components/Timeline.vue

@@ -72,7 +72,7 @@
 					</div>
 					</div>
 
 
 					<div v-else-if="status.pf_type === 'photo:album'">
 					<div v-else-if="status.pf_type === 'photo:album'">
-						<b-carousel id="carousel1"
+						<b-carousel :id="status.id + '-carousel'"
 							style="text-shadow: 1px 1px 2px #333;"
 							style="text-shadow: 1px 1px 2px #333;"
 							controls
 							controls
 							indicators
 							indicators
@@ -85,6 +85,44 @@
 						</b-carousel>
 						</b-carousel>
 					</div>
 					</div>
 
 
+					<div v-else-if="status.pf_type === 'video:album'" class="w-100">
+						<b-carousel :id="status.id + '-carousel'"
+							style="text-shadow: 1px 1px 2px #333; background-color: #000;"
+							controls
+							img-blank
+							background="#ffffff"
+							:interval="4000"
+						>
+							<b-carousel-slide v-for="(vid, index) in status.media_attachments" :key="vid.id + '-media'">
+								<video slot="img" class="embed-responsive-item" preload="none" controls loop :alt="vid.description" width="100%" height="100%">
+									<source :src="vid.url" :type="vid.mime">
+								</video>
+							</b-carousel-slide>
+						</b-carousel>
+					</div>
+
+					<div v-else-if="status.pf_type === 'photo:video:album'" class="w-100">
+						<b-carousel :id="status.id + '-carousel'"
+							style="text-shadow: 1px 1px 2px #333; background-color: #000;"
+							controls
+							img-blank
+							background="#ffffff"
+							:interval="4000"
+						>
+							<b-carousel-slide v-for="(media, index) in status.media_attachments" :key="media.id + '-media'">
+
+								<video v-if="media.type == 'Video'" slot="img" class="embed-responsive-item" preload="none" controls loop :alt="media.description" width="100%" height="100%">
+									<source :src="media.url" :type="media.mime">
+								</video>
+
+								<img v-else-if="media.type == 'Image'" slot="img" class="d-block img-fluid w-100" :src="media.url" :alt="media.description">
+
+								<p v-else class="text-center p-0 font-weight-bold text-white">Error: Problem rendering preview.</p>
+
+							</b-carousel-slide>
+						</b-carousel>
+					</div>
+
 					<div v-else class="w-100">
 					<div v-else class="w-100">
 						<p class="text-center p-0 font-weight-bold text-white">Error: Problem rendering preview.</p>
 						<p class="text-center p-0 font-weight-bold text-white">Error: Problem rendering preview.</p>
 					</div>
 					</div>