Re-assessing playing state for tltracklist on tltrack_changed

This commit is contained in:
James Barnsley
2016-11-13 11:32:21 +13:00
parent 177e2f6579
commit b2fa2c0f1e

View File

@ -66,6 +66,55 @@ export default function reducer(ui = {}, action){
/**
* Current track and tracklist
**/
case 'MOPIDY_TLTRACKS':
if( !action.data ) return ui
var tracklist = []
for( var i = 0; i < action.data.length; i++ ){
var track = Object.assign(
{},
action.data[i].track,
{
tlid: action.data[i].tlid,
playing: ( ui.current_track && action.data[i].tlid == ui.current_track.tlid )
})
tracklist.push( track )
}
return Object.assign({}, ui, { current_tracklist: tracklist });
case 'SPOTIFY_TRACK_LOADED':
if( !action.data ) return ui
var current_track = Object.assign({}, ui.current_track, action.data)
return Object.assign({}, ui, { current_track: current_track });
case 'MOPIDY_CURRENTTLTRACK':
if( !action.data ) return ui
var current_tracklist = []
Object.assign(current_tracklist, ui.current_tracklist)
for( var i = 0; i < current_tracklist.length; i++ ){
Object.assign(
current_tracklist[i],
{ playing: ( current_tracklist[i].tlid == action.data.tlid ) }
)
}
var current_track = action.data.track
Object.assign(current_track, { tlid: action.data.tlid })
return Object.assign({}, ui, {
current_track: current_track
});
/**
* Albums
**/
@ -207,47 +256,6 @@ export default function reducer(ui = {}, action){
});
/**
* Current track and tracklist
**/
case 'MOPIDY_TLTRACKS':
if( !action.data ) return ui
var tracklist = []
for( var i = 0; i < action.data.length; i++ ){
tracklist.push( Object.assign({}, action.data[i].track, { tlid: action.data[i].tlid }) )
}
return Object.assign({}, ui, { current_tracklist: tracklist });
case 'SPOTIFY_TRACK_LOADED':
if( !action.data ) return ui
var current_track = Object.assign({}, ui.current_track, action.data)
return Object.assign({}, ui, { current_track: current_track });
case 'MOPIDY_CURRENTTLTRACK':
if( !action.data ) return ui
var current_tracklist = []
Object.assign(current_tracklist, ui.current_tracklist)
for( var i = 0; i < current_tracklist.length; i++ ){
Object.assign(
current_tracklist[i],
{ playing: ( current_tracklist[i].tlid == action.data.tlid ) }
)
}
var current_track = action.data.track
Object.assign(current_track, { tlid: action.data.tlid })
return Object.assign({}, ui, {
current_track: current_track
});
/**
* Search results
**/