diff --git a/lib/widgets/video_controls/parts/visibility.dart b/lib/widgets/video_controls/parts/visibility.dart index 922e586d..53827a7a 100644 --- a/lib/widgets/video_controls/parts/visibility.dart +++ b/lib/widgets/video_controls/parts/visibility.dart @@ -379,13 +379,13 @@ extension _PlexVideoControlsVisibilityMethods on _PlexVideoControlsState { /// Hide controls when navigating up from timeline (keyboard mode) /// If skip marker button or Play Next dialog is visible, focus it instead of hiding controls void _hideControlsFromKeyboard() { - if (_currentMarker != null) { - _skipMarkerFocusNode.requestFocus(); + if (widget.playNextFocusNode != null) { + widget.playNextFocusNode!.requestFocus(); return; } - if (widget.playNextFocusNode != null) { - widget.playNextFocusNode!.requestFocus(); + if (_currentMarker != null) { + _skipMarkerFocusNode.requestFocus(); return; } diff --git a/lib/widgets/video_controls/video_controls.dart b/lib/widgets/video_controls/video_controls.dart index 49b61602..bf25acf8 100644 --- a/lib/widgets/video_controls/video_controls.dart +++ b/lib/widgets/video_controls/video_controls.dart @@ -785,7 +785,9 @@ class _PlexVideoControlsState extends State with WindowListen ), ), // Skip intro/credits button (auto-dismisses after 7s, then only shows with controls) - if (_currentMarker != null && (!_skipButtonDismissed || _showControls)) + if (_currentMarker != null && + widget.playNextFocusNode == null && + (!_skipButtonDismissed || _showControls)) AnimatedPositioned( duration: const Duration(milliseconds: 200), curve: Curves.easeInOut,