From 83e43b9da80d4e8601af37415b2aebd45e85e274 Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Thu, 1 Jan 2026 18:41:02 +0100 Subject: [PATCH] feat: Implement IPTV player screen with playback controls and stream type handling. --- lib/features/iptv/screens/player_screen.dart | 38 ++++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/lib/features/iptv/screens/player_screen.dart b/lib/features/iptv/screens/player_screen.dart index e57f5eb..7799693 100644 --- a/lib/features/iptv/screens/player_screen.dart +++ b/lib/features/iptv/screens/player_screen.dart @@ -716,22 +716,30 @@ class _PlayerScreenState extends ConsumerState { double size = 48, double iconSize = 24, }) { - return TvFocusableCard( - onTap: onTap, - borderRadius: size / 2, - scaleFactor: 1.1, - child: Container( - width: size, - height: size, - decoration: BoxDecoration( - color: - transparent ? Colors.transparent : Colors.white.withOpacity(0.1), - shape: BoxShape.circle, - border: transparent - ? null - : Border.all(color: Colors.white.withOpacity(0.1)), + // Simplified button with direct Material/InkWell and PointerInterceptor + return PointerInterceptor( + child: Material( + color: transparent ? Colors.transparent : Colors.white.withOpacity(0.1), + shape: const CircleBorder(), + child: InkWell( + onTap: () { + print('[PlayerScreen] Button tapped: $icon'); + onTap(); + }, + customBorder: const CircleBorder(), + child: Container( + width: size, + height: size, + alignment: Alignment.center, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: transparent + ? null + : Border.all(color: Colors.white.withOpacity(0.1)), + ), + child: Icon(icon, color: Colors.white, size: iconSize), + ), ), - child: Icon(icon, color: Colors.white, size: iconSize), ), ); }