2022-04-10 20:31:47 -05:00
|
|
|
<template>
|
|
|
|
<div class="w-full">
|
2022-04-12 18:40:35 -05:00
|
|
|
<p class="text-lg mb-1 font-semibold">Episodes ({{ episodes.length }})</p>
|
|
|
|
|
2022-04-10 20:31:47 -05:00
|
|
|
<template v-for="episode in episodes">
|
2022-04-15 20:48:39 -05:00
|
|
|
<tables-podcast-episode-row :episode="episode" :local-episode="localEpisodeMap[episode.id]" :library-item-id="libraryItemId" :local-library-item-id="localLibraryItemId" :is-local="isLocal" :key="episode.id" />
|
2022-04-10 20:31:47 -05:00
|
|
|
</template>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
props: {
|
|
|
|
libraryItemId: String,
|
|
|
|
episodes: {
|
|
|
|
type: Array,
|
|
|
|
default: () => []
|
2022-04-15 20:48:39 -05:00
|
|
|
},
|
|
|
|
localLibraryItemId: String,
|
|
|
|
localEpisodes: {
|
|
|
|
type: Array,
|
|
|
|
default: () => []
|
|
|
|
},
|
|
|
|
isLocal: Boolean // If is local then episodes and libraryItemId are local, otherwise local is passed in localLibraryItemId and localEpisodes
|
2022-04-10 20:31:47 -05:00
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {}
|
|
|
|
},
|
2022-04-15 20:48:39 -05:00
|
|
|
computed: {
|
|
|
|
// Map of local episodes where server episode id is key
|
|
|
|
localEpisodeMap() {
|
|
|
|
var epmap = {}
|
|
|
|
this.localEpisodes.forEach((localEp) => {
|
|
|
|
if (localEp.serverEpisodeId) {
|
|
|
|
epmap[localEp.serverEpisodeId] = localEp
|
|
|
|
}
|
|
|
|
})
|
|
|
|
return epmap
|
|
|
|
}
|
|
|
|
},
|
2022-04-10 20:31:47 -05:00
|
|
|
methods: {},
|
|
|
|
mounted() {}
|
|
|
|
}
|
|
|
|
</script>
|