VueTube/NUXT/pages/home.vue

46 lines
1.3 KiB
Vue
Raw Normal View History

2022-03-16 00:31:03 +00:00
<template>
<!--
* Videos are now polled from '~/components/recommended.vue'
* This is to allow use of "recommended" videos on other pages such as /watch
* -Front
* -->
2022-03-24 11:47:13 +00:00
<div>
<!-- Video Loading Animation -->
<vid-load-renderer v-if="!recommends" />
<horizontal-list-renderer v-else :render="recommends" />
</div>
</template>
<script>
2022-03-24 20:46:17 +00:00
import horizontalListRenderer from "~/components/ListRenderers/horizontalListRenderer.vue";
import VidLoadRenderer from "~/components/vidLoadRenderer.vue";
export default {
2022-03-24 11:47:13 +00:00
components: { horizontalListRenderer, VidLoadRenderer },
2022-03-24 04:28:57 +00:00
computed: {
recommends: {
get() {
return this.$store.state.recommendedVideos;
},
set(val) {
this.$store.commit("updateRecommendedVideos", val);
},
},
},
// The following code is only a demo for debugging purposes, note that each "shelfRenderer" has a "title" value that seems to align to the categories at the top of the vanilla yt app
mounted() {
2022-03-27 05:00:09 +00:00
if (!this.recommends.items || !this.recommends.items.length) {
2022-03-24 04:28:57 +00:00
this.$youtube
.recommend()
.then((result) => {
if (result) this.recommends = result[0];
})
.catch((error) => this.$logger("Home Page", error, true));
}
},
};
2022-03-21 23:47:11 +00:00
</script>