Fixed: Artist and Album Posters show placeholder instead of image (#292)

* Fixed issue where after AlbumPoster had error state, non-errored images would be stuck with placeholder.

* Fixed the poster loading issue for artists as well.

* Updated ArtistBanner as well.

* fixup: banner issues from previous missed update

* fixup! remove lazy variable, fix variable
pull/305/head
Joseph Milazzo 7 years ago committed by Qstick
parent 9bd020a130
commit 2b2c242c6f

@ -58,16 +58,23 @@ class AlbumCover extends Component {
pixelRatio
} = this.state;
const nextcover = findCover(images);
const nextCover = findCover(images);
if (nextcover && (!cover || nextcover.url !== cover.url)) {
if (nextCover && (!cover || nextCover.url !== cover.url)) {
this.setState({
cover: nextcover,
coverUrl: getCoverUrl(nextcover, pixelRatio * size),
hasError: false
// Don't reset isLoaded, as we want to immediately try to
// show the new image, whether an image was shown previously
// or the placeholder was shown.
cover: nextCover,
coverUrl: getCoverUrl(nextCover, pixelRatio * size),
hasError: false,
isLoaded: true
});
}
// The cover could not be loaded..
if (!nextCover && (this.props !== prevProps)) {
this.setState({
cover: undefined,
coverUrl: coverPlaceholder,
hasError: true
});
}
}

@ -64,20 +64,18 @@ class ArtistBanner extends Component {
this.setState({
banner: nextBanner,
bannerUrl: getBannerUrl(nextBanner, pixelRatio * size),
hasError: false
// Don't reset isLoaded, as we want to immediately try to
// show the new image, whether an image was shown previously
// or the placeholder was shown.
hasError: false,
isLoaded: true
});
}
// The poster could not be loaded..
if (!nextBanner && (this.props !== prevProps)) {
this.setState({
banner: undefined,
bannerUrl: bannerPlaceholder,
hasError: true
});
}
// The banner could not be loaded..
if (!nextBanner && (this.props !== prevProps)) {
this.setState({
banner: undefined,
bannerUrl: bannerPlaceholder,
hasError: true
});
}
}

@ -64,10 +64,8 @@ class ArtistPoster extends Component {
this.setState({
poster: nextPoster,
posterUrl: getPosterUrl(nextPoster, pixelRatio * size),
hasError: false
// Don't reset isLoaded, as we want to immediately try to
// show the new image, whether an image was shown previously
// or the placeholder was shown.
hasError: false,
isLoaded: true
});
}

Loading…
Cancel
Save