Resolve "Placeholder on the homepage when there are no playlist"

This commit is contained in:
Rodrigo Leite 2019-10-03 11:30:02 +02:00 committed by Eliot Berriot
parent d833fba747
commit c8467faf8a
3 changed files with 33 additions and 2 deletions

View File

@ -0,0 +1 @@
Display placeholder on homepage when there are no playlists (#892)

View File

@ -0,0 +1,18 @@
<template>
<div class="ui placeholder segment">
<div class="ui icon header">
<i class="pdf file outline icon"></i>
<translate translate-context="Content/Home/Placeholder">
No playlists have been created yet
</translate>
</div>
<button
@click="$store.commit('playlists/chooseTrack', null)"
class="ui primary button"
>
<translate translate-context="Content/Home/CreatePlaylist">
Create Playlist
</translate>
</button>
</div>
</template>

View File

@ -9,7 +9,12 @@
<div v-if="isLoading" class="ui inverted active dimmer">
<div class="ui loader"></div>
</div>
<playlist-card v-for="playlist in objects" :key="playlist.id" :playlist="playlist"></playlist-card>
<template v-if="playlistsExist">
<playlist-card v-for="playlist in objects" :key="playlist.id" :playlist="playlist"></playlist-card>
</template>
<template v-else>
<placeholder-widget></placeholder-widget>
</template>
</div>
</template>
@ -17,6 +22,7 @@
import _ from '@/lodash'
import axios from 'axios'
import PlaylistCard from '@/components/playlists/Card'
import PlaceholderWidget from '@/components/playlists/PlaceholderWidget'
export default {
props: {
@ -24,7 +30,8 @@ export default {
url: {type: String, required: true}
},
components: {
PlaylistCard
PlaylistCard,
PlaceholderWidget
},
data () {
return {
@ -39,6 +46,11 @@ export default {
created () {
this.fetchData(this.url)
},
computed: {
playlistsExist: function () {
return this.objects.length > 0
}
},
methods: {
fetchData (url) {
if (!url) {