react-native-sortables
Version:
Powerful Sortable Components for Flexible Content Reordering in React Native
33 lines (30 loc) • 901 B
JavaScript
;
import { useCallback, useMemo } from 'react';
import { useDerivedValue } from 'react-native-reanimated';
import { IS_WEB } from '../../../constants';
import { ReactNativeHapticFeedback } from '../adapters';
let hapticFeedback = null;
export default function useHaptics(enabled) {
const isEnabled = !IS_WEB && enabled;
const enabledValue = useDerivedValue(() => isEnabled);
if (isEnabled && !hapticFeedback) {
hapticFeedback = ReactNativeHapticFeedback.load();
}
const light = useCallback(() => {
'worklet';
if (enabledValue.value) {
hapticFeedback?.('impactLight');
}
}, [enabledValue]);
const medium = useCallback(() => {
'worklet';
if (enabledValue.value) {
hapticFeedback?.('impactMedium');
}
}, [enabledValue]);
return useMemo(() => ({
light,
medium
}), [light, medium]);
}
//# sourceMappingURL=useHaptics.js.map