mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-03-05 00:18:30 +01:00
Fix:Fullscreen cover image modal not updating when changing covers #2900
This commit is contained in:
parent
410801347c
commit
bf3db1dae0
@ -101,9 +101,14 @@ export default {
|
|||||||
},
|
},
|
||||||
fullCoverUrl() {
|
fullCoverUrl() {
|
||||||
if (!this.libraryItem) return null
|
if (!this.libraryItem) return null
|
||||||
var store = this.$store || this.$nuxt.$store
|
const store = this.$store || this.$nuxt.$store
|
||||||
return store.getters['globals/getLibraryItemCoverSrc'](this.libraryItem, this.placeholderUrl)
|
return store.getters['globals/getLibraryItemCoverSrc'](this.libraryItem, this.placeholderUrl)
|
||||||
},
|
},
|
||||||
|
rawCoverUrl() {
|
||||||
|
if (!this.libraryItem) return null
|
||||||
|
const store = this.$store || this.$nuxt.$store
|
||||||
|
return store.getters['globals/getLibraryItemCoverSrc'](this.libraryItem, this.placeholderUrl, true)
|
||||||
|
},
|
||||||
cover() {
|
cover() {
|
||||||
return this.media.coverPath || this.placeholderUrl
|
return this.media.coverPath || this.placeholderUrl
|
||||||
},
|
},
|
||||||
@ -126,9 +131,6 @@ export default {
|
|||||||
authorBottom() {
|
authorBottom() {
|
||||||
return 0.75 * this.sizeMultiplier
|
return 0.75 * this.sizeMultiplier
|
||||||
},
|
},
|
||||||
userToken() {
|
|
||||||
return this.$store.getters['user/getToken']
|
|
||||||
},
|
|
||||||
resolution() {
|
resolution() {
|
||||||
return `${this.naturalWidth}x${this.naturalHeight}px`
|
return `${this.naturalWidth}x${this.naturalHeight}px`
|
||||||
}
|
}
|
||||||
@ -136,7 +138,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
clickCover() {
|
clickCover() {
|
||||||
if (this.expandOnClick && this.libraryItem) {
|
if (this.expandOnClick && this.libraryItem) {
|
||||||
this.$store.commit('globals/setRawCoverPreviewModal', this.libraryItem.id)
|
this.$store.commit('globals/setRawCoverPreviewModal', this.rawCoverUrl)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setCoverBg() {
|
setCoverBg() {
|
||||||
|
@ -20,11 +20,8 @@ export default {
|
|||||||
this.$store.commit('globals/setShowRawCoverPreviewModal', val)
|
this.$store.commit('globals/setShowRawCoverPreviewModal', val)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectedLibraryItemId() {
|
|
||||||
return this.$store.state.globals.selectedLibraryItemId
|
|
||||||
},
|
|
||||||
rawCoverUrl() {
|
rawCoverUrl() {
|
||||||
return this.$store.getters['globals/getLibraryItemCoverSrcById'](this.selectedLibraryItemId, null, true)
|
return this.$store.state.globals.selectedRawCoverUrl
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {},
|
methods: {},
|
||||||
|
@ -21,7 +21,7 @@ export const state = () => ({
|
|||||||
selectedCollection: null,
|
selectedCollection: null,
|
||||||
selectedAuthor: null,
|
selectedAuthor: null,
|
||||||
selectedMediaItems: [],
|
selectedMediaItems: [],
|
||||||
selectedLibraryItemId: null,
|
selectedRawCoverUrl: null,
|
||||||
isCasting: false, // Actively casting
|
isCasting: false, // Actively casting
|
||||||
isChromecastInitialized: false, // Script loadeds
|
isChromecastInitialized: false, // Script loadeds
|
||||||
showBatchQuickMatchModal: false,
|
showBatchQuickMatchModal: false,
|
||||||
@ -82,7 +82,9 @@ export const state = () => ({
|
|||||||
})
|
})
|
||||||
|
|
||||||
export const getters = {
|
export const getters = {
|
||||||
getLibraryItemCoverSrc: (state, getters, rootState, rootGetters) => (libraryItem, placeholder = null, raw = false) => {
|
getLibraryItemCoverSrc:
|
||||||
|
(state, getters, rootState, rootGetters) =>
|
||||||
|
(libraryItem, placeholder = null, raw = false) => {
|
||||||
if (!placeholder) placeholder = `${rootState.routerBasePath}/book_placeholder.jpg`
|
if (!placeholder) placeholder = `${rootState.routerBasePath}/book_placeholder.jpg`
|
||||||
if (!libraryItem) return placeholder
|
if (!libraryItem) return placeholder
|
||||||
const media = libraryItem.media
|
const media = libraryItem.media
|
||||||
@ -95,17 +97,21 @@ export const getters = {
|
|||||||
const lastUpdate = libraryItem.updatedAt || Date.now()
|
const lastUpdate = libraryItem.updatedAt || Date.now()
|
||||||
const libraryItemId = libraryItem.libraryItemId || libraryItem.id // Workaround for /users/:id page showing media progress covers
|
const libraryItemId = libraryItem.libraryItemId || libraryItem.id // Workaround for /users/:id page showing media progress covers
|
||||||
|
|
||||||
if (process.env.NODE_ENV !== 'production') { // Testing
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
|
// Testing
|
||||||
return `http://localhost:3333${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}&ts=${lastUpdate}${raw ? '&raw=1' : ''}`
|
return `http://localhost:3333${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}&ts=${lastUpdate}${raw ? '&raw=1' : ''}`
|
||||||
}
|
}
|
||||||
|
|
||||||
return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}&ts=${lastUpdate}${raw ? '&raw=1' : ''}`
|
return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}&ts=${lastUpdate}${raw ? '&raw=1' : ''}`
|
||||||
},
|
},
|
||||||
getLibraryItemCoverSrcById: (state, getters, rootState, rootGetters) => (libraryItemId, timestamp = null, raw = false) => {
|
getLibraryItemCoverSrcById:
|
||||||
|
(state, getters, rootState, rootGetters) =>
|
||||||
|
(libraryItemId, timestamp = null, raw = false) => {
|
||||||
const placeholder = `${rootState.routerBasePath}/book_placeholder.jpg`
|
const placeholder = `${rootState.routerBasePath}/book_placeholder.jpg`
|
||||||
if (!libraryItemId) return placeholder
|
if (!libraryItemId) return placeholder
|
||||||
const userToken = rootGetters['user/getToken']
|
const userToken = rootGetters['user/getToken']
|
||||||
if (process.env.NODE_ENV !== 'production') { // Testing
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
|
// Testing
|
||||||
return `http://localhost:3333${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}${raw ? '&raw=1' : ''}${timestamp ? `&ts=${timestamp}` : ''}`
|
return `http://localhost:3333${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}${raw ? '&raw=1' : ''}${timestamp ? `&ts=${timestamp}` : ''}`
|
||||||
}
|
}
|
||||||
return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}${raw ? '&raw=1' : ''}${timestamp ? `&ts=${timestamp}` : ''}`
|
return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}${raw ? '&raw=1' : ''}${timestamp ? `&ts=${timestamp}` : ''}`
|
||||||
@ -161,8 +167,8 @@ export const mutations = {
|
|||||||
setShowRawCoverPreviewModal(state, val) {
|
setShowRawCoverPreviewModal(state, val) {
|
||||||
state.showRawCoverPreviewModal = val
|
state.showRawCoverPreviewModal = val
|
||||||
},
|
},
|
||||||
setRawCoverPreviewModal(state, libraryItemId) {
|
setRawCoverPreviewModal(state, rawCoverUrl) {
|
||||||
state.selectedLibraryItemId = libraryItemId
|
state.selectedRawCoverUrl = rawCoverUrl
|
||||||
state.showRawCoverPreviewModal = true
|
state.showRawCoverPreviewModal = true
|
||||||
},
|
},
|
||||||
setEditCollection(state, collection) {
|
setEditCollection(state, collection) {
|
||||||
@ -202,17 +208,16 @@ export const mutations = {
|
|||||||
state.selectedMediaItems = []
|
state.selectedMediaItems = []
|
||||||
},
|
},
|
||||||
toggleMediaItemSelected(state, item) {
|
toggleMediaItemSelected(state, item) {
|
||||||
if (state.selectedMediaItems.some(i => i.id === item.id)) {
|
if (state.selectedMediaItems.some((i) => i.id === item.id)) {
|
||||||
state.selectedMediaItems = state.selectedMediaItems.filter(i => i.id !== item.id)
|
state.selectedMediaItems = state.selectedMediaItems.filter((i) => i.id !== item.id)
|
||||||
} else {
|
} else {
|
||||||
state.selectedMediaItems.push(item)
|
state.selectedMediaItems.push(item)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setMediaItemSelected(state, { item, selected }) {
|
setMediaItemSelected(state, { item, selected }) {
|
||||||
const isAlreadySelected = state.selectedMediaItems.some(i => i.id === item.id)
|
const isAlreadySelected = state.selectedMediaItems.some((i) => i.id === item.id)
|
||||||
if (isAlreadySelected && !selected) {
|
if (isAlreadySelected && !selected) {
|
||||||
state.selectedMediaItems = state.selectedMediaItems.filter(i => i.id !== item.id)
|
state.selectedMediaItems = state.selectedMediaItems.filter((i) => i.id !== item.id)
|
||||||
|
|
||||||
} else if (selected && !isAlreadySelected) {
|
} else if (selected && !isAlreadySelected) {
|
||||||
state.selectedMediaItems.push(item)
|
state.selectedMediaItems.push(item)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user