import type React from 'react' import { View, type ViewStyle } from 'react-native' import { getGestureHandlerState, isGestureHandlerEnabled } from './gestureState' interface GestureDetectorWrapperProps { gesture: any children: React.ReactNode style?: ViewStyle } /** * Conditionally wraps children with GestureDetector when RNGH is available. * Uses a plain View wrapper that GestureDetector can attach gesture handlers to. */ export function GestureDetectorWrapper({ gesture, children, style, }: GestureDetectorWrapperProps) { const { GestureDetector } = getGestureHandlerState() const enabled = isGestureHandlerEnabled() // console.warn('[RNGH-Wrapper] enabled:', enabled, 'hasDetector:', !!GestureDetector, 'hasGesture:', !!gesture) // only wrap if we have RNGH available AND a gesture to attach if (enabled && GestureDetector && gesture) { // GestureDetector needs a native View to attach handlers to // the View wrapper ensures proper gesture propagation // console.warn('[RNGH-Wrapper] WRAPPING') return ( {children} ) } // pass through children in a consistent View wrapper return {children} }