Task names; Fixing following button and adding notifications
This commit is contained in:
@ -9,7 +9,7 @@ import * as helpers from '../../helpers';
|
||||
import * as uiActions from '../../services/ui/actions';
|
||||
import * as spotifyActions from '../../services/spotify/actions';
|
||||
|
||||
class FollowButton extends React.Component {
|
||||
class FollowButton extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
}
|
||||
@ -37,7 +37,7 @@ class FollowButton extends React.Component {
|
||||
} if (this.props.is_following === true) {
|
||||
return <button className={`${className} button--destructive`} onClick={(e) => this.remove()}>{this.props.removeText}</button>;
|
||||
}
|
||||
return <button className={`${className} button--default`} onClick={(e) => this.add()}>{this.props.addText}</button>;
|
||||
return <button className={`${className} button--default`} onClick={(e) => this.add()}>{this.props.addText}</button>;
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,4 +51,4 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
spotifyActions: bindActionCreators(spotifyActions, dispatch),
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(FollowButton);
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(FollowButton);
|
||||
|
||||
@ -760,12 +760,14 @@ export function following(uri, method = 'GET') {
|
||||
endpoint = `playlists/${helpers.getFromUri('playlistid', uri)}/followers`;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
request(dispatch, getState, endpoint, method, data)
|
||||
.then(
|
||||
(response) => {
|
||||
if (response) {
|
||||
if (Array.isArray(response) && response.length > 0) {
|
||||
is_following = response[0];
|
||||
} else {
|
||||
is_following = is_following;
|
||||
@ -776,6 +778,14 @@ export function following(uri, method = 'GET') {
|
||||
key: uri,
|
||||
in_library: is_following,
|
||||
});
|
||||
|
||||
if (method !== 'GET') {
|
||||
dispatch(uiActions.createNotification(
|
||||
{
|
||||
message: is_following ? `Added ${asset_name} to library` : `Removed ${asset_name} from library`,
|
||||
}
|
||||
));
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
dispatch(coreActions.handleException(
|
||||
@ -1047,7 +1057,7 @@ export function getArtist(uri, full = false) {
|
||||
// Start with an empty object
|
||||
// As each requests completes, they'll add to this object
|
||||
const artist = {};
|
||||
|
||||
|
||||
// We need our artist, obviously
|
||||
const requests = [
|
||||
request(dispatch, getState, `artists/${helpers.getFromUri('artistid', uri)}`, 'GET', false, true)
|
||||
@ -1349,30 +1359,6 @@ export function getAlbum(uri) {
|
||||
};
|
||||
}
|
||||
|
||||
export function toggleAlbumInLibrary(uri, method) {
|
||||
if (method == 'PUT') var new_state = 1;
|
||||
if (method == 'DELETE') var new_state = 0;
|
||||
|
||||
return (dispatch, getState) => {
|
||||
request(dispatch, getState, `me/albums?ids=${helpers.getFromUri('albumid', uri)}`, method)
|
||||
.then(
|
||||
(response) => {
|
||||
dispatch({
|
||||
type: 'SPOTIFY_ALBUM_FOLLOWING',
|
||||
key: uri,
|
||||
data: new_state,
|
||||
});
|
||||
},
|
||||
(error) => {
|
||||
dispatch(coreActions.handleException(
|
||||
'Could not add/remove library album',
|
||||
error,
|
||||
));
|
||||
},
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* =============================================================== PLAYLIST(S) ==========
|
||||
@ -1710,30 +1696,6 @@ export function getAllPlaylistTracksProcessor(data) {
|
||||
};
|
||||
}
|
||||
|
||||
export function toggleFollowingPlaylist(uri, method) {
|
||||
if (method == 'PUT') var new_state = 1;
|
||||
if (method == 'DELETE') var new_state = 0;
|
||||
|
||||
return (dispatch, getState) => {
|
||||
request(dispatch, getState, `playlists/${helpers.getFromUri('playlistid', uri)}/followers`, method)
|
||||
.then(
|
||||
(response) => {
|
||||
dispatch({
|
||||
type: 'SPOTIFY_PLAYLIST_FOLLOWING_LOADED',
|
||||
key: uri,
|
||||
is_following: new_state,
|
||||
});
|
||||
},
|
||||
(error) => {
|
||||
dispatch(coreActions.handleException(
|
||||
'Could not add/remove library playlist',
|
||||
error,
|
||||
));
|
||||
},
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
export function addTracksToPlaylist(uri, tracks_uris) {
|
||||
return (dispatch, getState) => {
|
||||
request(dispatch, getState, `playlists/${helpers.getFromUri('playlistid', uri)}/tracks`, 'POST', { uris: tracks_uris })
|
||||
|
||||
Reference in New Issue
Block a user