import React, { PropTypes } from 'react';
import FontAwesome from 'react-fontawesome';
import Icon from '../Icon';
import Thumbnail from '../Thumbnail';
import * as helpers from '../../helpers';
export default class AddToPlaylistModal extends React.Component{
constructor(props){
super(props)
if (!this.props.spotify_library_playlists){
this.props.spotifyActions.getLibraryPlaylists()
}
if (!this.props.mopidy_library_playlists){
this.props.mopidyActions.getLibraryPlaylists()
}
}
playlistSelected(playlist_uri){
this.props.coreActions.addTracksToPlaylist(playlist_uri, this.props.tracks_uris )
this.props.uiActions.closeModal()
}
render(){
if (!this.props.playlists ) return
No editable playlists
var playlists = []
for (var uri in this.props.playlists){
if (this.props.playlists[uri].can_edit ) playlists.push(this.props.playlists[uri] )
}
playlists = helpers.sortItems(playlists, 'name')
var loader = null
if (this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR && this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status == 'running'){
loader = (
)
}
return (
Add to playlist
Select playlist to add {this.props.tracks_uris.length} track{this.props.tracks_uris.length>1?'s':null} to
{playlists.length <= 0 ?
No playlists available
: null}
{
playlists.map(playlist => {
return (
this.playlistSelected(playlist.uri) }>
{ playlist.name }
- { playlist.tracks_total ? { playlist.tracks_total } tracks : null }
)
})
}
{loader}
)
}
}