feat: add IPTV player screen supporting live, VOD, and series stream playback via embedded web players.

This commit is contained in:
Michael committed 2026-01-01 19:16:51 +01:00
1 parent 1547b376e0
commit e74aa822ad
1 file changed
+5 -5
+5 -5
View File
@@ -59,8 +59,6 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
bool _isSeeking = false; bool _isSeeking = false;
String _viewId = 'iptv-player'; String _viewId = 'iptv-player';
String? _currentStreamUrl; String? _currentStreamUrl;
String _statusMessage = 'Loading...';
String? _errorMessage;
String? _errorMessage; String? _errorMessage;
bool _isMuted = false; bool _isMuted = false;
bool _ignoreStatusUpdates = false; bool _ignoreStatusUpdates = false;
@@ -730,9 +728,10 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
double iconSize = 24, double iconSize = 24,
}) { }) {
// Simplified button with direct Material/InkWell and PointerInterceptor // Simplified button with direct Material/InkWell and PointerInterceptor
// Simplified button with direct Material/InkWell // Simplified button with direct Material/InkWell and PointerInterceptor
// Note: PointerInterceptor is handled by the parent container // We wrap the specific button to ensure it catches events over the iframe
return Material( return PointerInterceptor(
child: Material(
color: transparent ? Colors.transparent : Colors.white.withOpacity(0.1), color: transparent ? Colors.transparent : Colors.white.withOpacity(0.1),
shape: const CircleBorder(), shape: const CircleBorder(),
child: InkWell( child: InkWell(
@@ -754,6 +753,7 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
child: Icon(icon, color: Colors.white, size: iconSize), child: Icon(icon, color: Colors.white, size: iconSize),
), ),
), ),
),
); );
} }
} }