Piped/src/components/PlaylistItem.vue

36 lines
1.2 KiB
Vue
Raw Normal View History

2022-11-01 12:12:54 +00:00
<template>
<div class="flex flex-col flex-justify-between">
2022-11-01 12:12:54 +00:00
<router-link :to="props.item.url">
<div class="relative">
<img class="w-full" :src="props.item.thumbnail" loading="lazy" />
</div>
<p>
<span v-text="props.item.name" />
<font-awesome-icon class="ml-1.5" v-if="props.item.verified" icon="check" />
</p>
</router-link>
<p v-if="props.item.description" v-text="props.item.description" />
2022-11-01 12:12:54 +00:00
<router-link v-if="props.item.uploaderUrl" class="link" :to="props.item.uploaderUrl">
<p>
<span v-text="props.item.uploaderName" />
2022-11-01 12:12:54 +00:00
<font-awesome-icon class="ml-1.5" v-if="props.item.uploaderVerified" icon="check" />
</p>
</router-link>
<a v-else-if="props.item.uploaderName" class="link" v-text="props.item.uploaderName" />
2022-11-01 12:12:54 +00:00
<template v-if="props.item.videos >= 0">
<br v-if="props.item.uploaderName" />
<strong v-text="`${props.item.videos} ${$t('video.videos')}`" />
</template>
<br />
</div>
</template>
<script setup>
const props = defineProps({
item: Object,
});
</script>