diff --git a/src/components/images/Gallery/useKeyboardHandlers.web.ts b/src/components/images/Gallery/useKeyboardHandlers.web.ts index 490e32761e..4216e7dc49 100644 --- a/src/components/images/Gallery/useKeyboardHandlers.web.ts +++ b/src/components/images/Gallery/useKeyboardHandlers.web.ts @@ -1,22 +1,11 @@ import {useEffect} from 'react' import {type FlatList} from 'react-native' -import {ITEM_GAP} from '#/components/images/Gallery/const' import {tween} from '#/components/images/Gallery/tween' +import {getOffsetForIndex} from '#/components/images/Gallery/utils' const SETTLE_DURATION = 600 -function getOffsetForIndex( - itemWidths: Map, - index: number, -): number { - let offset = 0 - for (let i = 0; i < index; i++) { - offset += (itemWidths.get(i) ?? 0) + ITEM_GAP - } - return offset -} - export function useKeyboardHandlers({ flatListRef, itemWidthsRef, diff --git a/src/components/images/Gallery/usePointerHandlers.web.ts b/src/components/images/Gallery/usePointerHandlers.web.ts index ee4d2372c8..4b90f744cd 100644 --- a/src/components/images/Gallery/usePointerHandlers.web.ts +++ b/src/components/images/Gallery/usePointerHandlers.web.ts @@ -3,6 +3,8 @@ import {type FlatList} from 'react-native' import {ITEM_GAP} from '#/components/images/Gallery/const' import {tween} from '#/components/images/Gallery/tween' +import {getOffsetForIndex} from '#/components/images/Gallery/utils' + const DRAG_THRESHOLD = 3 const FLICK_DECAY = 0.85 const FLICK_MIN_VELOCITY = 0.1 @@ -10,17 +12,6 @@ const ADVANCE_THRESHOLD = 0.15 const FRAME_MS = 1000 / 60 const SETTLE_DURATION = 600 -function getOffsetForIndex( - itemWidths: Map, - index: number, -): number { - let offset = 0 - for (let i = 0; i < index; i++) { - offset += (itemWidths.get(i) ?? 0) + ITEM_GAP - } - return offset -} - function whichByDistance( itemWidths: Map, currentIndex: number, diff --git a/src/components/images/Gallery/utils.ts b/src/components/images/Gallery/utils.ts new file mode 100644 index 0000000000..287dbd2643 --- /dev/null +++ b/src/components/images/Gallery/utils.ts @@ -0,0 +1,12 @@ +import {ITEM_GAP} from '#/components/images/Gallery/const' + +export function getOffsetForIndex( + itemWidths: Map, + index: number, +): number { + let offset = 0 + for (let i = 0; i < index; i++) { + offset += (itemWidths.get(i) ?? 0) + ITEM_GAP + } + return offset +}