diff --git a/src/view/com/pager/PagerWithHeader.tsx b/src/view/com/pager/PagerWithHeader.tsx index bd52ed4042..c0c52779ed 100644 --- a/src/view/com/pager/PagerWithHeader.tsx +++ b/src/view/com/pager/PagerWithHeader.tsx @@ -17,6 +17,7 @@ import Animated, { } from 'react-native-reanimated' import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' +import {ScrollProvider} from '#/lib/ScrollContext' import {isIOS} from '#/platform/detection' import { Pager, @@ -24,7 +25,6 @@ import { type RenderTabBarFnProps, } from '#/view/com/pager/Pager' import {useTheme} from '#/alf' -import {ListScrollProvider} from '#/components/List' import {type ListMethods} from '../util/List' import {PagerHeaderProvider} from './PagerHeaderContext' import {TabBar} from './TabBar' @@ -355,7 +355,7 @@ function PagerItem({ } return ( - + {renderTab({ headerHeight, isFocused, @@ -363,7 +363,7 @@ function PagerItem({ ListMethods | ScrollView | null >, })} - + ) } diff --git a/src/view/com/posts/PostFeed.tsx b/src/view/com/posts/PostFeed.tsx index e0d0c48eff..fe6351cd44 100644 --- a/src/view/com/posts/PostFeed.tsx +++ b/src/view/com/posts/PostFeed.tsx @@ -52,6 +52,7 @@ import {useLiveNowConfig} from '#/state/service-config' import {useSession} from '#/state/session' import {useProgressGuide} from '#/state/shell/progress-guide' import {useSelectedFeed} from '#/state/shell/selected-feed' +import {List, type ListRef} from '#/view/com/util/List' import {PostFeedLoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder' import {LoadMoreRetryBtn} from '#/view/com/util/LoadMoreRetryBtn' import {type VideoFeedSourceContext} from '#/screens/VideoFeed/types' @@ -67,7 +68,6 @@ import { } from '#/components/feeds/PostFeedVideoGridRow' import {TrendingInterstitial} from '#/components/interstitials/Trending' import {TrendingVideos as TrendingVideosInterstitial} from '#/components/interstitials/TrendingVideos' -import {List, type ListRef} from '#/components/List' import {DiscoverFallbackHeader} from './DiscoverFallbackHeader' import {FeedShutdownMsg} from './FeedShutdownMsg' import {PostFeedErrorMessage} from './PostFeedErrorMessage' @@ -191,6 +191,7 @@ let PostFeed = ({ testID, headerOffset = 0, progressViewOffset, + desktopFixedHeightOffset, ListHeaderComponent, extraData, savedFeedConfig, @@ -204,7 +205,7 @@ let PostFeed = ({ enabled?: boolean pollInterval?: number disablePoll?: boolean - scrollElRef?: ListRef + scrollElRef?: ListRef onHasNew?: (v: boolean) => void onScrolledDownChange?: (isScrolledDown: boolean) => void renderEmptyState: () => JSX.Element @@ -886,6 +887,9 @@ let PostFeed = ({ onEndReachedThreshold={2} // number of posts left to trigger load more removeClippedSubviews={true} extraData={extraData} + desktopFixedHeight={ + desktopFixedHeightOffset ? desktopFixedHeightOffset : true + } initialNumToRender={initialNumToRenderOverride ?? initialNumToRender} windowSize={9} maxToRenderPerBatch={isIOS ? 5 : 1} diff --git a/src/view/com/util/MainScrollProvider.tsx b/src/view/com/util/MainScrollProvider.tsx index eda14df740..d8596b6f3f 100644 --- a/src/view/com/util/MainScrollProvider.tsx +++ b/src/view/com/util/MainScrollProvider.tsx @@ -3,10 +3,10 @@ import {type NativeScrollEvent} from 'react-native' import {interpolate, useSharedValue, withSpring} from 'react-native-reanimated' import EventEmitter from 'eventemitter3' +import {ScrollProvider} from '#/lib/ScrollContext' import {isNative, isWeb} from '#/platform/detection' import {useMinimalShellMode} from '#/state/shell' import {useShellLayout} from '#/state/shell/shell-layout' -import {ListScrollProvider} from '#/components/List' const WEB_HIDE_SHELL_THRESHOLD = 200 @@ -165,13 +165,13 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) { ) return ( - + onMomentumEnd={onMomentumEnd}> {children} - + ) }