Add playing podcast episodes, episode progress, podcast page, podcast home page shelves

This commit is contained in:
advplyr 2022-03-26 17:41:26 -05:00
parent e32d05ea27
commit 0e665e2091
28 changed files with 526 additions and 82 deletions

View file

@ -5,6 +5,8 @@ export const state = () => ({
versionData: null,
serverSettings: null,
streamLibraryItem: null,
streamEpisodeId: null,
streamIsPlaying: false,
editModalTab: 'details',
showEditModal: false,
showEReader: false,
@ -38,6 +40,10 @@ export const getters = {
getNumLibraryItemsSelected: state => state.selectedLibraryItems.length,
getLibraryItemIdStreaming: state => {
return state.streamLibraryItem ? state.streamLibraryItem.id : null
},
getIsEpisodeStreaming: state => (libraryItemId, episodeId) => {
if (!state.streamLibraryItem) return null
return state.streamLibraryItem.id == libraryItemId && state.streamEpisodeId == episodeId
}
}
@ -105,8 +111,18 @@ export const mutations = {
if (!settings) return
state.serverSettings = settings
},
setLibraryItemStream(state, libraryItem) {
state.streamLibraryItem = libraryItem
setMediaPlaying(state, payload) {
if (!payload) {
state.streamLibraryItem = null
state.streamEpisodeId = null
state.streamIsPlaying = false
} else {
state.streamLibraryItem = payload.libraryItem
state.streamEpisodeId = payload.episodeId || null
}
},
setIsPlaying(state, isPlaying) {
state.streamIsPlaying = isPlaying
},
showEditModal(state, libraryItem) {
state.editModalTab = 'details'

View file

@ -22,9 +22,12 @@ export const getters = {
getToken: (state) => {
return state.user ? state.user.token : null
},
getUserMediaProgress: (state) => (libraryItemId) => {
getUserMediaProgress: (state) => (libraryItemId, episodeId = null) => {
if (!state.user.mediaProgress) return null
return state.user.mediaProgress.find(li => li.id == libraryItemId)
return state.user.mediaProgress.find(li => {
if (episodeId && li.episodeId !== episodeId) return false
return li.id == libraryItemId
})
},
getUserBookmarksForItem: (state) => (libraryItemId) => {
if (!state.user.bookmarks) return []