From d80b2faae04aa068e5692f83da99be6f943da306 Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Wed, 21 Mar 2018 21:40:47 +1300 Subject: [PATCH] Fetching status on render --- src/js/components/Snapcast.js | 13 +++++++++++++ src/js/services/pusher/middleware.js | 1 - src/js/services/spotify/actions.js | 9 +++++++-- src/js/services/spotify/reducer.js | 8 +++++++- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/js/components/Snapcast.js b/src/js/components/Snapcast.js index 39451e1d..827a3f23 100755 --- a/src/js/components/Snapcast.js +++ b/src/js/components/Snapcast.js @@ -17,6 +17,18 @@ class Snapcast extends React.Component{ super(props) } + componentDidMount(){ + if (this.props.pusher_connected){ + this.props.pusherActions.getSnapcast(); + } + } + + componentWillReceiveProps(newProps){ + if (!this.props.pusher_connected && newProps.pusher_connected){ + this.props.pusherActions.getSnapcast(); + } + } + render(){ if (!this.props.snapcast){ return null; @@ -51,6 +63,7 @@ class Snapcast extends React.Component{ const mapStateToProps = (state, ownProps) => { return { + pusher_connected: state.pusher.connected, snapcast: state.pusher.snapcast } } diff --git a/src/js/services/pusher/middleware.js b/src/js/services/pusher/middleware.js index e2d5323e..38b0d313 100755 --- a/src/js/services/pusher/middleware.js +++ b/src/js/services/pusher/middleware.js @@ -188,7 +188,6 @@ const PusherMiddleware = (function(){ store.dispatch(pusherActions.getConfig()); store.dispatch(pusherActions.getVersion()); store.dispatch(pusherActions.getRadio()); - //store.dispatch(pusherActions.getSnapcast()); store.dispatch(pusherActions.getQueueMetadata()); next(action); diff --git a/src/js/services/spotify/actions.js b/src/js/services/spotify/actions.js index 24c30f0a..ec1460ea 100755 --- a/src/js/services/spotify/actions.js +++ b/src/js/services/spotify/actions.js @@ -235,9 +235,14 @@ export function refreshingToken(){ } } -export function authorizationReceived(data){ +export function tokenChanged(spotify_token){ + return { + type: 'SPOTIFY_TOKEN_CHANGED', + spotify_token: spotify_token + } +} - console.log(data); +export function authorizationReceived(data){ // This is just an alias to open the modal return uiActions.openModal('receive_authorization', data); diff --git a/src/js/services/spotify/reducer.js b/src/js/services/spotify/reducer.js index 825a80c7..57a7c270 100755 --- a/src/js/services/spotify/reducer.js +++ b/src/js/services/spotify/reducer.js @@ -65,7 +65,13 @@ export default function reducer(spotify = {}, action){ refreshing_token: false, access_token: action.data.access_token, token_expiry: action.data.token_expiry - }) + }); + + case 'SPOTIFY_TOKEN_CHANGED': + return Object.assign({}, spotify, { + access_token: action.spotify_token.access_token, + token_expiry: action.spotify_token.token_expiry + }); case 'SPOTIFY_DISCONNECTED': return Object.assign({}, spotify, { connected: false, connecting: false })