2016-10-16 12:37:37 +13:00
|
|
|
|
|
|
|
|
export default function reducer(spotify = {}, action){
|
|
|
|
|
switch (action.type) {
|
|
|
|
|
|
|
|
|
|
case 'SPOTIFY_CONNECTING':
|
|
|
|
|
return Object.assign({}, spotify, { connected: false, connecting: true });
|
|
|
|
|
|
2016-10-17 10:39:11 +13:00
|
|
|
case 'SPOTIFY_START_AUTHORIZATION':
|
2016-10-16 12:37:37 +13:00
|
|
|
return Object.assign({}, spotify, { authorizing: true });
|
|
|
|
|
|
2016-10-19 14:09:34 +13:00
|
|
|
case 'SPOTIFY_AUTHORIZATION_COMPLETE':
|
2016-10-18 16:53:33 +13:00
|
|
|
return Object.assign({}, spotify, {
|
|
|
|
|
authorizing: false,
|
|
|
|
|
authorized: true,
|
2016-10-19 14:09:34 +13:00
|
|
|
authorization: action.data,
|
|
|
|
|
me: action.data.me,
|
2016-10-18 16:53:33 +13:00
|
|
|
token: action.data.access_token
|
|
|
|
|
});
|
2016-10-17 10:39:11 +13:00
|
|
|
|
|
|
|
|
case 'SPOTIFY_REMOVE_AUTHORIZATION':
|
2016-10-18 16:53:33 +13:00
|
|
|
return Object.assign({}, spotify, {
|
|
|
|
|
authorizing: false,
|
|
|
|
|
authorization: false,
|
2016-10-19 14:09:34 +13:00
|
|
|
authorized: false,
|
|
|
|
|
token: false,
|
|
|
|
|
me: false
|
2016-10-18 16:53:33 +13:00
|
|
|
});
|
2016-10-17 10:39:11 +13:00
|
|
|
|
2016-10-16 12:37:37 +13:00
|
|
|
case 'SPOTIFY_CONNECTED':
|
|
|
|
|
return Object.assign({}, spotify, { connected: true, connecting: false });
|
|
|
|
|
|
|
|
|
|
case 'SPOTIFY_DISCONNECTED':
|
|
|
|
|
return Object.assign({}, spotify, { connected: false, connecting: false });
|
|
|
|
|
|
2016-10-16 13:28:21 +13:00
|
|
|
case 'SPOTIFY_ALBUM_LOADED':
|
|
|
|
|
return Object.assign({}, spotify, { album: action.data });
|
|
|
|
|
|
2016-10-17 10:39:11 +13:00
|
|
|
case 'SPOTIFY_ARTIST_LOADED':
|
|
|
|
|
return Object.assign({}, spotify, { artist: action.data });
|
|
|
|
|
|
2016-10-18 21:57:29 +13:00
|
|
|
case 'SPOTIFY_ARTIST_ALBUMS_LOADED':
|
|
|
|
|
return Object.assign({}, spotify, { artist_albums: action.data });
|
|
|
|
|
|
2016-10-17 10:39:11 +13:00
|
|
|
case 'SPOTIFY_LIBRARY_ARTISTS_LOADED':
|
2016-10-17 14:27:48 +13:00
|
|
|
return Object.assign({}, spotify, { libraryArtists: action.data });
|
2016-10-17 10:39:11 +13:00
|
|
|
|
2016-10-20 21:38:01 +13:00
|
|
|
case 'SPOTIFY_LIBRARY_ALBUMS_LOADED':
|
|
|
|
|
return Object.assign({}, spotify, { libraryAlbums: action.data });
|
|
|
|
|
|
2016-10-16 12:37:37 +13:00
|
|
|
default:
|
|
|
|
|
return spotify
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|