/** * Copyright (c) JOB TODAY S.A. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ import {useState} from 'react' import {NativeSyntheticEvent, NativeScrollEvent} from 'react-native' import {Dimensions} from '../@types' const useImageIndexChange = (imageIndex: number, screen: Dimensions) => { const [currentImageIndex, setImageIndex] = useState(imageIndex) const onScroll = (event: NativeSyntheticEvent) => { const { nativeEvent: { contentOffset: {x: scrollX}, }, } = event if (screen.width) { const nextIndex = Math.round(scrollX / screen.width) setImageIndex(nextIndex < 0 ? 0 : nextIndex) } } return [currentImageIndex, onScroll] as const } export default useImageIndexChange