aboutsummaryrefslogtreecommitdiff
path: root/viewer/src/components/LdVideoViewer.vue
diff options
context:
space:
mode:
Diffstat (limited to 'viewer/src/components/LdVideoViewer.vue')
-rw-r--r--viewer/src/components/LdVideoViewer.vue50
1 files changed, 50 insertions, 0 deletions
diff --git a/viewer/src/components/LdVideoViewer.vue b/viewer/src/components/LdVideoViewer.vue
new file mode 100644
index 0000000..49f687f
--- /dev/null
+++ b/viewer/src/components/LdVideoViewer.vue
@@ -0,0 +1,50 @@
1<!--
2-- ldgallery - A static generator which turns a collection of tagged
3-- pictures into a searchable web gallery.
4--
5-- Copyright (C) 2020 Pacien TRAN-GIRARD
6--
7-- This program is free software: you can redistribute it and/or modify
8-- it under the terms of the GNU Affero General Public License as
9-- published by the Free Software Foundation, either version 3 of the
10-- License, or (at your option) any later version.
11--
12-- This program is distributed in the hope that it will be useful,
13-- but WITHOUT ANY WARRANTY; without even the implied warranty of
14-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15-- GNU Affero General Public License for more details.
16--
17-- You should have received a copy of the GNU Affero General Public License
18-- along with this program. If not, see <https://www.gnu.org/licenses/>.
19-->
20
21<template>
22 <!-- intermediate container necessary to eliminate the scrollbar -->
23 <div class="fill no-scroll">
24 <video class="fill" :src="itemResourceUrl()" :poster="thumbnailResourceUrl()" preload="auto" controls>
25 <ld-download :item="videoItem" />
26 </video>
27 </div>
28</template>
29
30<script lang="ts">
31import { Component, Prop, Vue } from "vue-property-decorator";
32
33@Component export default class LdVideoViewer extends Vue {
34 @Prop({ required: true }) readonly videoItem!: Gallery.Video;
35
36 itemResourceUrl(): string {
37 return this.$galleryStore.resourceRoot + this.videoItem.properties.resource;
38 }
39
40 thumbnailResourceUrl(): string {
41 return this.videoItem.thumbnail
42 ? this.$galleryStore.resourceRoot + this.videoItem.thumbnail.resource
43 : "";
44 }
45}
46</script>
47
48<style lang="scss" module>
49
50</style>