Invalidate cached images when album changes

This commit is contained in:
Deluan 2021-03-12 15:39:31 -05:00
parent 0049d8d311
commit 1ec105a245
4 changed files with 25 additions and 18 deletions

View File

@ -133,16 +133,8 @@ const AlbumDetails = ({ record }) => {
return genreDateLine.join(' · ')
}
const imageUrl = subsonic.url(
'getCoverArt',
record.coverArtId || 'not_found',
{ size: 300 }
)
const fullImageUrl = subsonic.url(
'getCoverArt',
record.coverArtId || 'not_found'
)
const imageUrl = subsonic.getCoverArtUrl(record, 300)
const fullImageUrl = subsonic.getCoverArtUrl(record)
const handleOpenLightbox = React.useCallback(() => setLightboxOpen(true), [])
const handleCloseLightbox = React.useCallback(

View File

@ -98,9 +98,7 @@ const Cover = withContentRect('bounds')(
return (
<div ref={measureRef}>
<img
src={subsonic.url('getCoverArt', album.coverArtId || 'not_found', {
size: 300,
})}
src={subsonic.getCoverArtUrl(album, 300)}
alt={album.album}
className={classes.cover}
/>

View File

@ -28,10 +28,12 @@ const mapToAudioLists = (item) => {
artistId: item.albumArtistId,
duration: item.duration,
musicSrc: subsonic.url('stream', id, { ts: true }),
cover: subsonic.url(
'getCoverArt',
config.devFastAccessCoverArt ? item.albumId : id,
{ size: 300 }
cover: subsonic.getCoverArtUrl(
{
coverArtId: config.devFastAccessCoverArt ? item.albumId : id,
updatedAt: item.updatedAt,
},
300
),
scrobbled: false,
uuid: uuidv4(),

View File

@ -32,4 +32,19 @@ const unstar = (id) => fetchUtils.fetchJson(url('unstar', id))
const download = (id) => (window.location.href = url('download', id))
export default { url, scrobble, download, star, unstar }
const getCoverArtUrl = (record, size) => {
const options = {
...(record.updatedAt && { _: record.updatedAt }),
...(size && { size }),
}
return url('getCoverArt', record.coverArtId || 'not_found', options)
}
export default {
url,
getCoverArtUrl: getCoverArtUrl,
scrobble,
download,
star,
unstar,
}