From 4ea69b916ec045812d0749d80dc37c0c45ab8bdd Mon Sep 17 00:00:00 2001 From: DIYgod Date: Fri, 4 Apr 2025 13:40:34 +0800 Subject: [PATCH] feat(mobile): header hideable ele scroll threshold --- .../src/components/layouts/header/NavigationHeader.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/mobile/src/components/layouts/header/NavigationHeader.tsx b/apps/mobile/src/components/layouts/header/NavigationHeader.tsx index cd169c219..1146c1584 100644 --- a/apps/mobile/src/components/layouts/header/NavigationHeader.tsx +++ b/apps/mobile/src/components/layouts/header/NavigationHeader.tsx @@ -61,6 +61,7 @@ export interface NavigationHeaderRawProps { hideableBottomHeight?: number } +const HideableThreshold = 20 const useHideableBottom = ( enable: boolean, originalDefaultHeaderHeight: number, @@ -94,9 +95,9 @@ const useHideableBottom = ( if (value <= 100) { largeHeaderHeight.value = withTiming(largeDefaultHeaderHeight) - } else if (value > lastScrollY.current) { + } else if (value > lastScrollY.current + HideableThreshold) { largeHeaderHeight.value = withTiming(originalDefaultHeaderHeight) - } else { + } else if (value < lastScrollY.current - HideableThreshold) { largeHeaderHeight.value = withTiming(largeDefaultHeaderHeight) } lastScrollY.current = value