mirror of
https://github.com/KRTirtho/spotube.git
synced 2026-05-08 16:24:36 +00:00
feat: add view and spotify friends provider
This commit is contained in:
parent
29ffc280a5
commit
f8550ae3d6
@ -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';
|
||||
|
||||
7
lib/provider/spotify/tracks/track.dart
Normal file
7
lib/provider/spotify/tracks/track.dart
Normal 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);
|
||||
});
|
||||
7
lib/provider/spotify/user/friends.dart
Normal file
7
lib/provider/spotify/user/friends.dart
Normal file
@ -0,0 +1,7 @@
|
||||
part of '../spotify.dart';
|
||||
|
||||
final friendsProvider = FutureProvider<SpotifyFriends>((ref) async {
|
||||
final customSpotify = ref.watch(customSpotifyEndpointProvider);
|
||||
|
||||
return customSpotify.getFriendActivity();
|
||||
});
|
||||
19
lib/provider/spotify/views/view.dart
Normal file
19
lib/provider/spotify/views/view.dart
Normal 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()),
|
||||
);
|
||||
},
|
||||
);
|
||||
Loading…
Reference in New Issue
Block a user