mirror of
https://github.com/R0m1k3/xtremobile.git
synced 2026-10-23 07:08:16 +02:00
feat: Add mobile-specific Riverpod providers for Xtream services, including live channels, movies, series, and series info.
This commit is contained in:
1 parent
51f73d102d
commit
e6281ff912
6 files changed
+47
-20
No files matched your search
@@ -7,27 +7,31 @@ import '../../features/iptv/models/xtream_models.dart';
|
||||
export '../../features/iptv/models/xtream_models.dart';
|
||||
|
||||
/// Mobile-specific Xtream service provider (no dart:html dependency)
|
||||
final mobileXtreamServiceProvider = Provider.family<XtreamServiceMobile, PlaylistConfig>((ref, playlist) {
|
||||
final service = XtreamServiceMobile();
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
/// Mobile-specific Xtream service provider (no dart:html dependency)
|
||||
final mobileXtreamServiceProvider = FutureProvider.family<XtreamServiceMobile, PlaylistConfig>((ref, playlist) async {
|
||||
final dir = await getApplicationDocumentsDirectory();
|
||||
final service = XtreamServiceMobile(dir.path);
|
||||
service.setPlaylist(playlist);
|
||||
return service;
|
||||
});
|
||||
|
||||
/// Mobile-specific live channels provider
|
||||
final mobileLiveChannelsProvider = FutureProvider.family<Map<String, List<Channel>>, PlaylistConfig>((ref, playlist) async {
|
||||
final service = ref.read(mobileXtreamServiceProvider(playlist));
|
||||
final service = await ref.watch(mobileXtreamServiceProvider(playlist).future);
|
||||
return service.getLiveChannels();
|
||||
});
|
||||
|
||||
/// Mobile-specific movies pagination provider
|
||||
final mobileMoviesProvider = FutureProvider.family<List<Movie>, PlaylistConfig>((ref, playlist) async {
|
||||
final service = ref.read(mobileXtreamServiceProvider(playlist));
|
||||
final service = await ref.watch(mobileXtreamServiceProvider(playlist).future);
|
||||
return service.getMoviesPaginated(offset: 0, limit: 100);
|
||||
});
|
||||
|
||||
/// Mobile-specific series pagination provider
|
||||
final mobileSeriesProvider = FutureProvider.family<List<Series>, PlaylistConfig>((ref, playlist) async {
|
||||
final service = ref.read(mobileXtreamServiceProvider(playlist));
|
||||
final service = await ref.watch(mobileXtreamServiceProvider(playlist).future);
|
||||
return service.getSeriesPaginated(offset: 0, limit: 100);
|
||||
});
|
||||
|
||||
@@ -56,6 +60,6 @@ class SeriesInfoRequest {
|
||||
}
|
||||
|
||||
final mobileSeriesInfoByPlaylistProvider = FutureProvider.family<SeriesInfo, SeriesInfoRequest>((ref, request) async {
|
||||
final service = ref.read(mobileXtreamServiceProvider(request.playlist));
|
||||
final service = await ref.watch(mobileXtreamServiceProvider(request.playlist).future);
|
||||
return service.getSeriesInfo(request.seriesId);
|
||||
});
|
||||
Reference in new issue
Block a user