More context menu items; Callbacks for love/library toggles

This commit is contained in:
James Barnsley
2021-12-12 21:06:42 +13:00
parent 1814284596
commit 94b2eedc5b
10 changed files with 387 additions and 88 deletions

View File

@ -177,7 +177,7 @@ export function getMe() {
};
}
export function getTrack(uri) {
export function getTrack(uri, callback) {
return (dispatch, getState) => {
const selector = makeItemSelector(uri);
const track = selector(getState());
@ -200,15 +200,13 @@ export function getTrack(uri) {
.then(
(response) => {
if (response.track) {
dispatch(
coreActions.itemLoaded(
formatTrack({
uri: track.uri,
...response.track,
...track,
}),
),
);
const result = formatTrack({
uri: track.uri,
...response.track,
...track,
});
dispatch(coreActions.itemLoaded(result));
if (callback) callback(result);
}
},
);

View File

@ -754,7 +754,7 @@ export function clearAutocompleteResults(field_id = null) {
};
}
export function following(uri, method = 'GET') {
export function following(uri, method = 'GET', callback) {
return (dispatch, getState) => {
const type = uriType(uri);
let endpoint;
@ -831,6 +831,7 @@ export function following(uri, method = 'GET') {
} else {
asset.in_library = is_following;
}
if (callback) callback(asset.in_library);
if (method === 'DELETE') {
dispatch(coreActions.removeFromLibrary(`spotify:library:${type}s`, uri));