mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-24 07:28:05 +02:00
feat: add IPTV player screen with support for live, VOD, and series streams using iframe-based playback.
This commit is contained in:
1 parent
b6a0016c00
commit
440f15faa6
1 file changed
+6
-6
@@ -348,6 +348,7 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
|||||||
top: _showControls ? 24 : -100,
|
top: _showControls ? 24 : -100,
|
||||||
left: 24,
|
left: 24,
|
||||||
right: 24,
|
right: 24,
|
||||||
|
child: PointerInterceptor(
|
||||||
child: GlassContainer(
|
child: GlassContainer(
|
||||||
height: 72,
|
height: 72,
|
||||||
borderRadius: 24,
|
borderRadius: 24,
|
||||||
@@ -402,6 +403,7 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
|
||||||
// Bottom Controls for Live TV (Channel Zapping + Play/Pause)
|
// Bottom Controls for Live TV (Channel Zapping + Play/Pause)
|
||||||
if (_showControls)
|
if (_showControls)
|
||||||
@@ -410,6 +412,7 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
|||||||
bottom: 40,
|
bottom: 40,
|
||||||
left: 0,
|
left: 0,
|
||||||
right: 0,
|
right: 0,
|
||||||
|
child: PointerInterceptor(
|
||||||
child: Center(
|
child: Center(
|
||||||
child: GlassContainer(
|
child: GlassContainer(
|
||||||
borderRadius: 30,
|
borderRadius: 30,
|
||||||
@@ -457,6 +460,7 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
|
||||||
// EPG Overlay
|
// EPG Overlay
|
||||||
if (widget.streamType == StreamType.live)
|
if (widget.streamType == StreamType.live)
|
||||||
@@ -724,11 +728,8 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
|||||||
double size = 48,
|
double size = 48,
|
||||||
double iconSize = 24,
|
double iconSize = 24,
|
||||||
}) {
|
}) {
|
||||||
// Simplified button with direct Material/InkWell and PointerInterceptor
|
// Button with direct Material/InkWell - PointerInterceptor is on outer container
|
||||||
// Simplified button with direct Material/InkWell and PointerInterceptor
|
return Material(
|
||||||
// We wrap the specific button to ensure it catches events over the iframe
|
|
||||||
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(
|
||||||
@@ -750,7 +751,6 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
|||||||
child: Icon(icon, color: Colors.white, size: iconSize),
|
child: Icon(icon, color: Colors.white, size: iconSize),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user