From a4e935ce176b3b670c836aac24ba899066547e08 Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Tue, 22 Aug 2017 08:09:35 +1200 Subject: [PATCH] Starting radio process fired the _STARTED inadvertantly --- src/js/services/mopidy/middleware.js | 29 +++++++++++++++++++ src/js/services/pusher/middleware.js | 8 ++--- src/js/services/ui/middleware.js | 1 - .../views/discover/DiscoverRecommendations.js | 10 ++----- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/src/js/services/mopidy/middleware.js b/src/js/services/mopidy/middleware.js index 178fbca6..64ff2792 100755 --- a/src/js/services/mopidy/middleware.js +++ b/src/js/services/mopidy/middleware.js @@ -1012,6 +1012,33 @@ const MopidyMiddleware = (function(){ * ====================================================================================== **/ + case 'MOPIDY_GET_LIBRARY_ARTISTS': + instruct( socket, store, 'library.browse', { uri: 'local:directory?type=artist' } ) + .then( response => { + if (response.length <= 0) return + + var uris = helpers.arrayOf('uri',response) + + store.dispatch({ + type: 'ARTISTS_LOADED', + artists: response + }) + + store.dispatch({ + type: 'MOPIDY_LIBRARY_ARTISTS_LOADED', + uris: uris + }) + + }) + + break; + + /** + * TODO: Fetch and process library artists + * + * We can't get specific artist artwork from Mopidy. Perhaps we fetch additional + * artist metadata via LastFM? Their API limits will make this quite slow. + * case 'MOPIDY_GET_LIBRARY_ARTISTS': var last_run = store.getState().ui.processes.MOPIDY_LIBRARY_ARTISTS_PROCESSOR @@ -1062,6 +1089,8 @@ const MopidyMiddleware = (function(){ break + */ + case 'MOPIDY_GET_ARTIST': instruct( socket, store, 'library.lookup', action.data ) .then( response => { diff --git a/src/js/services/pusher/middleware.js b/src/js/services/pusher/middleware.js index cf754cf2..616945c8 100755 --- a/src/js/services/pusher/middleware.js +++ b/src/js/services/pusher/middleware.js @@ -256,9 +256,9 @@ const PusherMiddleware = (function(){ // start our UI process notification if (action.type == 'PUSHER_UPDATE_RADIO'){ - store.dispatch(uiActions.startProcess('PUSHER_RADIO', 'Updating radio')) + store.dispatch(uiActions.startProcess('PUSHER_RADIO_PROCESS', 'Updating radio')) } else { - store.dispatch(uiActions.startProcess('PUSHER_RADIO', 'Starting radio')) + store.dispatch(uiActions.startProcess('PUSHER_RADIO_PROCESS', 'Starting radio')) } var data = { @@ -287,7 +287,7 @@ const PusherMiddleware = (function(){ if (response.status == 0){ store.dispatch(uiActions.createNotification(response.message, 'bad')) } - store.dispatch(uiActions.stopProcess('PUSHER_RADIO')) + store.dispatch(uiActions.processFinished('PUSHER_RADIO_PROCESS')) }) break @@ -307,7 +307,7 @@ const PusherMiddleware = (function(){ case 'PUSHER_RADIO_STARTED': case 'PUSHER_RADIO_CHANGED': - if (action.radio.enabled && store.getState().spotify.enabled){ + if (action.radio && action.radio.enabled && store.getState().spotify.enabled){ store.dispatch(spotifyActions.resolveRadioSeeds(action.radio)) } next(action) diff --git a/src/js/services/ui/middleware.js b/src/js/services/ui/middleware.js index 0bf2e7bb..f1ced88b 100755 --- a/src/js/services/ui/middleware.js +++ b/src/js/services/ui/middleware.js @@ -138,7 +138,6 @@ const UIMiddleware = (function(){ type: action.key, data: store.getState().ui.processes[action.key].data }) - console.log('resuming',store.getState().ui.processes[action.key].data) next(action) break diff --git a/src/js/views/discover/DiscoverRecommendations.js b/src/js/views/discover/DiscoverRecommendations.js index aafa56d3..801e4448 100755 --- a/src/js/views/discover/DiscoverRecommendations.js +++ b/src/js/views/discover/DiscoverRecommendations.js @@ -39,11 +39,7 @@ class Discover extends React.Component{ // BAU } else { - if (this.props.authorized){ - this.props.spotifyActions.getFavorites() - } else { - this.getRecommendations() - } + this.props.spotifyActions.getFavorites() } } @@ -240,8 +236,8 @@ class Discover extends React.Component{

Explore new music

- Add seeds below to build your sound. Let's start with - {this.props.authorized ? " two of your favorite artists" : " the chill genre"}. + Add seeds below to build your sound + {!this.props.params.seeds ? ". Let's start with two of your favorite artists." : null}

{this.renderSeeds()}