feat: add view and spotify friends provider

This commit is contained in:
Kingkor Roy Tirtho 2024-03-15 22:14:18 +06:00
parent 29ffc280a5
commit f8550ae3d6
4 changed files with 39 additions and 0 deletions

View File

@ -13,6 +13,7 @@ import 'package:riverpod/src/async_notifier.dart';
import 'package:spotube/extensions/map.dart';
import 'package:spotube/models/lyrics.dart';
import 'package:spotube/models/spotify/recommendation_seeds.dart';
import 'package:spotube/models/spotify_friends.dart';
import 'package:spotube/provider/custom_spotify_endpoint_provider.dart';
import 'package:spotube/provider/spotify_provider.dart';
import 'package:spotube/provider/user_preferences/user_preferences_provider.dart';
@ -46,6 +47,11 @@ part 'playlist/generate.dart';
part 'search/search.dart';
part 'user/me.dart';
part 'user/friends.dart';
part 'tracks/track.dart';
part 'views/view.dart';
part 'utils/mixin.dart';
part 'utils/state.dart';

View File

@ -0,0 +1,7 @@
part of '../spotify.dart';
final trackProvider = FutureProvider.family<Track, String>((ref, id) async {
final spotify = ref.watch(spotifyProvider);
return spotify.tracks.get(id);
});

View File

@ -0,0 +1,7 @@
part of '../spotify.dart';
final friendsProvider = FutureProvider<SpotifyFriends>((ref) async {
final customSpotify = ref.watch(customSpotifyEndpointProvider);
return customSpotify.getFriendActivity();
});

View File

@ -0,0 +1,19 @@
part of '../spotify.dart';
final viewProvider = FutureProvider.family<Map<String, dynamic>, String>(
(ref, viewName) async {
final customSpotify = ref.watch(customSpotifyEndpointProvider);
final market = ref.watch(
userPreferencesProvider.select((s) => s.recommendationMarket),
);
final locale = ref.watch(
userPreferencesProvider.select((s) => s.locale),
);
return customSpotify.getView(
viewName,
market: market,
locale: Intl.canonicalizedLocale(locale.toString()),
);
},
);