diff --git a/components/video-player/controls/GestureOverlay.tsx b/components/video-player/controls/GestureOverlay.tsx
index 26a2e26f..b01966fe 100644
--- a/components/video-player/controls/GestureOverlay.tsx
+++ b/components/video-player/controls/GestureOverlay.tsx
@@ -247,29 +247,30 @@ export const GestureOverlay = ({
screenHeight,
});
- // If controls are visible, act like the old tap overlay
- if (showControls) {
- return (
-
- );
- }
+ // Background overlay when controls are visible
+ const controlsOverlay = showControls && (
+
+ );
return (
<>
- {/* Gesture detection area */}
+ {/* Controls overlay when visible */}
+ {controlsOverlay}
+
+ {/* Gesture detection area - always present */}
void;
- onSwipeRight?: () => void;
onDoubleTapLeft?: () => void;
onDoubleTapRight?: () => void;
onVerticalDragStart?: (side: "left" | "right", initialY: number) => void;
@@ -23,8 +21,6 @@ export interface SwipeGestureOptions {
export const useGestureDetection = ({
minDistance = 50,
maxDuration = 800,
- onSwipeLeft,
- onSwipeRight,
onDoubleTapLeft,
onDoubleTapRight,
onVerticalDragStart,
@@ -207,7 +203,7 @@ export const useGestureDetection = ({
lastTapTime.current = 0;
lastTapPosition.current = { x: 0, y: 0 };
} else {
- // It's a single tap
+ // It's a single tap - execute immediately
onTap?.();
lastTapTime.current = currentTime;
lastTapPosition.current = { x: tapX, y: tapY };