From 42715fc8a492327daec28d6b638a631bc76a2415 Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Tue, 4 Apr 2017 16:51:22 +1200 Subject: [PATCH] Local images proxy replace --- src/js/helpers.js | 10 +++--- src/js/services/ui/middleware.js | 52 ++++++++++++++++++++++++-------- 2 files changed, 45 insertions(+), 17 deletions(-) diff --git a/src/js/helpers.js b/src/js/helpers.js index d830cb8e..e282c8c9 100755 --- a/src/js/helpers.js +++ b/src/js/helpers.js @@ -57,13 +57,13 @@ export let sizedImages = function( images ){ } } - if( !sizes.medium ){ - if( sizes.large ) sizes.medium = sizes.large - else if( sizes.huge ) sizes.medium = sizes.huge + if (!sizes.medium){ + if (sizes.large) sizes.medium = sizes.large + else if (sizes.huge) sizes.medium = sizes.huge else sizes.medium = sizes.small } - if( !sizes.large ) sizes.large = sizes.medium; - if( !sizes.huge ) sizes.huge = sizes.large; + if (!sizes.large) sizes.large = sizes.medium; + if (!sizes.huge) sizes.huge = sizes.large; return sizes; } diff --git a/src/js/services/ui/middleware.js b/src/js/services/ui/middleware.js index b8b00584..fb2fae3a 100755 --- a/src/js/services/ui/middleware.js +++ b/src/js/services/ui/middleware.js @@ -49,15 +49,49 @@ const UIMiddleware = (function(){ next(action) break - case 'MOPIDY_ALBUM_LOADED': - case 'SPOTIFY_ALBUM_LOADED': - if (action.data) ReactGA.event({ category: 'Album', action: 'Load', label: action.data.uri }) + case 'ALBUM_LOADED': + if (action.data) ReactGA.event({ category: 'Album', action: 'Load', label: action.album.uri }) + + // make sure our images use mopidy host:port + if (action.album.images && action.album.images.length > 0){ + var images = Object.assign([], action.album.images) + for (var i = 0; i < images.length; i++){ + if (typeof(images[i]) === 'string' && images[i].startsWith('/images/')){ + images[i] = '//'+store.getState().mopidy.host+':'+store.getState().mopidy.port+images[i] + } + } + action.album.images = images + } + next(action) break - case 'MOPIDY_ARTIST_LOADED': - case 'SPOTIFY_ARTIST_LOADED': - if (action.data) ReactGA.event({ category: 'Artist', action: 'Load', label: action.data.uri }) + case 'ALBUMS_LOADED': + if (action.data) ReactGA.event({ category: 'Albums', action: 'Load', label: action.albums.length+' items' }) + + for (var i = 0; i < action.albums.length; i++){ + // make sure our images use mopidy host:port + if (action.albums[i].images && action.albums[i].images.length > 0){ + var images = Object.assign([], action.albums[i].images) + for (var j = 0; j < images.length; j++){ + if (typeof(images[j]) === 'string' && images[j].startsWith('/images/')){ + images[j] = '//'+store.getState().mopidy.host+':'+store.getState().mopidy.port+images[j] + } + } + action.albums[i].images = images + } + } + + next(action) + break + + case 'PLAYLIST_LOADED': + if (action.data) ReactGA.event({ category: 'Playlist', action: 'Load', label: action.playlist.uri }) + next(action) + break + + case 'ARTIST_LOADED': + if (action.data) ReactGA.event({ category: 'Artist', action: 'Load', label: action.artist.uri }) next(action) break @@ -71,12 +105,6 @@ const UIMiddleware = (function(){ next(action) break - case 'MOPIDY_PLAYLIST_LOADED': - case 'SPOTIFY_PLAYLIST_LOADED': - if (action.data) ReactGA.event({ category: 'Playlist', action: 'Load', label: action.data.uri }) - next(action) - break - case 'MOPIDY_SAVE_PLAYLIST': case 'SPOTIFY_SAVE_PLAYLIST': ReactGA.event({ category: 'Playlist', action: 'Save', label: action.key })