about summary refs log tree commit diff
path: root/src/view/com/util/List.tsx
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-09-06 09:31:01 -0700
committerGitHub <noreply@github.com>2024-09-06 09:31:01 -0700
commit60182cd874654ce925f2bfe48955d6b7499577ed (patch)
tree0812697ecbcf1e98272b63d4343f8d2de5c6bfd5 /src/view/com/util/List.tsx
parentbdff8752fbae6f3c5e485e39178793c1e14a3982 (diff)
downloadvoidsky-60182cd874654ce925f2bfe48955d6b7499577ed.tar.zst
[Video] Add disable autoplay for native, more tweaking (#5178)
Diffstat (limited to 'src/view/com/util/List.tsx')
-rw-r--r--src/view/com/util/List.tsx9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/view/com/util/List.tsx b/src/view/com/util/List.tsx
index c62ac5ed1..79dd2f491 100644
--- a/src/view/com/util/List.tsx
+++ b/src/view/com/util/List.tsx
@@ -7,6 +7,7 @@ import {usePalette} from '#/lib/hooks/usePalette'
 import {useScrollHandlers} from '#/lib/ScrollContext'
 import {useDedupe} from 'lib/hooks/useDedupe'
 import {addStyle} from 'lib/styles'
+import {isIOS} from 'platform/detection'
 import {updateActiveViewAsync} from '../../../../modules/expo-bluesky-swiss-army/src/VisibilityView'
 import {FlatList_INTERNAL} from './Views'
 
@@ -49,7 +50,7 @@ function ListImpl<ItemT>(
 ) {
   const isScrolledDown = useSharedValue(false)
   const pal = usePalette('default')
-  const dedupe = useDedupe()
+  const dedupe = useDedupe(400)
 
   function handleScrolledDownChange(didScrollDown: boolean) {
     onScrolledDownChange?.(didScrollDown)
@@ -68,6 +69,7 @@ function ListImpl<ItemT>(
       onBeginDragFromContext?.(e, ctx)
     },
     onEndDrag(e, ctx) {
+      runOnJS(updateActiveViewAsync)()
       onEndDragFromContext?.(e, ctx)
     },
     onScroll(e, ctx) {
@@ -81,11 +83,14 @@ function ListImpl<ItemT>(
         }
       }
 
-      runOnJS(dedupe)(updateActiveViewAsync)
+      if (isIOS) {
+        runOnJS(dedupe)(updateActiveViewAsync)
+      }
     },
     // Note: adding onMomentumBegin here makes simulator scroll
     // lag on Android. So either don't add it, or figure out why.
     onMomentumEnd(e, ctx) {
+      runOnJS(updateActiveViewAsync)()
       onMomentumEndFromContext?.(e, ctx)
     },
   })