Piggyback lazyloader for track loading

This commit is contained in:
James Barnsley
2018-04-14 13:48:03 +12:00
parent ade54c4445
commit c614482723
7 changed files with 69 additions and 31 deletions

View File

@ -174,16 +174,6 @@ class Artist extends React.Component{
default:
var tracks = [];
if (this.props.artist.tracks_uris && this.props.tracks){
for (var i = 0; i < this.props.artist.tracks_uris.length; i++){
var uri = this.props.artist.tracks_uris[i]
if (this.props.tracks.hasOwnProperty(uri)){
tracks.push(this.props.tracks[uri])
}
}
}
var sort_options = [
{
value: 'name',
@ -199,12 +189,29 @@ class Artist extends React.Component{
}
];
var tracks = [];
if (this.props.artist.tracks_uris && this.props.tracks){
for (var i = 0; i < this.props.artist.tracks_uris.length; i++){
var uri = this.props.artist.tracks_uris[i]
if (this.props.tracks.hasOwnProperty(uri)){
tracks.push(this.props.tracks[uri])
}
}
}
if (tracks.length <= 0 && helpers.isLoading(this.props.load_queue,['spotify_artists/'+helpers.getFromUri('artistid',this.props.params.uri)+'/top-tracks'])){
var is_loading_tracks = true;
} else {
var is_loading_tracks = false;
}
return (
<div className="body overview">
<div className={"top-tracks col w"+(related_artists.length > 0 ? "70" : "100")}>
<h4>Top tracks</h4>
<div className="list-wrapper">
<TrackList className="artist-track-list" uri={this.props.params.uri} tracks={tracks} />
<LazyLoadListener forceLoader={is_loading_tracks} />
</div>
</div>