diff --git a/lib/Db/EpisodeMapper.php b/lib/Db/EpisodeMapper.php index fdb7a355ee52a78b6d15448d6dfa9ec55e650dc8..65be4a47fa3ab3c9f0a25449859cc6b0e60e9eac 100644 --- a/lib/Db/EpisodeMapper.php +++ b/lib/Db/EpisodeMapper.php @@ -71,6 +71,13 @@ class EpisodeMapper extends QBMapper { ->from('episodes') ->orderBy($sortBy, 'DESC') ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($userId))); + + /* For listening view, query only episodes which were already + listened */ + if ($sortBy == 'lastplayed') { + $qb->andWhere($qb->expr()->gt('playtime',$qb->createNamedParameter(0))); + }; + return $this->findEntities($qb); } } diff --git a/src/components/ItemSlider.vue b/src/components/ItemSlider.vue index 367f2e2314f5b8f08b13df8f6d3c839c6602a3e5..a35a3bfb1b967a01f94220531662c22a13a7da6b 100644 --- a/src/components/ItemSlider.vue +++ b/src/components/ItemSlider.vue @@ -20,7 +20,8 @@ - --> <template> - <div class="podcastSection"> + <div v-show="podcasts.length" + class="podcastSection"> <div class="podcastSliderWrapper"> <div v-show="showPrev" diff --git a/src/store/episode.js b/src/store/episode.js index 67f9cbea2882006b684055d805cb444792555bc2..e6a812c12aef9c0571a31bf3dd6e03c0c7f47b31 100644 --- a/src/store/episode.js +++ b/src/store/episode.js @@ -74,6 +74,22 @@ export default { .then((episode) => { commit('addEpisode', episode) }) + const testEpisode = { + id: 6461881, + imgURL: 'https://thumborcdn.acast.com/lYYH8lBYyScJ5JcMCkVGdrY1EHg=/3000x3000/https://mediacdn.acast.com/assets/4f71cda1-166c-4604-88a7-bf1e6686c9e9/cover-image-kluot63n-thehistoryofbyzantium_new_.jpg', + title: 'Episode 225 - test episode', + pubdate: '2021-03-04T10:57:48+01:00', + duration: 3834, + playtime: 0, + lastplayed: 1616511062258, + enclosure: 'https://sphinx.acast.com/thehistoryofbyzantium/episode225-belisariusinmetal/media.mp3', + description: 'test test test', + podcast_id: 48700, + } + episodeApiClient.addEpisode(testEpisode) + .then((episode) => { + commit('addEpisode', episode) + }) }, removeEpisode({ commit }, episode) { episodeApiClient.removeEpisode(episode)