Update:Fetch library API to return numUserPlaylists, only display playlists in siderail if user has playlists

This commit is contained in:
advplyr 2022-11-27 14:34:27 -06:00
parent 0fcf978ffe
commit 083f8faa46
3 changed files with 16 additions and 5 deletions

View file

@ -9,6 +9,7 @@ export const state = () => ({
issues: 0,
folderLastUpdate: 0,
filterData: null,
numUserPlaylists: 0,
seriesSortBy: 'name',
seriesSortDesc: false,
seriesFilterBy: 'all',
@ -111,15 +112,17 @@ export const actions = {
return this.$axios
.$get(`/api/libraries/${libraryId}?include=filterdata`)
.then((data) => {
var library = data.library
var filterData = data.filterdata
var issues = data.issues || 0
const library = data.library
const filterData = data.filterdata
const issues = data.issues || 0
const numUserPlaylists = data.numUserPlaylists
dispatch('user/checkUpdateLibrarySortFilter', library.mediaType, { root: true })
commit('addUpdate', library)
commit('setLibraryIssues', issues)
commit('setLibraryFilterData', filterData)
commit('setNumUserPlaylists', numUserPlaylists)
commit('setCurrentLibrary', libraryId)
if (libraryChanging) {
commit('setCollections', [])
@ -228,6 +231,9 @@ export const mutations = {
setLibraryFilterData(state, filterData) {
state.filterData = filterData
},
setNumUserPlaylists(state, numUserPlaylists) {
state.numUserPlaylists = numUserPlaylists
},
updateFilterDataWithItem(state, libraryItem) {
if (!libraryItem || !state.filterData) return
if (state.currentLibraryId !== libraryItem.libraryId) return
@ -332,6 +338,7 @@ export const mutations = {
},
setUserPlaylists(state, playlists) {
state.userPlaylists = playlists
state.numUserPlaylists = playlists.length
},
addUpdateUserPlaylist(state, playlist) {
const index = state.userPlaylists.findIndex(p => p.id === playlist.id)
@ -339,9 +346,11 @@ export const mutations = {
state.userPlaylists.splice(index, 1, playlist)
} else {
state.userPlaylists.push(playlist)
state.numUserPlaylists++
}
},
removeUserPlaylist(state, playlist) {
state.userPlaylists = state.userPlaylists.filter(p => p.id !== playlist.id)
state.numUserPlaylists = state.userPlaylists.length
}
}