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}
)
}
}