From 7c06a4eeb9b1ee14dc2804b815435ec3691def32 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Wed, 13 Dec 2023 04:52:25 +0000 Subject: [PATCH] Remove resetMainScroll --- src/lib/hooks/useOnMainScroll.ts | 11 ++--------- src/view/com/feeds/FeedPage.tsx | 8 +++++--- src/view/screens/Notifications.tsx | 6 +++--- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/lib/hooks/useOnMainScroll.ts b/src/lib/hooks/useOnMainScroll.ts index d65c307fa2..078e9d559b 100644 --- a/src/lib/hooks/useOnMainScroll.ts +++ b/src/lib/hooks/useOnMainScroll.ts @@ -14,9 +14,7 @@ function clamp(num: number, min: number, max: number) { return Math.min(Math.max(num, min), max) } -export type ResetCb = () => void - -export function useOnMainScroll(): [ScrollHandlers, ResetCb] { +export function useOnMainScroll(): ScrollHandlers { const {headerHeight} = useShellLayout() const mode = useMinimalShellMode() const setMode = useSetMinimalShellMode() @@ -100,10 +98,5 @@ export function useOnMainScroll(): [ScrollHandlers, ResetCb] { [onBeginDrag, onEndDrag, onScroll], ) - return [ - scrollHandler, - useCallback(() => { - setMode(false) - }, [setMode]), - ] + return scrollHandler } diff --git a/src/view/com/feeds/FeedPage.tsx b/src/view/com/feeds/FeedPage.tsx index 606ffa4ab4..f4327829b8 100644 --- a/src/view/com/feeds/FeedPage.tsx +++ b/src/view/com/feeds/FeedPage.tsx @@ -10,6 +10,7 @@ import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed' import {useOnMainScroll} from 'lib/hooks/useOnMainScroll' import {usePalette} from 'lib/hooks/usePalette' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' +import {useSetMinimalShellMode} from '#/state/shell' import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed' import {ComposeIcon2} from 'lib/icons' import {colors, s} from 'lib/styles' @@ -53,7 +54,8 @@ export function FeedPage({ const queryClient = useQueryClient() const {openComposer} = useComposerControls() const [isScrolledDown, setIsScrolledDown] = React.useState(false) - const [onMainScroll, resetMainScroll] = useOnMainScroll() + const onMainScroll = useOnMainScroll() + const setMinimalShellMode = useSetMinimalShellMode() const {screen, track} = useAnalytics() const headerOffset = useHeaderOffset() const scrollElRef = React.useRef(null) @@ -64,8 +66,8 @@ export function FeedPage({ animated: isNative, offset: -headerOffset, }) - resetMainScroll() - }, [headerOffset, resetMainScroll]) + setMinimalShellMode(false) + }, [headerOffset, setMinimalShellMode]) const onSoftReset = React.useCallback(() => { const isScreenFocused = diff --git a/src/view/screens/Notifications.tsx b/src/view/screens/Notifications.tsx index d13e6aa65a..4b6838aea4 100644 --- a/src/view/screens/Notifications.tsx +++ b/src/view/screens/Notifications.tsx @@ -36,7 +36,7 @@ type Props = NativeStackScreenProps< export function NotificationsScreen({}: Props) { const {_} = useLingui() const setMinimalShellMode = useSetMinimalShellMode() - const [onMainScroll, resetMainScroll] = useOnMainScroll() + const onMainScroll = useOnMainScroll() const [isScrolledDown, setIsScrolledDown] = React.useState(false) const scrollElRef = React.useRef(null) const checkLatestRef = React.useRef<() => void | null>() @@ -52,8 +52,8 @@ export function NotificationsScreen({}: Props) { // = const scrollToTop = React.useCallback(() => { scrollElRef.current?.scrollToOffset({animated: isNative, offset: 0}) - resetMainScroll() - }, [scrollElRef, resetMainScroll]) + setMinimalShellMode(false) + }, [scrollElRef, setMinimalShellMode]) const onPressLoadLatest = React.useCallback(() => { scrollToTop()