about summary refs log tree commit diff
path: root/src/lib/ScrollContext.tsx
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-04-28 17:48:20 +0100
committerGitHub <noreply@github.com>2024-04-28 17:48:20 +0100
commit1dd3d6657c631905c27fa6af326d31a0f7c6039e (patch)
tree01b5e2997e2fd7172a8f6ee11ca525f114593541 /src/lib/ScrollContext.tsx
parent3b4848ba59591b58a95c61af210697149a858f57 (diff)
downloadvoidsky-1dd3d6657c631905c27fa6af326d31a0f7c6039e.tar.zst
Account for momentum when hiding minimal shell (#3740)
* Add optional momentum events to scroll context

* If there is a velocity, don't snap until momentum end

* Don't show bar on scroll down

* Rm onMomentumBegin
Diffstat (limited to 'src/lib/ScrollContext.tsx')
-rw-r--r--src/lib/ScrollContext.tsx5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/ScrollContext.tsx b/src/lib/ScrollContext.tsx
index 00b197bed..d55b8cdab 100644
--- a/src/lib/ScrollContext.tsx
+++ b/src/lib/ScrollContext.tsx
@@ -5,6 +5,7 @@ const ScrollContext = createContext<ScrollHandlers<any>>({
   onBeginDrag: undefined,
   onEndDrag: undefined,
   onScroll: undefined,
+  onMomentumEnd: undefined,
 })
 
 export function useScrollHandlers(): ScrollHandlers<any> {
@@ -20,14 +21,16 @@ export function ScrollProvider({
   onBeginDrag,
   onEndDrag,
   onScroll,
+  onMomentumEnd,
 }: ProviderProps) {
   const handlers = useMemo(
     () => ({
       onBeginDrag,
       onEndDrag,
       onScroll,
+      onMomentumEnd,
     }),
-    [onBeginDrag, onEndDrag, onScroll],
+    [onBeginDrag, onEndDrag, onScroll, onMomentumEnd],
   )
   return (
     <ScrollContext.Provider value={handlers}>{children}</ScrollContext.Provider>