Following moved to new component
This commit is contained in:
@ -10,6 +10,7 @@ import Thumbnail from '../components/Thumbnail'
|
||||
import Parallax from '../components/Parallax'
|
||||
import ArtistSentence from '../components/ArtistSentence'
|
||||
import ArtistGrid from '../components/ArtistGrid'
|
||||
import FollowButton from '../components/FollowButton'
|
||||
import Dater from '../components/Dater'
|
||||
import LazyLoadListener from '../components/LazyLoadListener'
|
||||
|
||||
@ -63,26 +64,6 @@ class Album extends React.Component{
|
||||
this.props.mopidyActions.playURIs( tracks_uris )
|
||||
}
|
||||
|
||||
follow(){
|
||||
this.props.spotifyActions.toggleAlbumInLibrary( this.props.params.uri, 'PUT' )
|
||||
}
|
||||
|
||||
// TODO: Once unfollowing occurs, remove playlist from global playlists list
|
||||
unfollow(){
|
||||
this.props.spotifyActions.toggleAlbumInLibrary( this.props.params.uri, 'DELETE' )
|
||||
}
|
||||
|
||||
renderExtraButtons(){
|
||||
switch( helpers.uriSource( this.props.params.uri ) ){
|
||||
case 'spotify':
|
||||
if( !this.props.spotify_authorized ) return null
|
||||
if( this.props.album.following ){
|
||||
return <button className="large tertiary" onClick={ e => this.unfollow() }>Remove from library</button>
|
||||
}
|
||||
return <button className="large tertiary" onClick={ e => this.follow() }>Add to library</button>
|
||||
}
|
||||
}
|
||||
|
||||
render(){
|
||||
if( !this.props.album ) return null
|
||||
|
||||
@ -94,7 +75,7 @@ class Album extends React.Component{
|
||||
|
||||
<div className="actions">
|
||||
<button className="large primary" onClick={ e => this.play() }>Play</button>
|
||||
{ this.renderExtraButtons() }
|
||||
<FollowButton uri={this.props.params.uri} addText="Add to library" removeText="Remove from library" />
|
||||
</div>
|
||||
|
||||
<ul className="details">
|
||||
|
||||
@ -3,7 +3,6 @@ import React, { PropTypes } from 'react'
|
||||
import { connect } from 'react-redux'
|
||||
import { bindActionCreators } from 'redux'
|
||||
import FontAwesome from 'react-fontawesome'
|
||||
let helpers = require('../helpers.js')
|
||||
|
||||
import LazyLoadListener from '../components/LazyLoadListener'
|
||||
import Header from '../components/Header'
|
||||
@ -12,7 +11,9 @@ import AlbumGrid from '../components/AlbumGrid'
|
||||
import Thumbnail from '../components/Thumbnail'
|
||||
import Parallax from '../components/Parallax'
|
||||
import ArtistList from '../components/ArtistList'
|
||||
import FollowButton from '../components/FollowButton'
|
||||
|
||||
import * as helpers from '../helpers'
|
||||
import * as mopidyActions from '../services/mopidy/actions'
|
||||
import * as lastfmActions from '../services/lastfm/actions'
|
||||
import * as spotifyActions from '../services/spotify/actions'
|
||||
@ -55,25 +56,6 @@ class Artist extends React.Component{
|
||||
alert('Yet to be implemented')
|
||||
}
|
||||
|
||||
follow(){
|
||||
this.props.spotifyActions.toggleArtistInLibrary( this.props.params.uri, 'PUT' )
|
||||
}
|
||||
|
||||
unfollow(){
|
||||
this.props.spotifyActions.toggleArtistInLibrary( this.props.params.uri, 'DELETE' )
|
||||
}
|
||||
|
||||
renderExtraButtons(){
|
||||
switch( helpers.uriSource( this.props.params.uri ) ){
|
||||
case 'spotify':
|
||||
if( !this.props.spotify_authorized ) return null
|
||||
if( this.props.artist.following ){
|
||||
return <button className="large tertiary" onClick={ e => this.unfollow() }>Unfollow</button>
|
||||
}
|
||||
return <button className="large tertiary" onClick={ e => this.follow() }>Follow</button>
|
||||
}
|
||||
}
|
||||
|
||||
render(){
|
||||
if( !this.props.artist ) return null
|
||||
var scheme = helpers.uriSource( this.props.params.uri );
|
||||
@ -90,7 +72,7 @@ class Artist extends React.Component{
|
||||
|
||||
<div className="actions">
|
||||
<button className="large primary" onClick={ e => this.play() }>Start radio</button>
|
||||
{ this.renderExtraButtons() }
|
||||
<FollowButton uri={this.props.params.uri} removeText="Unfollow" addText="Follow" />
|
||||
</div>
|
||||
|
||||
<ul className="details">
|
||||
|
||||
@ -4,14 +4,15 @@ import { connect } from 'react-redux'
|
||||
import { bindActionCreators } from 'redux'
|
||||
import { Link } from 'react-router'
|
||||
import FontAwesome from 'react-fontawesome'
|
||||
import * as helpers from '../helpers'
|
||||
|
||||
import TrackList from '../components/TrackList'
|
||||
import Thumbnail from '../components/Thumbnail'
|
||||
import Dater from '../components/Dater'
|
||||
import ConfirmationButton from '../components/ConfirmationButton'
|
||||
import LazyLoadListener from '../components/LazyLoadListener'
|
||||
import FollowButton from '../components/FollowButton'
|
||||
|
||||
import * as helpers from '../helpers'
|
||||
import * as uiActions from '../services/ui/actions'
|
||||
import * as mopidyActions from '../services/mopidy/actions'
|
||||
import * as spotifyActions from '../services/spotify/actions'
|
||||
@ -101,10 +102,8 @@ class Playlist extends React.Component{
|
||||
<ConfirmationButton className="large tertiary" content="Delete" confirmingContent="Are you sure?" onConfirm={ e => this.unfollow() } />
|
||||
</span>
|
||||
)
|
||||
}else if( this.props.playlist.following ){
|
||||
return <button className="large tertiary" onClick={ e => this.unfollow() }>Unfollow</button>
|
||||
}
|
||||
return <button className="large tertiary" onClick={ e => this.follow() }>Follow</button>
|
||||
return <FollowButton uri={this.props.params.uri} addText="Add to library" removeText="Remove from library" />
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user