mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
<script setup lang="ts"> |
|
import Plyr from 'plyr' |
|
import 'plyr/dist/plyr.css' |
|
import type { ProductFeedItem } from '../../../lib/types' |
|
|
|
const props = defineProps<{ |
|
item: ProductFeedItem |
|
}>() |
|
|
|
const { |
|
item: { Title, Description, Url }, |
|
} = props |
|
|
|
const videoPlayer = ref<HTMLElement>() |
|
|
|
const player = ref() |
|
|
|
onMounted(() => { |
|
if (!videoPlayer.value) return |
|
player.value = new Plyr(videoPlayer.value, { |
|
previewThumbnails: {}, |
|
quality: { |
|
default: 1080, |
|
options: [720, 1080, 2160], |
|
}, |
|
}) |
|
}) |
|
|
|
onBeforeUnmount(() => { |
|
if (player.value) { |
|
player.value.destroy() |
|
} |
|
}) |
|
</script> |
|
|
|
<template> |
|
<div class="flex flex-col mt-6 gap-5"> |
|
<div class="aspect-video !rounded-lg mx-auto !h-[428px]"> |
|
<div id="player" ref="videoPlayer" class="plyr__video-embed"> |
|
<iframe |
|
:src="`${Url}?origin=https://plyr.io&iv_load_policy=3&modestbranding=1&playsinline=1&showinfo=0&rel=0&enablejsapi=1`" |
|
allowfullscreen |
|
allowtransparency |
|
allow="autoplay" |
|
></iframe> |
|
</div> |
|
</div> |
|
<div class="text-gray-900 font-bold text-2xl"> |
|
{{ Title }} |
|
</div> |
|
<div class="text-gray-900"> |
|
{{ Description.length > 200 ? `${Description.slice(0, 280)}...` : Description }} |
|
</div> |
|
</div> |
|
</template> |
|
|
|
<style lang="scss"> |
|
.plyr--video { |
|
@apply !rounded-lg; |
|
} |
|
</style>
|
|
|