diff options
author | dan <dan.abramov@gmail.com> | 2023-11-06 22:30:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-06 22:30:10 +0000 |
commit | d715246e26728ef55408deeb09a3721e39c5031e (patch) | |
tree | afc873d7833c1407c3e154c3132fc849df77dcf1 /src/view/screens/ProfileList.tsx | |
parent | 4c00fc576d66b0a348b4fb13b901a464da64cf37 (diff) | |
download | voidsky-d715246e26728ef55408deeb09a3721e39c5031e.tar.zst |
Fix sticky pager jumps (#1825)
* Defer showing pager content until its header settles * Introduce the concept of headerOnlyHeight * Keep headerOnlyHeight in state, make headerHeight derived * Hide content until *both* header (only) and tabbar are measured * Hide tabbar to read its layout earlier * Give consistent keys to pages
Diffstat (limited to 'src/view/screens/ProfileList.tsx')
-rw-r--r-- | src/view/screens/ProfileList.tsx | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/view/screens/ProfileList.tsx b/src/view/screens/ProfileList.tsx index cfe9c4182..624bea027 100644 --- a/src/view/screens/ProfileList.tsx +++ b/src/view/screens/ProfileList.tsx @@ -165,11 +165,11 @@ export const ProfileListScreenInner = observer( <View style={s.hContentRegion}> <PagerWithHeader items={SECTION_TITLES_CURATE} + isHeaderReady={list.hasLoaded} renderHeader={renderHeader} onCurrentPageSelected={onCurrentPageSelected}> {({onScroll, headerHeight, isScrolledDown}) => ( <FeedSection - key="1" ref={feedSectionRef} feed={feed} onScroll={onScroll} @@ -179,7 +179,6 @@ export const ProfileListScreenInner = observer( )} {({onScroll, headerHeight, isScrolledDown}) => ( <AboutSection - key="2" ref={aboutSectionRef} list={list} descriptionRT={list.descriptionRT} @@ -215,10 +214,10 @@ export const ProfileListScreenInner = observer( <View style={s.hContentRegion}> <PagerWithHeader items={SECTION_TITLES_MOD} + isHeaderReady={list.hasLoaded} renderHeader={renderHeader}> {({onScroll, headerHeight, isScrolledDown}) => ( <AboutSection - key="2" list={list} descriptionRT={list.descriptionRT} creator={list.data ? list.data.creator : undefined} |