spotube/lib/services/mutations/album.dart
2023-02-24 13:56:05 +06:00

26 lines
692 B
Dart

import 'package:fl_query/fl_query.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:spotube/hooks/use_spotify_mutation.dart';
class AlbumMutations {
Mutation<bool, dynamic, bool> useToggleFavorite(
WidgetRef ref,
String albumId, {
List<String>? refreshQueries,
}) {
return useSpotifyMutation<bool, dynamic, bool, dynamic>(
"toggle-album-like/$albumId",
(isLiked, spotify) async {
if (isLiked) {
await spotify.me.removeAlbums([albumId]);
} else {
await spotify.me.saveAlbums([albumId]);
}
return !isLiked;
},
ref: ref,
refreshQueries: refreshQueries,
);
}
}