mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-16 03:38:29 +02:00
feat: Implement Xtream IPTV integration including providers, a dedicated player screen, EPG overlay, and live TV channel browsing.
This commit is contained in:
1 parent
210b6a81ca
commit
e5eca6ebac
4 files changed
+40
-3
No files matched your search
@@ -1,19 +1,24 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import '../../../core/models/playlist_config.dart';
|
||||
import '../providers/xtream_provider.dart';
|
||||
|
||||
/// EPG overlay widget showing "Now" and "Next" programs
|
||||
class EpgOverlay extends ConsumerWidget {
|
||||
final String streamId;
|
||||
final PlaylistConfig playlist;
|
||||
|
||||
const EpgOverlay({
|
||||
super.key,
|
||||
required this.streamId,
|
||||
required this.playlist,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final epgAsync = ref.watch(epgProvider(streamId));
|
||||
final epgAsync = ref.watch(epgByPlaylistProvider(
|
||||
EpgRequestKey(playlist: playlist, streamId: streamId),
|
||||
));
|
||||
|
||||
return epgAsync.when(
|
||||
data: (epgEntries) {
|
||||
|
||||
@@ -255,6 +255,7 @@ class _LiveTVTabState extends ConsumerState<LiveTVTab>
|
||||
builder: (context) => PlayerScreen(
|
||||
streamId: channel.streamId,
|
||||
title: channel.name,
|
||||
playlist: widget.playlist,
|
||||
streamType: StreamType.live,
|
||||
),
|
||||
),
|
||||
|
||||
Reference in new issue
Block a user