mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-12-26 21:59:38 +00:00
Lazy bookshelf, api routes for categories and filter data
This commit is contained in:
parent
4587916c8e
commit
5c92aef048
26 changed files with 1354 additions and 332 deletions
|
|
@ -155,6 +155,7 @@ export const getters = {
|
|||
return [...new Set(_genres)].sort((a, b) => a.toLowerCase() < b.toLowerCase() ? -1 : 1)
|
||||
},
|
||||
getBookCoverSrc: (state, getters, rootState, rootGetters) => (bookItem, placeholder = '/book_placeholder.jpg') => {
|
||||
if (!bookItem) return placeholder
|
||||
var book = bookItem.book
|
||||
if (!book || !book.cover || book.cover === placeholder) return placeholder
|
||||
var cover = book.cover
|
||||
|
|
|
|||
|
|
@ -33,6 +33,5 @@ export const mutations = {
|
|||
},
|
||||
setShowBookshelfTextureModal(state, val) {
|
||||
state.showBookshelfTextureModal = val
|
||||
console.log('shopw', val)
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,8 @@ export const state = () => ({
|
|||
listeners: [],
|
||||
currentLibraryId: 'main',
|
||||
folders: [],
|
||||
folderLastUpdate: 0
|
||||
folderLastUpdate: 0,
|
||||
filterData: null
|
||||
})
|
||||
|
||||
export const getters = {
|
||||
|
|
@ -53,16 +54,19 @@ export const actions = {
|
|||
return false
|
||||
}
|
||||
|
||||
var library = state.libraries.find(lib => lib.id === libraryId)
|
||||
if (library) {
|
||||
commit('setCurrentLibrary', libraryId)
|
||||
return library
|
||||
}
|
||||
// var library = state.libraries.find(lib => lib.id === libraryId)
|
||||
// if (library) {
|
||||
// commit('setCurrentLibrary', libraryId)
|
||||
// return library
|
||||
// }
|
||||
|
||||
return this.$axios
|
||||
.$get(`/api/libraries/${libraryId}`)
|
||||
.$get(`/api/libraries/${libraryId}?include=filterdata`)
|
||||
.then((data) => {
|
||||
commit('addUpdate', data)
|
||||
var library = data.library
|
||||
var filterData = data.filterdata
|
||||
commit('addUpdate', library)
|
||||
commit('setLibraryFilterData', filterData)
|
||||
commit('setCurrentLibrary', libraryId)
|
||||
return data
|
||||
})
|
||||
|
|
@ -97,7 +101,22 @@ export const actions = {
|
|||
})
|
||||
return true
|
||||
},
|
||||
loadLibraryFilterData({ state, commit, rootState }) {
|
||||
if (!rootState.user || !rootState.user.user) {
|
||||
console.error('libraries/loadLibraryFilterData - User not set')
|
||||
return false
|
||||
}
|
||||
|
||||
this.$axios
|
||||
.$get(`/api/libraries/${state.currentLibraryId}/filters`)
|
||||
.then((data) => {
|
||||
commit('setLibraryFilterData', data)
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Failed', error)
|
||||
commit('setLibraryFilterData', null)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export const mutations = {
|
||||
|
|
@ -145,5 +164,8 @@ export const mutations = {
|
|||
},
|
||||
removeListener(state, listenerId) {
|
||||
state.listeners = state.listeners.filter(l => l.id !== listenerId)
|
||||
},
|
||||
setLibraryFilterData(state, filterData) {
|
||||
state.filterData = filterData
|
||||
}
|
||||
}
|
||||
|
|
@ -25,7 +25,7 @@ export const getters = {
|
|||
return state.user && state.user.audiobooks ? state.user.audiobooks[audiobookId] || null : null
|
||||
},
|
||||
getUserSetting: (state) => (key) => {
|
||||
return state.settings ? state.settings[key] || null : null
|
||||
return state.settings ? state.settings[key] : null
|
||||
},
|
||||
getUserCanUpdate: (state) => {
|
||||
return state.user && state.user.permissions ? !!state.user.permissions.update : false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue