@@ -8,7 +8,9 @@ import 'package:spotify/spotify.dart';
8
8
import 'package:spotube/hooks/use_palette_color.dart' ;
9
9
import 'package:spotube/provider/auth_provider.dart' ;
10
10
import 'package:spotube/provider/spotify_provider.dart' ;
11
- import 'package:spotube/provider/SpotifyRequests.dart' ;
11
+ import 'package:spotube/services/mutations/mutations.dart' ;
12
+ import 'package:spotube/services/queries/queries.dart' ;
13
+
12
14
import 'package:spotube/utils/type_conversion_utils.dart' ;
13
15
import 'package:tuple/tuple.dart' ;
14
16
@@ -49,11 +51,11 @@ class HeartButton extends ConsumerWidget {
49
51
50
52
Tuple3 <bool , Mutation <bool , Tuple2 <SpotifyApi , bool >>, Query <User , SpotifyApi >>
51
53
useTrackToggleLike (Track track, WidgetRef ref) {
52
- final me = useQuery (
53
- job: currentUserQueryJob , externalData: ref.watch (spotifyProvider));
54
+ final me =
55
+ useQuery ( job: Queries .user.me , externalData: ref.watch (spotifyProvider));
54
56
55
57
final savedTracks = useQuery (
56
- job: playlistTracksQueryJob ("user-liked-tracks" ),
58
+ job: Queries .playlist. tracksOf ("user-liked-tracks" ),
57
59
externalData: ref.watch (spotifyProvider),
58
60
);
59
61
@@ -63,7 +65,7 @@ Tuple3<bool, Mutation<bool, Tuple2<SpotifyApi, bool>>, Query<User, SpotifyApi>>
63
65
final mounted = useIsMounted ();
64
66
65
67
final toggleTrackLike = useMutation <bool , Tuple2 <SpotifyApi , bool >>(
66
- job: toggleFavoriteTrackMutationJob (track.id! ),
68
+ job: Mutations .track. toggleFavorite (track.id! ),
67
69
onMutate: (variable) {
68
70
savedTracks.setQueryData (
69
71
(oldData) {
@@ -117,7 +119,7 @@ class TrackHeartButton extends HookConsumerWidget {
117
119
@override
118
120
Widget build (BuildContext context, ref) {
119
121
final savedTracks = useQuery (
120
- job: playlistTracksQueryJob ("user-liked-tracks" ),
122
+ job: Queries .playlist. tracksOf ("user-liked-tracks" ),
121
123
externalData: ref.watch (spotifyProvider),
122
124
);
123
125
final toggler = useTrackToggleLike (track, ref);
@@ -150,22 +152,23 @@ class PlaylistHeartButton extends HookConsumerWidget {
150
152
@override
151
153
Widget build (BuildContext context, ref) {
152
154
final me = useQuery (
153
- job: currentUserQueryJob ,
155
+ job: Queries .user.me ,
154
156
externalData: ref.watch (spotifyProvider),
155
157
);
156
158
157
- final job = playlistIsFollowedQueryJob ("${playlist .id }:${me .data ?.id }" );
159
+ final job =
160
+ Queries .playlist.doesUserFollow ("${playlist .id }:${me .data ?.id }" );
158
161
final isLikedQuery = useQuery (
159
162
job: job,
160
163
externalData: ref.watch (spotifyProvider),
161
164
);
162
165
163
166
final togglePlaylistLike = useMutation <bool , Tuple2 <SpotifyApi , bool >>(
164
- job: toggleFavoritePlaylistMutationJob (playlist.id! ),
167
+ job: Mutations .playlist. toggleFavorite (playlist.id! ),
165
168
onData: (payload, variables, queryContext) {
166
169
isLikedQuery.refetch ();
167
170
QueryBowl .of (context)
168
- .getQuery (currentUserPlaylistsQueryJob .queryKey)
171
+ .getQuery (Queries .playlist.ofMine .queryKey)
169
172
? .refetch ();
170
173
},
171
174
);
@@ -182,8 +185,9 @@ class PlaylistHeartButton extends HookConsumerWidget {
182
185
titleImage,
183
186
).dominantColor;
184
187
185
- if (me.isLoading || ! me.hasData)
188
+ if (me.isLoading || ! me.hasData) {
186
189
return const PlatformCircularProgressIndicator ();
190
+ }
187
191
188
192
return HeartButton (
189
193
isLiked: isLikedQuery.data ?? false ,
@@ -217,28 +221,29 @@ class AlbumHeartButton extends HookConsumerWidget {
217
221
Widget build (BuildContext context, ref) {
218
222
final spotify = ref.watch (spotifyProvider);
219
223
final me = useQuery (
220
- job: currentUserQueryJob ,
224
+ job: Queries .user.me ,
221
225
externalData: spotify,
222
226
);
223
227
224
228
final albumIsSaved = useQuery (
225
- job: albumIsSavedForCurrentUserQueryJob (album.id! ),
229
+ job: Queries .album. isSavedForMe (album.id! ),
226
230
externalData: spotify,
227
231
);
228
232
final isLiked = albumIsSaved.data ?? false ;
229
233
230
234
final toggleAlbumLike = useMutation <bool , Tuple2 <SpotifyApi , bool >>(
231
- job: toggleFavoriteAlbumMutationJob (album.id! ),
235
+ job: Mutations .album. toggleFavorite (album.id! ),
232
236
onData: (payload, variables, queryContext) {
233
237
albumIsSaved.refetch ();
234
238
QueryBowl .of (context)
235
- .getQuery (currentUserAlbumsQueryJob .queryKey)
239
+ .getQuery (Queries .album.ofMine .queryKey)
236
240
? .refetch ();
237
241
},
238
242
);
239
243
240
- if (me.isLoading || ! me.hasData)
244
+ if (me.isLoading || ! me.hasData) {
241
245
return const PlatformCircularProgressIndicator ();
246
+ }
242
247
243
248
return HeartButton (
244
249
isLiked: isLiked,
0 commit comments