From b052cd09f544145c52714399ec8c577b3ce26536 Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Thu, 6 Apr 2017 21:24:21 +1200 Subject: [PATCH] Change of plan - use playlist uri and load all tracks on demand --- src/js/services/mopidy/middleware.js | 20 +++++++++++++++++++- src/js/views/Playlist.js | 3 +-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/js/services/mopidy/middleware.js b/src/js/services/mopidy/middleware.js index 1e59767c..3155e213 100755 --- a/src/js/services/mopidy/middleware.js +++ b/src/js/services/mopidy/middleware.js @@ -304,8 +304,26 @@ const MopidyMiddleware = (function(){ store.dispatch( pusherActions.stopRadio() ) } + var first_uri = action.uris[0] + + // spotify playlist and albums are handled differently + if (helpers.uriSource(first_uri) == 'spotify'){ + switch (helpers.uriType(first_uri)){ + case 'playlist': + // TODO + // trigger loading of all the playlist tracks + // once loaded, re-run play uris + // maybe create new play_album play_playlist actions to handle + // as we'd then reuse play_uris for the loaded track uris + break + + case 'album': + break + } + } + // add our first track - instruct( socket, store, 'tracklist.add', { uri: action.uris[0], at_position: 0 } ) + instruct( socket, store, 'tracklist.add', { uri: first_uri, at_position: 0 } ) .then( response => { // treat empty response as a failed lookup diff --git a/src/js/views/Playlist.js b/src/js/views/Playlist.js index 121e59fa..e023d27c 100755 --- a/src/js/views/Playlist.js +++ b/src/js/views/Playlist.js @@ -70,8 +70,7 @@ class Playlist extends React.Component{ play(){ ReactGA.event({ category: 'Playlist', action: 'Play', label: this.props.playlist.uri }) - var tracks_uris = helpers.asURIs(this.props.playlist.tracks) - this.props.mopidyActions.playURIs(tracks_uris, this.props.params.uri) + this.props.mopidyActions.playURIs([this.props.playlist.uri], this.props.params.uri) } follow(){