VueTube/NUXT/components/SectionRenderers/itemSectionRenderer.vue

57 lines
1.5 KiB
Vue
Raw Normal View History

2022-03-24 11:47:13 +00:00
<template>
2022-04-25 03:24:46 +00:00
<div class="fill-width">
<v-list-item
2022-03-24 11:47:13 +00:00
v-for="(video, index) in render.contents"
:key="index"
2022-04-25 03:24:46 +00:00
class="pa-0 min-height-0"
2022-03-24 11:47:13 +00:00
>
<component
v-if="getComponents()[Object.keys(video)[0]]"
:is="Object.keys(video)[0]"
:key="video[Object.keys(video)[0]].videoId"
:video="video[Object.keys(video)[0]]"
></component>
2022-04-25 03:24:46 +00:00
</v-list-item>
2022-03-24 11:47:13 +00:00
<div
v-if="
2022-05-18 03:19:22 +00:00
render.separatorDetails &&
render.separatorDetails.hasBottomSeparator &&
!($store.state.tweaks.roundThumb && $store.state.tweaks.roundTweak > 0)
2022-03-24 11:47:13 +00:00
"
2022-03-31 06:01:29 +00:00
class="separator-bottom background"
2022-04-25 03:24:46 +00:00
:class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'"
2022-03-24 11:47:13 +00:00
:style="{ height: render.separatorDetails.height + 'px' }"
></div>
</div>
</template>
<style scoped>
.shelf-header {
width: 100%; /* Prevent Loading Weirdness */
padding: 10px;
}
</style>
<script>
2022-03-24 20:46:17 +00:00
import compactVideoRenderer from "~/components/CompactRenderers/compactVideoRenderer.vue";
import compactChannelRenderer from "~/components/CompactRenderers/compactChannelRenderer.vue";
2022-03-24 20:54:21 +00:00
import gridVideoRenderer from "~/components/gridRenderers/gridVideoRenderer.vue";
import videoWithContextRenderer from "~/components/gridRenderers/videoWithContextRenderer.vue";
2022-03-24 11:47:13 +00:00
export default {
components: {
gridVideoRenderer,
compactVideoRenderer,
compactChannelRenderer,
videoWithContextRenderer,
2022-03-24 11:47:13 +00:00
},
props: ["render"],
methods: {
getComponents() {
return this.$options.components;
},
},
};
</script>