Radio seeds now showing in 'Added from'

This commit is contained in:
James Barnsley
2019-10-03 09:21:38 +13:00
parent e9ccd8f5f5
commit d1d2ee5ca3
7 changed files with 200 additions and 190 deletions

View File

@ -11,7 +11,7 @@ const geniusActions = require('../genius/actions');
const spotifyActions = require('../spotify/actions');
const snapcastActions = require('../snapcast/actions');
const PusherMiddleware = (function () {
const PusherMiddleware = (function () {
// container for the actual websocket
let socket = null;
@ -19,7 +19,7 @@ const PusherMiddleware = (function () {
const deferredRequests = [];
// handle all manner of socket messages
const handleMessage = (ws, store, message) => {
const handleMessage = (ws, store, message) => {
if (store.getState().ui.log_pusher) {
console.log('Pusher log (incoming)', message);
}
@ -35,9 +35,9 @@ const PusherMiddleware = (function () {
}
// Response with request_id
if (id) {
if (id) {
// Response matches a pending request
if (deferredRequests[id] !== undefined) {
if (deferredRequests[id] !== undefined) {
store.dispatch(uiActions.stopLoading(id));
// Response is an error
@ -58,15 +58,15 @@ const PusherMiddleware = (function () {
}
// General broadcast received
} else {
} else {
// Broadcast of an error
if (message.error !== undefined) {
store.dispatch(coreActions.handleException(
`Pusher: ${message.error.message}`,
message,
(message.error.data !== undefined && message.error.data.description !== undefined ? message.error.data.description : null),
));
} else {
));
} else {
switch (message.method) {
case 'connection_added':
store.dispatch(pusherActions.connectionAdded(message.params.connection));
@ -115,8 +115,8 @@ const PusherMiddleware = (function () {
break;
case 'local_scan_finished':
store.dispatch(uiActions.processFinished('local_scan'));
store.dispatch(uiActions.createNotification({
key: 'local_scan', type: 'info', content: 'Local scan finished', description: message.params.output,
store.dispatch(uiActions.createNotification({
key: 'local_scan', type: 'info', content: 'Local scan finished', description: message.params.output,
}));
break;
case 'local_scan_error':
@ -168,7 +168,7 @@ const PusherMiddleware = (function () {
}
};
const request = (store, method, params = null) => new Promise((resolve, reject) => {
const request = (store, method, params = null) => new Promise((resolve, reject) => {
const id = helpers.generateGuid();
const message = {
jsonrpc: '2.0',
@ -210,7 +210,7 @@ const PusherMiddleware = (function () {
return (store) => (next) => (action) => {
const { pusher } = store.getState();
switch (action.type) {
switch (action.type) {
case 'PUSHER_CONNECT':
if (socket != null) {
socket.close();
@ -542,6 +542,10 @@ const PusherMiddleware = (function () {
type: 'PUSHER_RADIO_LOADED',
radio: response.radio,
});
if (response.radio.enabled) {
store.dispatch(spotifyActions.resolveRadioSeeds(response.radio));
}
},
(error) => {
store.dispatch(coreActions.handleException(
@ -555,8 +559,8 @@ const PusherMiddleware = (function () {
case 'PUSHER_START_RADIO':
case 'PUSHER_UPDATE_RADIO':
if (store.getState().ui.allow_reporting) {
ReactGA.event({ category: 'Pusher', action: 'Start radio', label: action.uris.join() });
}
ReactGA.event({ category: 'Pusher', action: 'Start radio', label: action.uris.join() });
}
// start our UI process notification
if (action.type == 'PUSHER_UPDATE_RADIO') {
@ -776,7 +780,7 @@ const PusherMiddleware = (function () {
default:
return next(action);
}
};
};
}());
export default PusherMiddleware;