Insole-production time tracker exported from the Create/Anything AI platform. Baseline snapshot before any reverse-engineering or cleanup. - apps/mobile: Expo Router app (iOS/Android/web), the only workspace - publisher/: standalone OpenNext/AWS deploy tooling for the web side - Backend (/api/tasks, /api/logs + DB) lives remotely, not in this repo
25 lines
1.2 KiB
Diff
25 lines
1.2 KiB
Diff
diff --git a/src/RefreshControl.web.js b/src/RefreshControl.web.js
|
|
index b2351e6..c638d23 100644
|
|
--- a/src/RefreshControl.web.js
|
|
+++ b/src/RefreshControl.web.js
|
|
@@ -1,5 +1,5 @@
|
|
import React, { useRef, useEffect, useCallback, useMemo } from 'react'
|
|
-import { View, Text, PanResponder, Animated, ActivityIndicator, findNodeHandle } from 'react-native'
|
|
+import { View, Text, PanResponder, Animated, ActivityIndicator } from 'react-native'
|
|
import PropTypes from 'prop-types'
|
|
|
|
const arrowIcon =
|
|
@@ -77,9 +77,9 @@ export default function RefreshControl({
|
|
onStartShouldSetPanResponderCapture: () => false,
|
|
onMoveShouldSetPanResponder: (_,gestureState) => {
|
|
if (!containerRef.current) return false
|
|
- const containerDOM = findNodeHandle(containerRef.current)
|
|
- if (!containerDOM) return false
|
|
- return containerDOM.children[0].scrollTop === 0
|
|
+ const scrollContainer = containerRef.current?.firstChild
|
|
+ if (!scrollContainer) return false
|
|
+ return scrollContainer.scrollTop === 0
|
|
&& (Math.abs(gestureState.dy) > Math.abs(gestureState.dx) * 2 && Math.abs(gestureState.vy) > Math.abs(gestureState.vx) * 2.5)
|
|
},
|
|
onMoveShouldSetPanResponderCapture: () => false,
|