@@ -178,7 +189,7 @@ class Debug extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
connection_id: state.pusher.connection_id,
- emulate_touch: (state.ui.emulate_touch ? state.ui.emulate_touch : false),
+ access_token: (state.spotify.access_token ? state.spotify.access_token : ''),
log_actions: (state.ui.log_actions ? state.ui.log_actions : false),
log_pusher: (state.ui.log_pusher ? state.ui.log_pusher : false),
log_mopidy: (state.ui.log_mopidy ? state.ui.log_mopidy : false),
diff --git a/src/js/views/Playlist.js b/src/js/views/Playlist.js
index ed127bc8..c32bbd17 100755
--- a/src/js/views/Playlist.js
+++ b/src/js/views/Playlist.js
@@ -145,6 +145,16 @@ class Playlist extends React.Component{
}
render(){
+ /*
+ if (helpers.isLoading(this.props.load_queue,['spotify_users/'+ helpers.getFromUri('userid',this.props.params.uri)+'/playlists?'])){
+ return (
+
+ )
+ }
+ */
+
var scheme = helpers.uriSource( this.props.params.uri )
var context = 'playlist'
@@ -224,6 +234,7 @@ const mapStateToProps = (state, ownProps) => {
var uri = ownProps.params.uri
uri = uri.replace(' ','%20')
return {
+ load_queue: state.ui.load_queue,
playlist: (state.ui.playlists && typeof(state.ui.playlists[uri]) !== 'undefined' ? state.ui.playlists[uri] : false ),
library_playlists: state.ui.library_playlists,
mopidy_connected: state.mopidy.connected,
diff --git a/src/js/views/discover/Discover.js b/src/js/views/discover/Discover.js
index 81051a93..1847b27c 100755
--- a/src/js/views/discover/Discover.js
+++ b/src/js/views/discover/Discover.js
@@ -11,7 +11,6 @@ import AlbumGrid from '../../components/AlbumGrid'
import TrackList from '../../components/TrackList'
import Parallax from '../../components/Parallax'
import AddSeedField from '../../components/AddSeedField'
-
import * as helpers from '../../helpers'
import * as spotifyActions from '../../services/spotify/actions'
@@ -100,8 +99,8 @@ class Discover extends React.Component{
)
}
- renderResults(){
- if (helpers.isLoading(this.props.load_queue, 'spotify_recommendations')){
+ renderResults(){
+ if (helpers.isLoading(this.props.load_queue,['spotify_browse/recommendations'])){
return (
diff --git a/src/js/views/discover/DiscoverCategories.js b/src/js/views/discover/DiscoverCategories.js
index a9dff3ad..9f95ff62 100755
--- a/src/js/views/discover/DiscoverCategories.js
+++ b/src/js/views/discover/DiscoverCategories.js
@@ -5,7 +5,7 @@ import { bindActionCreators } from 'redux'
import Header from '../../components/Header'
import CategoryGrid from '../../components/CategoryGrid'
-
+import * as helpers from '../../helpers'
import * as spotifyActions from '../../services/spotify/actions'
class DiscoverCategories extends React.Component{
@@ -19,13 +19,24 @@ class DiscoverCategories extends React.Component{
}
render(){
- if (!this.props.categories) return null
+ if (helpers.isLoading(this.props.load_queue,['spotify_browse/categories'])){
+ return (
+
+ )
+ }
// convert categories object into simple array
var categories = []
- for (var key in this.props.categories){
- if (this.props.categories.hasOwnProperty(key)){
- categories.push(this.props.categories[key])
+ if (this.props.categories){
+ for (var key in this.props.categories){
+ if (this.props.categories.hasOwnProperty(key)){
+ categories.push(this.props.categories[key])
+ }
}
}
@@ -49,7 +60,8 @@ class DiscoverCategories extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
- categories: state.ui.categories
+ categories: state.ui.categories,
+ load_queue: state.ui.load_queue
}
}
diff --git a/src/js/views/discover/DiscoverCategory.js b/src/js/views/discover/DiscoverCategory.js
index a7ed4ec4..83b66e72 100755
--- a/src/js/views/discover/DiscoverCategory.js
+++ b/src/js/views/discover/DiscoverCategory.js
@@ -6,7 +6,7 @@ import { bindActionCreators } from 'redux'
import Header from '../../components/Header'
import PlaylistGrid from '../../components/PlaylistGrid'
import LazyLoadListener from '../../components/LazyLoadListener'
-
+import * as helpers from '../../helpers'
import * as spotifyActions from '../../services/spotify/actions'
class DiscoverCategory extends React.Component{
@@ -34,7 +34,20 @@ class DiscoverCategory extends React.Component{
}
render(){
- if (!this.props.category) return null
+ if (helpers.isLoading(this.props.load_queue,['spotify_browse/categories/'])){
+ return (
+
+ )
+ }
+
+ if (!this.props.category){
+ return null
+ }
var playlists = []
if (this.props.category.playlists_uris){
@@ -67,6 +80,7 @@ class DiscoverCategory extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
playlists: state.ui.playlists,
category: (state.ui.categories && typeof(state.ui.categories['category:'+ownProps.params.id]) !== 'undefined' ? state.ui.categories['category:'+ownProps.params.id] : false )
}
diff --git a/src/js/views/discover/DiscoverFeatured.js b/src/js/views/discover/DiscoverFeatured.js
index afa19248..1ec9c308 100755
--- a/src/js/views/discover/DiscoverFeatured.js
+++ b/src/js/views/discover/DiscoverFeatured.js
@@ -5,7 +5,7 @@ import { bindActionCreators } from 'redux'
import Header from '../../components/Header'
import PlaylistGrid from '../../components/PlaylistGrid'
-
+import * as helpers from '../../helpers'
import * as spotifyActions from '../../services/spotify/actions'
class DiscoverFeatured extends React.Component{
@@ -20,6 +20,16 @@ class DiscoverFeatured extends React.Component{
}
render(){
+ if (helpers.isLoading(this.props.load_queue,['spotify_browse/featured-playlists'])){
+ return (
+
+ )
+ }
var playlists = []
if (this.props.featured_playlists){
@@ -51,6 +61,7 @@ class DiscoverFeatured extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
featured_playlists: state.spotify.featured_playlists,
playlists: state.ui.playlists
}
diff --git a/src/js/views/discover/DiscoverNewReleases.js b/src/js/views/discover/DiscoverNewReleases.js
index fe63e323..e4d09331 100755
--- a/src/js/views/discover/DiscoverNewReleases.js
+++ b/src/js/views/discover/DiscoverNewReleases.js
@@ -6,7 +6,7 @@ import { bindActionCreators } from 'redux'
import Header from '../../components/Header'
import AlbumGrid from '../../components/AlbumGrid'
import LazyLoadListener from '../../components/LazyLoadListener'
-
+import * as helpers from '../../helpers'
import * as uiActions from '../../services/ui/actions'
import * as spotifyActions from '../../services/spotify/actions'
@@ -25,6 +25,16 @@ class DiscoverNewReleases extends React.Component{
}
render(){
+ if (helpers.isLoading(this.props.load_queue,['spotify_browse/new-releases'])){
+ return (
+
+ )
+ }
var albums = []
if (this.props.new_releases){
@@ -57,6 +67,7 @@ class DiscoverNewReleases extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
albums: state.ui.albums,
new_releases: state.ui.new_releases,
new_releases_more: state.ui.new_releases_more,
diff --git a/src/js/views/library/LibraryAlbums.js b/src/js/views/library/LibraryAlbums.js
index 7765313e..97959411 100755
--- a/src/js/views/library/LibraryAlbums.js
+++ b/src/js/views/library/LibraryAlbums.js
@@ -128,6 +128,17 @@ class LibraryAlbums extends React.Component{
}
render(){
+ if (helpers.isLoading(this.props.load_queue,['spotify_me/albums'])){
+ return (
+
+ )
+ }
+
var albums = []
if (this.props.library_albums && this.props.albums){
@@ -207,6 +218,7 @@ class LibraryAlbums extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
view: state.ui.library_albums_view,
albums: state.ui.albums,
sort: (state.ui.library_albums_sort ? state.ui.library_albums_sort : 'name'),
diff --git a/src/js/views/library/LibraryArtists.js b/src/js/views/library/LibraryArtists.js
index daa10ce5..97c5c774 100755
--- a/src/js/views/library/LibraryArtists.js
+++ b/src/js/views/library/LibraryArtists.js
@@ -90,6 +90,16 @@ class LibraryArtists extends React.Component{
}
render(){
+ if (helpers.isLoading(this.props.load_queue,['spotify_me/following?type=artist'])){
+ return (
+
+ )
+ }
var artists = []
if (this.props.library_artists && this.props.artists){
@@ -157,6 +167,7 @@ class LibraryArtists extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
artists: state.ui.artists,
sort: (state.ui.library_artists_sort ? state.ui.library_artists_sort : 'name'),
sort_reverse: (state.ui.library_artists_sort_reverse ? true : false),
diff --git a/src/js/views/library/LibraryLocalAlbums.js b/src/js/views/library/LibraryLocalAlbums.js
index f92297aa..ba67407e 100755
--- a/src/js/views/library/LibraryLocalAlbums.js
+++ b/src/js/views/library/LibraryLocalAlbums.js
@@ -171,6 +171,7 @@ class LibraryLocalAlbums extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
mopidy_connected: state.mopidy.connected,
albums: state.ui.albums,
local_albums: state.ui.local_albums,
diff --git a/src/js/views/library/LibraryLocalArtists.js b/src/js/views/library/LibraryLocalArtists.js
index 025c1500..74297044 100755
--- a/src/js/views/library/LibraryLocalArtists.js
+++ b/src/js/views/library/LibraryLocalArtists.js
@@ -80,6 +80,7 @@ class LibraryLocalArtists extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
mopidy_connected: state.mopidy.connected,
local_artists: state.ui.local_artists,
artists: state.ui.artists
diff --git a/src/js/views/library/LibraryLocalDirectory.js b/src/js/views/library/LibraryLocalDirectory.js
index 10afa676..dd71bcd5 100755
--- a/src/js/views/library/LibraryLocalDirectory.js
+++ b/src/js/views/library/LibraryLocalDirectory.js
@@ -102,6 +102,7 @@ class LibraryLocalDirectory extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
mopidy_connected: state.mopidy.connected,
directory: state.mopidy.directory
}
diff --git a/src/js/views/library/LibraryPlaylists.js b/src/js/views/library/LibraryPlaylists.js
index 42f2043f..c3ec0c8a 100755
--- a/src/js/views/library/LibraryPlaylists.js
+++ b/src/js/views/library/LibraryPlaylists.js
@@ -43,7 +43,17 @@ class LibraryPlaylists extends React.Component{
}
renderView(){
- if( !this.props.library_playlists || !this.props.playlists ) return null
+ if (helpers.isLoading(this.props.load_queue,['spotify_me/playlists'])){
+ return (
+
+ )
+ }
+
+ if (!this.props.library_playlists || !this.props.playlists ){
+ return null
+ }
var playlists = []
for (var i = 0; i < this.props.library_playlists.length; i++){
@@ -166,6 +176,7 @@ class LibraryPlaylists extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
view: state.ui.library_playlists_view,
sort: (state.ui.library_playlists_sort ? state.ui.library_playlists_sort : 'name'),
sort_reverse: (state.ui.library_playlists_sort_reverse ? true : false),
diff --git a/src/js/views/library/LibraryTracks.js b/src/js/views/library/LibraryTracks.js
index 544e4672..4a53536b 100755
--- a/src/js/views/library/LibraryTracks.js
+++ b/src/js/views/library/LibraryTracks.js
@@ -8,6 +8,7 @@ import TrackList from '../../components/TrackList'
import Header from '../../components/Header'
import LazyLoadListener from '../../components/LazyLoadListener'
+import * as helpers from '../../helpers'
import * as mopidyActions from '../../services/mopidy/actions'
import * as spotifyActions from '../../services/spotify/actions'
@@ -27,6 +28,17 @@ class LibraryTracks extends React.Component{
}
render(){
+ if (helpers.isLoading(this.props.load_queue,['spotify_me/tracks'])){
+ return (
+
+ )
+ }
+
return (
@@ -48,6 +60,7 @@ class LibraryTracks extends React.Component{
const mapStateToProps = (state, ownProps) => {
return {
+ load_queue: state.ui.load_queue,
tracks: state.spotify.library_tracks,
tracks_more: state.spotify.library_tracks_more
}