add categories in search

This commit is contained in:
vapormusic 2022-01-15 14:10:27 +07:00
parent b4086ff8f9
commit 352819f877

View file

@ -1,5 +1,6 @@
<script type="text/x-template" id="cider-search"> <script type="text/x-template" id="cider-search">
<div class="content-inner"> <div class="content-inner">
<div v-if="search != null && search != [] && search.term != ''">
<div class="row"> <div class="row">
<div class="col-sm" style="width: auto;" v-if="getTopResult()"> <div class="col-sm" style="width: auto;" v-if="getTopResult()">
<template> <template>
@ -25,7 +26,7 @@
</div> </div>
</div> </div>
<template v-if="search.results['meta']"> <template v-if="search.results['meta'] != null">
<template <template
v-for="section in search.results.meta.results.order" v-if="section != 'song' && section != 'top'"> v-for="section in search.results.meta.results.order" v-if="section != 'song' && section != 'top'">
<div class="row"> <div class="row">
@ -78,6 +79,20 @@
:items="search.resultsSocial.profile.data.data.limit(10)"></mediaitem-scroller-horizontal-large> :items="search.resultsSocial.profile.data.data.limit(10)"></mediaitem-scroller-horizontal-large>
</template> </template>
</div> </div>
<div v-else>
<div v-if="categoriesReady || getCategories()">
<div>
<div class="col" v-if="categoriesView != null && categoriesView != [] && categoriesView[0].attributes != null && categoriesView[0].attributes.title != null">
<h3>{{categoriesView[0].attributes.title.stringForDisplay ?? ""}}</h3>
</div>
<mediaitem-square :kind="'385'" size="600"
:item="item ? (item.attributes.kind ? item : ((item.relationships && item.relationships.contents ) ? item.relationships.contents.data[0] : item)) : []"
:imagesize="800"
v-for="item in categoriesView[1].relationships.contents.data.filter(item => item.type != 'editorial-items')">
</div>
</div>
</div>
</div>
</script> </script>
<script> <script>
@ -86,7 +101,9 @@
props: ['search'], props: ['search'],
data: function () { data: function () {
return { return {
app: this.$root app: this.$root,
categoriesView : [],
categoriesReady : false,
} }
}, },
methods: { methods: {
@ -96,6 +113,13 @@
} else { } else {
return false; return false;
} }
},
async getCategories() {
if(this.categoriesView != [] && this.categoriesView.length > 0) {this.categoriesReady = true; return await true;} else {
let response = await this.app.mk.api.v3.music(`/v1/recommendations/${this.app.mk.storefrontId}?timezone=${encodeURIComponent(this.app.formatTimezoneOffset())}&name=search-landing&platform=web&extend=editorialArtwork&art%5Burl%5D=f%2Cc&types=editorial-items%2Capple-curators%2Cactivities`);
this.categoriesView = response.data.data;
this.categoriesReady = true;
return await true;}
} }
} }
}) })