diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-01-20 10:15:59 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2023-01-20 10:15:59 -0600 |
commit | c4cca8cf6c62b55296cfaca2ddd22606af6586a1 (patch) | |
tree | cbff062e75226d4aa0721c34612bf7be65915ad2 | |
parent | 56747263df1df1b0258831a9e9b2ba2c4984e244 (diff) | |
download | voidsky-c4cca8cf6c62b55296cfaca2ddd22606af6586a1.tar.zst |
Sanity check selector swipes
-rw-r--r-- | src/view/com/util/ViewSelector.tsx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/view/com/util/ViewSelector.tsx b/src/view/com/util/ViewSelector.tsx index a9252035f..9ea7bc740 100644 --- a/src/view/com/util/ViewSelector.tsx +++ b/src/view/com/util/ViewSelector.tsx @@ -4,6 +4,7 @@ import {Selector} from './Selector' import {HorzSwipe} from './gestures/HorzSwipe' import {useAnimatedValue} from '../../lib/hooks/useAnimatedValue' import {OnScrollCb} from '../../lib/hooks/useOnMainScroll' +import {clamp} from '../../../lib/numbers' const HEADER_ITEM = {_reactKey: '__header__'} const SELECTOR_ITEM = {_reactKey: '__selector__'} @@ -46,10 +47,11 @@ export function ViewSelector({ const onSwipeEnd = (dx: number) => { if (dx !== 0) { - setSelectedIndex(selectedIndex + dx) + setSelectedIndex(clamp(selectedIndex + dx, 0, sections.length)) } } - const onPressSelection = (index: number) => setSelectedIndex(index) + const onPressSelection = (index: number) => + setSelectedIndex(clamp(index, 0, sections.length)) useEffect(() => { onSelectView?.(selectedIndex) }, [selectedIndex]) |