diff --git a/lib/features/iptv/screens/dashboard_screen.dart b/lib/features/iptv/screens/dashboard_screen.dart index 2f157c7..f715be8 100644 --- a/lib/features/iptv/screens/dashboard_screen.dart +++ b/lib/features/iptv/screens/dashboard_screen.dart @@ -85,7 +85,7 @@ class _DashboardScreenState extends ConsumerState { LiveTVTab(playlist: widget.playlist), MoviesTab(playlist: widget.playlist), SeriesTab(playlist: widget.playlist), - const RecordingsTab(), + RecordingsTab(playlist: widget.playlist), const SettingsTab(), ], ), diff --git a/lib/features/iptv/widgets/recordings_tab.dart b/lib/features/iptv/widgets/recordings_tab.dart index b10176d..6245ab6 100644 --- a/lib/features/iptv/widgets/recordings_tab.dart +++ b/lib/features/iptv/widgets/recordings_tab.dart @@ -9,9 +9,13 @@ import '../../../core/widgets/glass_container.dart'; import '../providers/xtream_provider.dart'; import '../providers/settings_provider.dart'; +import '../../../core/models/playlist_config.dart'; + /// Onglet "Enregistrements & Guide TV" — combine guide EPG, enregistrements actifs et season passes class RecordingsTab extends StatefulWidget { - const RecordingsTab({super.key}); + final PlaylistConfig playlist; + + const RecordingsTab({super.key, required this.playlist}); @override State createState() => _RecordingsTabState(); @@ -83,10 +87,10 @@ class _RecordingsTabState extends State Expanded( child: TabBarView( controller: _tabController, - children: const [ - _EpgGuideView(), - _RecordingsListView(), - _SeasonPassesView(), + children: [ + _EpgGuideView(playlist: widget.playlist), + const _RecordingsListView(), + const _SeasonPassesView(), ], ), ), @@ -101,7 +105,8 @@ class _RecordingsTabState extends State /// Guide TV EPG — charge les chaînes filtrées depuis les Settings (comme l'onglet TV) class _EpgGuideView extends ConsumerStatefulWidget { - const _EpgGuideView(); + final PlaylistConfig playlist; + const _EpgGuideView({required this.playlist}); @override ConsumerState<_EpgGuideView> createState() => _EpgGuideViewState(); } @@ -157,13 +162,9 @@ class _EpgGuideViewState extends ConsumerState<_EpgGuideView> { @override Widget build(BuildContext context) { - final playlist = ref.watch(selectedPlaylistProvider); final settings = ref.watch(iptvSettingsProvider); - - // Charger les chaînes seulement si on a une playlist active - final channelsAsync = playlist != null - ? ref.watch(liveChannelsByPlaylistProvider(playlist)) - : null; + // Utiliser la playlist passée en paramètre directement + final channelsAsync = ref.watch(liveChannelsByPlaylistProvider(widget.playlist)); return Padding( padding: const EdgeInsets.all(16),