From 4e517720030184ef8c003ffad9b3ca5100619d2e Mon Sep 17 00:00:00 2001 From: Hailey Date: Thu, 11 Apr 2024 15:20:38 -0700 Subject: Make bio area scrollable on iOS (#2931) * fix dampen logic prevent ghost presses handle refreshes, animations, and clamps handle most cases for cancelling the scroll animation handle animations save point simplify remove unnecessary context readme apply offset on pan find the RCTScrollView send props, add native gesture recognizer get the react tag wrap the profile in context create module * fix swiping to go back * remove debug * use `findNodeHandle` * create an expo module view * port most of it to expo modules * finish most of expomodules impl * experiments * remove refresh ability for now * remove rn module * changes * cleanup a few issues allow swipe back gesture clean up types always run animation if the final offset is < 0 separate logic update patch readme get the `RCTRefreshControl` working nicely * gate new header * organize --- .../expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts | 6 ++++++ .../src/ExpoScrollForwarderView.ios.tsx | 13 +++++++++++++ .../expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx | 7 +++++++ 3 files changed, 26 insertions(+) create mode 100644 modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts create mode 100644 modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx create mode 100644 modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx (limited to 'modules/expo-scroll-forwarder/src') diff --git a/modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts b/modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts new file mode 100644 index 000000000..26b9e7553 --- /dev/null +++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts @@ -0,0 +1,6 @@ +import React from 'react' + +export interface ExpoScrollForwarderViewProps { + scrollViewTag: number | null + children: React.ReactNode +} diff --git a/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx new file mode 100644 index 000000000..a91aebd4d --- /dev/null +++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx @@ -0,0 +1,13 @@ +import {requireNativeViewManager} from 'expo-modules-core' +import * as React from 'react' +import {ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types' + +const NativeView: React.ComponentType = + requireNativeViewManager('ExpoScrollForwarder') + +export function ExpoScrollForwarderView({ + children, + ...rest +}: ExpoScrollForwarderViewProps) { + return {children} +} diff --git a/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx new file mode 100644 index 000000000..93e69333f --- /dev/null +++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx @@ -0,0 +1,7 @@ +import React from 'react' +import {ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types' +export function ExpoScrollForwarderView({ + children, +}: React.PropsWithChildren) { + return children +} -- cgit 1.4.1