diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index a6e63f4d98c8150f996860512bd6570147eef15b..1cb309e278f08b5c68c749cd3cbd8b64f49ebfd3 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -135,7 +135,7 @@ </div> </div> <router-link class="header item" :to="{name: 'subscriptions'}" v-if="$store.state.auth.authenticated"> - <translate translate-context="*/*/*/Noun">Subscriptions</translate> + <translate translate-context="*/*/*">Channels</translate> </router-link> <div class="item"> <header class="header"> diff --git a/front/src/components/audio/ChannelsWidget.vue b/front/src/components/audio/ChannelsWidget.vue index 39fe5ffe1139a90506f498d4bc9ed6d1cef114f5..f6957a4b691c5d4fb675880af1e383d7ea1edd37 100644 --- a/front/src/components/audio/ChannelsWidget.vue +++ b/front/src/components/audio/ChannelsWidget.vue @@ -15,12 +15,7 @@ </button> </template> <template v-if="!isLoading && objects.length === 0"> - <div class="ui placeholder segment"> - <div class="ui icon header"> - <i class="compact disc icon"></i> - No results matching your query - </div> - </div> + <empty-state @refresh="fetchData('channels/')" :refresh="true"></empty-state> </template> </div> </template> diff --git a/front/src/components/library/Home.vue b/front/src/components/library/Home.vue index ab68c6f38b8e1cf4e3d74dab18d32871c9dcbecf..15f505f842609a8885fa79a8b4a420ee2580572b 100644 --- a/front/src/components/library/Home.vue +++ b/front/src/components/library/Home.vue @@ -26,6 +26,14 @@ </album-widget> </div> </div> + <template v-if="scope === 'all'"> + <h3 class="ui header" > + <translate translate-context="*/*/*">New channels</translate> + </h3> + <channels-widget :show-modification-date="true" :limit="12" :filters="{ordering: '-creation_date'}"></channels-widget> + </template> + + </section> </main> </template> @@ -34,6 +42,7 @@ import axios from "axios" import Search from "@/components/audio/Search" import logger from "@/logging" +import ChannelsWidget from "@/components/audio/ChannelsWidget" import ArtistCard from "@/components/audio/artist/Card" import TrackWidget from "@/components/audio/track/Widget" import AlbumWidget from "@/components/audio/album/Widget" @@ -51,7 +60,8 @@ export default { ArtistCard, TrackWidget, AlbumWidget, - PlaylistWidget + PlaylistWidget, + ChannelsWidget, }, data() { return { diff --git a/front/src/components/library/TagDetail.vue b/front/src/components/library/TagDetail.vue index 9a954ccf66ce7013cb48090954b54f5f5af97754..a511d3f6f6909e26ea6f9d44dc8677d1af53e199 100644 --- a/front/src/components/library/TagDetail.vue +++ b/front/src/components/library/TagDetail.vue @@ -14,7 +14,7 @@ <div class="ui hidden divider"></div> <div class="ui row"> - <artist-widget :controls="false" :filters="{playable: true, ordering: '-creation_date', tag: id}"> + <artist-widget :key="id" :controls="false" :filters="{playable: true, ordering: '-creation_date', tag: id, include_channels: 'false'}"> <template slot="title"> <router-link :to="{name: 'library.artists.browse', query: {tag: id}}"> <translate translate-context="*/*/*/Noun">Artists</translate> @@ -23,7 +23,13 @@ </artist-widget> <div class="ui hidden divider"></div> <div class="ui hidden divider"></div> - <album-widget :show-count="true" :controls="false" :filters="{playable: true, ordering: '-creation_date', tag: id}"> + <h3 class="ui header"> + <translate translate-context="*/*/*">Channels</translate> + </h3> + <channels-widget :key="id" :show-modification-date="true" :limit="12" :filters="{tag: id, ordering: '-creation_date'}"></channels-widget> + <div class="ui hidden divider"></div> + <div class="ui hidden divider"></div> + <album-widget :key="id" :show-count="true" :controls="false" :filters="{playable: true, ordering: '-creation_date', tag: id}"> <template slot="title"> <router-link :to="{name: 'library.albums.browse', query: {tag: id}}"> <translate translate-context="*/*/*">Albums</translate> @@ -32,7 +38,7 @@ </album-widget> <div class="ui hidden divider"></div> <div class="ui hidden divider"></div> - <track-widget :show-count="true" :limit="12" item-classes="track-item inline" :url="'/tracks/'" :is-activity="false" :filters="{playable: true, ordering: '-creation_date', tag: id}"> + <track-widget :key="id" :show-count="true" :limit="12" item-classes="track-item inline" :url="'/tracks/'" :is-activity="false" :filters="{playable: true, ordering: '-creation_date', tag: id}"> <template slot="title"> <translate translate-context="*/*/*">Tracks</translate> </template> @@ -44,7 +50,7 @@ </template> <script> - +import ChannelsWidget from "@/components/audio/ChannelsWidget" import TrackWidget from "@/components/audio/track/Widget" import AlbumWidget from "@/components/audio/album/Widget" import ArtistWidget from "@/components/audio/artist/Widget" @@ -59,6 +65,7 @@ export default { AlbumWidget, TrackWidget, RadioButton, + ChannelsWidget, }, computed: { labels() {