Discover moved to recommendations; URL handles context loading
This commit is contained in:
@ -498,14 +498,16 @@ export function getAutocompleteResults(field_id, query, types = ['album','artist
|
||||
.then(response => {
|
||||
var genres = []
|
||||
if (genre_included){
|
||||
var available_genres = getState().spotify.genres
|
||||
for (var i = 0; i < available_genres.length; i++){
|
||||
if (available_genres[i].includes(query)){
|
||||
var genre = available_genres[i]
|
||||
genres.push({
|
||||
name: (genre.charAt(0).toUpperCase()+genre.slice(1)).replace('-',' '),
|
||||
uri: 'spotify:genre:'+genre
|
||||
})
|
||||
var available_genres = getState().ui.genres
|
||||
if (available_genres){
|
||||
for (var i = 0; i < available_genres.length; i++){
|
||||
if (available_genres[i].includes(query)){
|
||||
var genre = available_genres[i]
|
||||
genres.push({
|
||||
name: (genre.charAt(0).toUpperCase()+genre.slice(1)).replace('-',' '),
|
||||
uri: 'spotify:genre:'+genre
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -273,6 +273,32 @@ const SpotifyMiddleware = (function(){
|
||||
});
|
||||
break
|
||||
|
||||
case 'SPOTIFY_FAVORITES_LOADED':
|
||||
if (action.artists.length > 0){
|
||||
store.dispatch({
|
||||
type: 'ARTISTS_LOADED',
|
||||
artists: action.artists
|
||||
})
|
||||
action.artists_uris = helpers.asURIs(action.artists)
|
||||
}
|
||||
if (action.tracks.length > 0){
|
||||
store.dispatch({
|
||||
type: 'TRACKS_LOADED',
|
||||
tracks: action.tracks
|
||||
})
|
||||
action.tracks_uris = helpers.asURIs(action.tracks)
|
||||
}
|
||||
next(action)
|
||||
break
|
||||
|
||||
case 'SPOTIFY_TRACK_LOADED':
|
||||
store.dispatch({
|
||||
type: 'TRACK_LOADED',
|
||||
key: action.data.uri,
|
||||
track: action.data
|
||||
});
|
||||
break
|
||||
|
||||
case 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_TRACKS':
|
||||
store.dispatch({
|
||||
type: 'SEARCH_RESULTS_LOADED',
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
|
||||
import * as helpers from '../../helpers'
|
||||
|
||||
export default function reducer(spotify = {}, action){
|
||||
switch (action.type) {
|
||||
|
||||
@ -179,9 +181,6 @@ export default function reducer(spotify = {}, action){
|
||||
if( !action.data ) return Object.assign({}, spotify, { discover: [] })
|
||||
return Object.assign({}, spotify, { discover: [...spotify.discover, ...[action.data]] })
|
||||
|
||||
case 'SPOTIFY_GENRES_LOADED':
|
||||
return Object.assign({}, spotify, {genres: action.genres})
|
||||
|
||||
case 'SPOTIFY_RECOMMENDATIONS_LOADED':
|
||||
return Object.assign(
|
||||
{},
|
||||
@ -199,8 +198,8 @@ export default function reducer(spotify = {}, action){
|
||||
{},
|
||||
spotify,
|
||||
{
|
||||
favorite_artists: action.artists,
|
||||
favorite_tracks: action.tracks
|
||||
favorite_artists: action.artists_uris,
|
||||
favorite_tracks: action.tracks_uris
|
||||
})
|
||||
|
||||
case 'SPOTIFY_AUTOCOMPLETE_LOADING':
|
||||
|
||||
@ -210,6 +210,57 @@ export function addTracksToPlaylist( uri, tracks_uris ){
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Assets loaded
|
||||
**/
|
||||
|
||||
export function albumLoaded(key,album){
|
||||
return {
|
||||
type: 'ALBUM_LOADED',
|
||||
key: key,
|
||||
album: album
|
||||
}
|
||||
}
|
||||
|
||||
export function albumsLoaded(albums){
|
||||
return {
|
||||
type: 'ALBUMS_LOADED',
|
||||
albums: albums
|
||||
}
|
||||
}
|
||||
|
||||
export function artistLoaded(key,artist){
|
||||
return {
|
||||
type: 'ARTIST_LOADED',
|
||||
key: key,
|
||||
artist: artist
|
||||
}
|
||||
}
|
||||
|
||||
export function artistsLoaded(artists){
|
||||
return {
|
||||
type: 'ALBUMS_LOADED',
|
||||
artists: artists
|
||||
}
|
||||
}
|
||||
|
||||
export function trackLoaded(key,track){
|
||||
return {
|
||||
type: 'TRACK_LOADED',
|
||||
key: key,
|
||||
track: track
|
||||
}
|
||||
}
|
||||
|
||||
export function tracksLoaded(tracks){
|
||||
return {
|
||||
type: 'TRACKS_LOADED',
|
||||
tracks: tracks
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Modal
|
||||
*
|
||||
@ -268,6 +319,7 @@ export function removeNotification(key){
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Loaders
|
||||
**/
|
||||
|
||||
@ -105,12 +105,6 @@ export default function reducer(ui = {}, action){
|
||||
|
||||
return Object.assign({}, ui, { current_tracklist: tracklist });
|
||||
|
||||
case 'SPOTIFY_TRACK_LOADED':
|
||||
if( !action.data ) return ui
|
||||
|
||||
var current_track = Object.assign({}, ui.current_track, action.data)
|
||||
return Object.assign({}, ui, { current_track: current_track });
|
||||
|
||||
case 'MOPIDY_CURRENTTLTRACK':
|
||||
if( !action.data ) return ui
|
||||
|
||||
@ -605,6 +599,14 @@ export default function reducer(ui = {}, action){
|
||||
return Object.assign({}, ui, { library_playlists: items });
|
||||
|
||||
|
||||
/**
|
||||
* Genres
|
||||
**/
|
||||
|
||||
case 'SPOTIFY_GENRES_LOADED':
|
||||
return Object.assign({}, ui, {genres: action.genres})
|
||||
|
||||
|
||||
/**
|
||||
* Search results
|
||||
**/
|
||||
|
||||
Reference in New Issue
Block a user