import 'package:fl_query/fl_query.dart'; import 'package:fl_query_hooks/fl_query_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotube/extensions/context.dart'; import 'package:spotube/provider/authentication_provider.dart'; import 'package:spotube/provider/custom_spotify_endpoint_provider.dart'; import 'package:spotube/provider/user_preferences_provider.dart'; class ViewsQueries { const ViewsQueries(); Query?, dynamic> get( WidgetRef ref, String view, ) { final customSpotify = ref.watch(customSpotifyEndpointProvider); final auth = ref.watch(AuthenticationNotifier.provider); final market = ref .watch(userPreferencesProvider.select((s) => s.recommendationMarket)); final locale = useContext().l10n.localeName; return useQuery?, dynamic>("views/$view", () { if (auth == null) return null; return customSpotify.getView( view, market: market, country: market, locale: locale, ); }); } }