From 065d4e0a631dcf2dfbe33ca60a8d6a66fd8a678d Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Wed, 7 Jun 2017 08:28:54 +1200 Subject: [PATCH] Using universal tracks index instead of current_track --- src/js/components/FullPlayer.js | 2 +- src/js/components/MiniPlayer.js | 2 +- src/js/components/Sidebar.js | 4 ++-- src/js/services/localstorage/middleware.js | 13 ++++++++++++- src/js/services/ui/reducer.js | 5 +++-- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/js/components/FullPlayer.js b/src/js/components/FullPlayer.js index dbf80a1d..fae15c3c 100755 --- a/src/js/components/FullPlayer.js +++ b/src/js/components/FullPlayer.js @@ -146,7 +146,7 @@ const mapStateToProps = (state, ownProps) => { return { radio_enabled: (state.ui.radio && state.ui.radio.enabled ? true : false), tracks: state.ui.tracks, - current_track: state.ui.current_track, + current_track: (typeof(state.ui.current_track) !== 'undefined' && typeof(state.ui.tracks) !== 'undefined' && typeof(state.ui.tracks[state.ui.current_track]) !== 'undefined' ? state.ui.tracks[state.ui.current_track] : null), play_state: state.mopidy.play_state, time_position: state.mopidy.time_position, consume: state.mopidy.consume, diff --git a/src/js/components/MiniPlayer.js b/src/js/components/MiniPlayer.js index 279a6869..82fa72dd 100755 --- a/src/js/components/MiniPlayer.js +++ b/src/js/components/MiniPlayer.js @@ -59,7 +59,7 @@ class MiniPlayer extends React.Component{ const mapStateToProps = (state, ownProps) => { return { - current_track: state.ui.current_track, + current_track: (typeof(state.ui.current_track) !== 'undefined' && typeof(state.ui.tracks) !== 'undefined' && typeof(state.ui.tracks[state.ui.current_track]) !== 'undefined' ? state.ui.tracks[state.ui.current_track] : null), play_state: state.mopidy.play_state } } diff --git a/src/js/components/Sidebar.js b/src/js/components/Sidebar.js index 747918c6..f9f7aa0b 100755 --- a/src/js/components/Sidebar.js +++ b/src/js/components/Sidebar.js @@ -112,8 +112,8 @@ const mapStateToProps = (state, ownProps) => { mopidy_connected: state.mopidy.connected, pusher_connected: state.pusher.connected, spotify_connected: state.spotify.connected, - spotify_authorized: state.spotify.authorized, - current_track: state.ui.current_track, + spotify_authorized: state.spotify.authorized, + current_track: (typeof(state.ui.current_track) !== 'undefined' && typeof(state.ui.tracks) !== 'undefined' && typeof(state.ui.tracks[state.ui.current_track]) !== 'undefined' ? state.ui.tracks[state.ui.current_track] : null), dragger: state.ui.dragger } } diff --git a/src/js/services/localstorage/middleware.js b/src/js/services/localstorage/middleware.js index 8ebcd881..7a58a988 100755 --- a/src/js/services/localstorage/middleware.js +++ b/src/js/services/localstorage/middleware.js @@ -14,7 +14,18 @@ const localstorageMiddleware = (function(){ window._store = store // if debug enabled - if (store.getState().ui.log_actions) console.log(action) + if (store.getState().ui.log_actions){ + + var ignored_actions = [ + 'START_LOADING', + 'STOP_LOADING' + ] + + // Show non-ignored actions + if (!ignored_actions.includes(action.type)){ + console.log(action) + } + } switch( action.type ){ diff --git a/src/js/services/ui/reducer.js b/src/js/services/ui/reducer.js index 86a501d5..4dd78c21 100755 --- a/src/js/services/ui/reducer.js +++ b/src/js/services/ui/reducer.js @@ -118,8 +118,7 @@ export default function reducer(ui = {}, action){ ) } - var current_track = action.data.track - Object.assign(current_track, { tlid: action.data.tlid }) + var current_track = action.data.track.uri return Object.assign({}, ui, { current_track: current_track @@ -410,6 +409,8 @@ export default function reducer(ui = {}, action){ **/ case 'TRACK_LOADED': + if (!action.key || !action.track) return ui + var tracks = Object.assign({}, ui.tracks) if (tracks[action.key]){