mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Update:Fetch library API to return numUserPlaylists, only display playlists in siderail if user has playlists
This commit is contained in:
		
							parent
							
								
									0fcf978ffe
								
							
						
					
					
						commit
						083f8faa46
					
				| @ -186,7 +186,7 @@ export default { | ||||
|       return this.$store.state.streamLibraryItem | ||||
|     }, | ||||
|     showPlaylists() { | ||||
|       return true | ||||
|       return this.$store.state.libraries.numUserPlaylists > 0 | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|  | ||||
| @ -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 | ||||
|   } | ||||
| } | ||||
| @ -62,10 +62,12 @@ class LibraryController { | ||||
|   } | ||||
| 
 | ||||
|   async findOne(req, res) { | ||||
|     if (req.query.include && req.query.include === 'filterdata') { | ||||
|     const includeArray = (req.query.include || '').split(',') | ||||
|     if (includeArray.includes('filterdata')) { | ||||
|       return res.json({ | ||||
|         filterdata: libraryHelpers.getDistinctFilterDataNew(req.libraryItems), | ||||
|         issues: req.libraryItems.filter(li => li.hasIssues).length, | ||||
|         numUserPlaylists: this.db.playlists.filter(p => p.userId === req.user.id && p.libraryId === req.library.id).length, | ||||
|         library: req.library | ||||
|       }) | ||||
|     } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user